Top Banner
Quality assurance in practice @tatarbj Tatar Balazs Janos
52

Quality assurance in practice

Jan 06, 2017

Download

Technology

Balázs Tatár
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: Quality assurance in practice

Quality assurance in practice

@tatarbjTatar Balazs Janos

Page 2: Quality assurance in practice

Quality Assurance in practice

TATAR Balazs Janos European Commission, DIGIT Milan, Drupal DevDays - 2016

Page 3: Quality assurance in practice

Who am I?

• Tatar Balazs Janos

• Hungarian, lives in Brussels

Technical Lead & QA specialist @ EC-DIGIT

Page 4: Quality assurance in practice
Page 5: Quality assurance in practice

Evolution of this session

• No. 0 – Brussels, test for the colleagues • No. 1 – Vienna, Drupalcamp • No. 2 – Brussels, Drupal User Group • No. 3 – Brussels, EC DIGIT for NextEuropa users • No. 4 – Brussels, Drupal@EC (by Mathias Selleslach) • No. 5 – Milan, DrupalDevDays

Page 6: Quality assurance in practice
Page 7: Quality assurance in practice

Quality Assurance

• "A way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers."

• Wikipedia

• "The process by which subcontracted projects (features and sub-themes) are being validated to comply to the FPFIS platform."

• European Commission, DIGIT, FPFIS Team

Page 8: Quality assurance in practice
Page 9: Quality assurance in practice
Page 10: Quality assurance in practice
Page 11: Quality assurance in practice
Page 12: Quality assurance in practice
Page 13: Quality assurance in practice
Page 14: Quality assurance in practice

Quality Assurance

• Small steps to improve the quality of your project:

• standards, • code documentation, • project management softwares, • clear workflows (not only agile).

Page 15: Quality assurance in practice
Page 16: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 17: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 18: Quality assurance in practice
Page 19: Quality assurance in practice

function important_function($parameter) {  $variable = is_string($parameter);  switch ($variable) {    case TRUE:      // blablabla code      break;    case FALSE:      // blablabla code      break;    default:      // blablabla code...  }}

Page 20: Quality assurance in practice

function important_function($parameter) {  $variable = is_string($parameter);  if ($variable === TRUE) {    // blablabla code  }  elseif ($variable === FALSE) {    // blablabla code  }  else {    // blablabla code...  }}

Page 21: Quality assurance in practice
Page 22: Quality assurance in practice

• (Yes, he removed it.)

Page 23: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 24: Quality assurance in practice
Page 25: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 26: Quality assurance in practice
Page 27: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 28: Quality assurance in practice
Page 29: Quality assurance in practice
Page 30: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 31: Quality assurance in practice
Page 32: Quality assurance in practice
Page 33: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 34: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 35: Quality assurance in practice
Page 36: Quality assurance in practice

QA tools

Code Quality PHP Mess detector PHP Copy/Paste detector PHPdox PHP Code_sniffer and Code Beautifier and Fixer PHPMetrics

Testing PHPUnit (Simpletest) Behat (Gherkin)

Page 37: Quality assurance in practice
Page 38: Quality assurance in practice
Page 39: Quality assurance in practice

QA tools

• - You Focus, separate the issues to smaller units Human part Pair/peer programming Learn and teach

Page 40: Quality assurance in practice
Page 41: Quality assurance in practice

Next Europa WCMS

• - European Commission • - Drupal 7 – multisite • - Around 130 subsites (different complexity) • - Platform team • - Maintenance/QA team

Page 42: Quality assurance in practice

Next Europa – Maintenance Team

• - WYSIWYD • - Standardised QA process (semi automatized) • - Support to the subsites • - Support to the platform • - Improvements for the subsites

Page 43: Quality assurance in practice

Next Europa – FPFIS Board

Page 44: Quality assurance in practice

Subsite Starterkit (SSK)

• Previously Atlassian Stash • Migration to github • Automatic code quality checks • Special EC rules • Semi automatic deployment procedure

Page 45: Quality assurance in practice

And some other tools in da house…

Page 46: Quality assurance in practice
Page 47: Quality assurance in practice

Drupal 8

• Clean up issues based on phpcs&cbf

• Coder module is not a module anymore

• DrupalCI (Modernizing Testbot Initiative)

Page 48: Quality assurance in practice
Page 49: Quality assurance in practice

Thank you!

• TATAR Balazs Janos • European Commission, DIGIT • Brussels, Belgium • [email protected] • @tatarbj

Page 51: Quality assurance in practice

Links #2

• Drupal echidna initiative • https://www.drupal.org/project/issues/search?

issue_tags=coding%20standards • https://www.drupal.org/node/2571965

• Other links • https://www.drupal.org/node/144172 • https://www.drupal.org/project/coder • https://www.drupal.org/coding-standards

Page 52: Quality assurance in practice