QA on drupal projects
-
Upload
la-drupalera -
Category
Technology
-
view
575 -
download
0
Transcript of QA on drupal projects
About me
Alejandro Gómez - @agomezmoron
Loving my work at @LaDrupalera by @Emergya
Lecturer at @pablodeolavide University
QA & Tech lover (Selenium, Java, Drupal, Ionic, AngularJS, Gulp…)
I am passionate about challenges and I hate repeating processes!
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
What QA really meansQA on Drupal projects
● Commitment
● Continuous process
● Definition (scope, DoD, workflow)
● Standards (code style, documentation, etc)
● Testing (to avoid defects)
● Delivering
● Validation (Have we done what we had to?)
@agomezmoron
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Type of tests to be applied
17
QA on Drupal projects
Unit Tests guarantee the quality of the Drupal core/modules.
Functional tests are split into different suites:
● Acceptance/Smoke: Guarantees the quality of the core of the project.
● Regression: Guarantees the quality of the entire app.
● Progression: Guarantees the quality of the current development
(release).
Performance tests guarantee the system availability.
Responsive tests guarantee the defined responsive rules.
@agomezmoron
Type of tests to be applied
18
QA on Drupal projects
Unit Tests guarantee the quality of the Drupal core/modules.
Functional tests are split into different suites:
● Acceptance/Smoke: Guarantees the quality of the core of the project.
● Regression: Guarantees the quality of the entire app.
● Progression: Guarantees the quality of the current development
(release).
Performance tests guarantee the system availability.
Responsive tests guarantee the defined responsive rules.
@agomezmoron
Type of tests to be applied
19
When will I know the tests are enough?
QA on Drupal projects
@agomezmoron
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Functional testing through Seleniume. Continuous Delivery with Docker
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Continuous Delivery with Docker (II)
30
QA on Drupal projects
Based on a docker Ubuntu 14:04 TLS (fork of Wouter Admiraal’s):● Apache 2.4● MySQL 5.5● PHP 5.6● Drush 7 or latest release of Drupal Console.● Drupal 7.44 (7.x) or 8.1.2 (8.x)● Composer ● PHPMyAdmin
Docker version >= 1.9!!
@agomezmoron
Continuous Delivery with Docker (IV)
33
QA on Drupal projects
git clone https://github.com/agomezmoron/docker-drupal.git
cd drupal-7
docker build --build-arg MYSQL_ROOT_PASSWORD=admin, DRUPAL_ADMIN_PASSWORD=admin,SSH_ROOT_PASSWORD=root, DRUPAL_VERSION=7.44 -t yourname/drupal7 .
cd drupal-8
docker build --build-arg MYSQL_ROOT_PASSWORD=admin, DRUPAL_ADMIN_PASSWORD=admin,SSH_ROOT_PASSWORD=root, DRUPAL_VERSION=8.1.2 -t yourname/drupal8 .
Docker version >= 1.9!!
@agomezmoron
Roadmap1. What QA really means2. Integrating QA teams into Drupal teams: The
team3. Type of tests to be applied4. Continuous Integration
a. Code Inspectionb. Unit testingc. Performance testingd. Continuous Delivery with Dockere. Functional testing through Selenium
Functional testing through Selenium
36
QA on Drupal projects
● Functional tests
○ Acceptance
○ Progression
○ Regression
● Testing the app as a user does it
@agomezmoron
Conclusions
39
● If someone finds bugs, awesome. Do not hide the bugs from your customers.
● Fixing bugs should be one of your priorities!
● Code styling is as important as passing tests!
QA on Drupal projects
@agomezmoron
Conclusions
40
● Create a QA culture in the teams.
● QA is more than testing: Commitment, Code style, Continuous
Integration, Unit Testing, Functional testing, Continous Delivery...
QA on Drupal projects
@briansolis
@agomezmoron