Top Banner
QA on Drupal projects Alejandro Gómez @agomezmoron
46

QA on drupal projects

Apr 09, 2017

Download

Technology

La Drupalera
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: QA on drupal projects

QA on Drupal projects

Alejandro Gómez @agomezmoron

Page 2: 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!

Page 3: QA on drupal projects

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

Page 4: QA on drupal projects

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

Page 5: QA on drupal projects

What QA really meansQA on Drupal projects

● Different approaches

@agomezmoron

Page 6: QA on drupal projects

What QA really meansQA on Drupal projects

● What almost everyone thinks

@agomezmoron

Page 7: QA on drupal projects

What QA really meansQA on Drupal projects

● What a small group of people thinks

@agomezmoron

Page 8: QA on drupal projects

What QA really meansQA on Drupal projects

@agomezmoron

Page 9: QA on drupal projects

What QA really meansQA on Drupal projects

@agomezmoron

Page 10: QA on drupal projects

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

Page 11: QA on drupal projects

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

Page 12: QA on drupal projects

12

Integrating QA teams into Drupal teams: The teamQA on Drupal projects

@agomezmoron

Page 13: QA on drupal projects

13

Integrating QA teams into Drupal teams: The teamQA on Drupal projects

@agomezmoron

Page 14: QA on drupal projects

14

Integrating QA teams into Drupal teams: The teamQA on Drupal projects

@agomezmoron

Page 15: QA on drupal projects

Integrating QA teams into Drupal teams: The teamQA on Drupal projects

QA

Page 16: QA on drupal projects

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

Page 17: QA on drupal projects

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

Page 18: QA on drupal projects

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

Page 19: QA on drupal projects

Type of tests to be applied

19

When will I know the tests are enough?

QA on Drupal projects

@agomezmoron

Page 20: QA on drupal projects

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

Page 21: QA on drupal projects

Continuous Integration

21

QA on Drupal projects

Page 22: QA on drupal projects

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

Page 23: QA on drupal projects

CI - Code Inspection

23

QA on Drupal projects

@agomezmoron

Page 24: QA on drupal projects

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

Page 25: QA on drupal projects

CI - Unit Testing

25

QA on Drupal projects

@agomezmoron

Page 26: QA on drupal projects

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

Page 27: QA on drupal projects

27

QA on Drupal projects

CI - Performance testing

@agomezmoron

Page 28: QA on drupal projects

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

Page 29: QA on drupal projects

Continuous Delivery with Docker (I)

29

QA on Drupal projects

@agomezmoron

Page 30: QA on drupal projects

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

Page 31: QA on drupal projects

Continuous Delivery with Docker (III)

31

QA on Drupal projects

@agomezmoron

Docker version >= 1.9!!

Page 32: QA on drupal projects

Continuous Delivery with Docker (III)

32

QA on Drupal projects

@agomezmoron

Docker version >= 1.9!!

Page 33: QA on drupal projects

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

Page 34: QA on drupal projects

Docker also for Selenium

34

QA on Drupal projects

@agomezmoron

Page 35: QA on drupal projects

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

Page 36: QA on drupal projects

Functional testing through Selenium

36

QA on Drupal projects

● Functional tests

○ Acceptance

○ Progression

○ Regression

● Testing the app as a user does it

@agomezmoron

Page 37: QA on drupal projects

37

We came to play...QA on Drupal projects

@agomezmoron

Page 38: QA on drupal projects

Workflow

38

QA on Drupal projects

@agomezmoron

Page 39: QA on drupal projects

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

Page 40: QA on drupal projects

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

Page 41: QA on drupal projects

Conclusions

41

QA on Drupal projects

@agomezmoron

Page 42: QA on drupal projects

Conclusions

42

QA on Drupal projects

@agomezmoron

Page 43: QA on drupal projects

Thanks to them: They are the true core!

43

QA on Drupal projects

@agomezmoron

Page 44: QA on drupal projects

44

Questions?QA on Drupal projects

@agomezmoron

Page 45: QA on drupal projects

45

Thanks!QA on Drupal projects

@agomezmoron

Page 46: QA on drupal projects