quality assurance in practice

52
Quality assurance in practice @tatarbj Tatar Balazs Janos

Upload: balazs-tatar

Post on 06-Jan-2017

123 views

Category:

Technology


1 download

TRANSCRIPT

Quality assurance in practice

@tatarbjTatar Balazs Janos

Quality Assurance in practice

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

Who am I?

• Tatar Balazs Janos

• Hungarian, lives in Brussels

Technical Lead & QA specialist @ EC-DIGIT

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

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

Quality Assurance

• Small steps to improve the quality of your project:

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

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)

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)

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

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

• (Yes, he removed it.)

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)

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)

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)

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)

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)

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)

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)

QA tools

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

Next Europa WCMS

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

Next Europa – Maintenance Team

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

Next Europa – FPFIS Board

Subsite Starterkit (SSK)

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

And some other tools in da house…

Drupal 8

• Clean up issues based on phpcs&cbf

• Coder module is not a module anymore

• DrupalCI (Modernizing Testbot Initiative)

Thank you!

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

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