SlideShare a Scribd company logo
Quality Assurance in practice
TATAR Balazs Janos
European Commission, DIGIT
Brussels Drupal Meetup
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).
Next Europa WCMS
• - European Commission
• - Drupal 7 – multisite
• - Around 80 subsites (different complexity)
• - Core team and Maintenance Team
Next Europa – Maintenance Team
• - WYSIWYD
• - Standardised QA process
• - Support to the subsites
• - Support to the platform
• - Smaller improvements for the subsites
Next Europa – FPFIS Board
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
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
QA tools
• - You
Focus, separate the issues to smaller units
Human part
Pair/peer programming
Learn and teach
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
• tatarbj@gmail.com
• @tatarbj
Links #1
QA tools
http://phpmd.org/
https://github.com/sebastianbergmann/phpcpd
http://phpdox.de/
https://github.com/squizlabs/PHP_CodeSniffer
http://www.phpmetrics.org/
Testing
https://phpunit.de/
http://docs.behat.org/en/v2.5/
Links #2
• Drupal echidna initiative
• https://www.drupal.org/project/issues/search?iss
ue_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

More Related Content

Viewers also liked

Herangel chap 5
Herangel chap 5Herangel chap 5
Herangel chap 5
ChanPear
 
Materiales didácticos para clases de Estadística
Materiales didácticos para clases de EstadísticaMateriales didácticos para clases de Estadística
Materiales didácticos para clases de Estadística
AUGEAmerica
 
HEA 477 Research Methods
HEA 477 Research MethodsHEA 477 Research Methods
HEA 477 Research Methods
Jamia-lyn Hope
 
Heat and thermodynamics
Heat and thermodynamicsHeat and thermodynamics
Heat and thermodynamics
EhtishamHaral
 
Mẫu Thiết kế Brochure công ty IMPAC tiếng Anh
Mẫu Thiết kế Brochure công ty IMPAC tiếng AnhMẫu Thiết kế Brochure công ty IMPAC tiếng Anh
Mẫu Thiết kế Brochure công ty IMPAC tiếng Anh
SaoKim.com.vn
 
Straight trucks
Straight trucksStraight trucks
Straight trucks
jennny13
 
Principais formas de relevo e os Relevos do Brasil.
Principais formas de relevo e os Relevos do Brasil.Principais formas de relevo e os Relevos do Brasil.
Principais formas de relevo e os Relevos do Brasil.
Lara Lídia
 
The Mobile Ecosystem_Michael Hanley
The Mobile Ecosystem_Michael HanleyThe Mobile Ecosystem_Michael Hanley
The Mobile Ecosystem_Michael Hanley
Sara Quinn
 
Sindrome de Boerhaave - Maria Pasquel
Sindrome de Boerhaave - Maria PasquelSindrome de Boerhaave - Maria Pasquel
Sindrome de Boerhaave - Maria Pasquel
Loli Pasquel Rubio
 
DUREX in India: Sex - A Social Stigma & Taboo in India
DUREX in India: Sex - A Social Stigma & Taboo in IndiaDUREX in India: Sex - A Social Stigma & Taboo in India
DUREX in India: Sex - A Social Stigma & Taboo in India
Harsh Bohra
 
Formatos 5ta cte
Formatos 5ta cteFormatos 5ta cte
Formatos 5ta cte
Xichetl Álvarez
 
положение об оу нпо
положение об оу нпоположение об оу нпо
положение об оу нпоDemanessa
 
INSIGHTEC for STARTUP NATION
INSIGHTEC for STARTUP NATIONINSIGHTEC for STARTUP NATION
INSIGHTEC for STARTUP NATION
INSIGHTEC Ltd
 
Danh ngon ve tien
Danh ngon ve tienDanh ngon ve tien
Danh ngon ve tien
Tienthu Pham
 
Java training courses
Java training coursesJava training courses
Java training courses
msudan92
 
Askiseis euaisthitopoiisis sto_sep (1)
Askiseis euaisthitopoiisis sto_sep (1)Askiseis euaisthitopoiisis sto_sep (1)
Askiseis euaisthitopoiisis sto_sep (1)
Konstantinos Kotsidis
 
Snsの楽しみ方
Snsの楽しみ方Snsの楽しみ方
Snsの楽しみ方Hitoshi Naya
 
MOETS Club Class Events
MOETS Club Class EventsMOETS Club Class Events
MOETS Club Class Events
Rahil Bindra
 
Annual-Report-RTB-2012
Annual-Report-RTB-2012Annual-Report-RTB-2012
Annual-Report-RTB-2012
Luis Augusto Becerra Lopez-Lavalle
 

Viewers also liked (19)

Herangel chap 5
Herangel chap 5Herangel chap 5
Herangel chap 5
 
Materiales didácticos para clases de Estadística
Materiales didácticos para clases de EstadísticaMateriales didácticos para clases de Estadística
Materiales didácticos para clases de Estadística
 
HEA 477 Research Methods
HEA 477 Research MethodsHEA 477 Research Methods
HEA 477 Research Methods
 
Heat and thermodynamics
Heat and thermodynamicsHeat and thermodynamics
Heat and thermodynamics
 
Mẫu Thiết kế Brochure công ty IMPAC tiếng Anh
Mẫu Thiết kế Brochure công ty IMPAC tiếng AnhMẫu Thiết kế Brochure công ty IMPAC tiếng Anh
Mẫu Thiết kế Brochure công ty IMPAC tiếng Anh
 
Straight trucks
Straight trucksStraight trucks
Straight trucks
 
Principais formas de relevo e os Relevos do Brasil.
Principais formas de relevo e os Relevos do Brasil.Principais formas de relevo e os Relevos do Brasil.
Principais formas de relevo e os Relevos do Brasil.
 
The Mobile Ecosystem_Michael Hanley
The Mobile Ecosystem_Michael HanleyThe Mobile Ecosystem_Michael Hanley
The Mobile Ecosystem_Michael Hanley
 
Sindrome de Boerhaave - Maria Pasquel
Sindrome de Boerhaave - Maria PasquelSindrome de Boerhaave - Maria Pasquel
Sindrome de Boerhaave - Maria Pasquel
 
DUREX in India: Sex - A Social Stigma & Taboo in India
DUREX in India: Sex - A Social Stigma & Taboo in IndiaDUREX in India: Sex - A Social Stigma & Taboo in India
DUREX in India: Sex - A Social Stigma & Taboo in India
 
Formatos 5ta cte
Formatos 5ta cteFormatos 5ta cte
Formatos 5ta cte
 
положение об оу нпо
положение об оу нпоположение об оу нпо
положение об оу нпо
 
INSIGHTEC for STARTUP NATION
INSIGHTEC for STARTUP NATIONINSIGHTEC for STARTUP NATION
INSIGHTEC for STARTUP NATION
 
Danh ngon ve tien
Danh ngon ve tienDanh ngon ve tien
Danh ngon ve tien
 
Java training courses
Java training coursesJava training courses
Java training courses
 
Askiseis euaisthitopoiisis sto_sep (1)
Askiseis euaisthitopoiisis sto_sep (1)Askiseis euaisthitopoiisis sto_sep (1)
Askiseis euaisthitopoiisis sto_sep (1)
 
Snsの楽しみ方
Snsの楽しみ方Snsの楽しみ方
Snsの楽しみ方
 
MOETS Club Class Events
MOETS Club Class EventsMOETS Club Class Events
MOETS Club Class Events
 
Annual-Report-RTB-2012
Annual-Report-RTB-2012Annual-Report-RTB-2012
Annual-Report-RTB-2012
 

Similar to Quality assurance in practice - brussels drupal meetup

Quality assurance in practice
Quality assurance in practiceQuality assurance in practice
Quality assurance in practice
Balázs Tatár
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
Ad van der Veer
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
Chun-Yu Tseng
 
Automate Thyself
Automate ThyselfAutomate Thyself
Automate Thyself
Ortus Solutions, Corp
 
Lads Tech Company Profile V4.0
Lads Tech Company Profile V4.0Lads Tech Company Profile V4.0
Lads Tech Company Profile V4.0
Resident Meer
 
20 PHP Static Analysis and Documentation Generators #burningkeyboards
20 PHP Static Analysis and Documentation Generators #burningkeyboards20 PHP Static Analysis and Documentation Generators #burningkeyboards
20 PHP Static Analysis and Documentation Generators #burningkeyboards
Denis Ristic
 
Developing PHP Applications Faster
Developing PHP Applications FasterDeveloping PHP Applications Faster
Developing PHP Applications Faster
Adam Culp
 
SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ? SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ?
Geeks Anonymes
 
Tool up your lamp stack
Tool up your lamp stackTool up your lamp stack
Tool up your lamp stack
AgileOnTheBeach
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP Stack
Lorna Mitchell
 
Forward5 Auxis VMware
Forward5 Auxis VMwareForward5 Auxis VMware
Forward5 Auxis VMware
Auxis Consulting & Outsourcing
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Perfecto by Perforce
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
Agile Montréal
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
gaoliang641
 
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
Francesco Corti
 
Quality assurance of large c++ projects
Quality assurance of large c++ projectsQuality assurance of large c++ projects
Quality assurance of large c++ projects
corehard_by
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Andrew Yatsenko
 
rTest, a Testing Tool for FME Workspaces
rTest, a Testing Tool for FME WorkspacesrTest, a Testing Tool for FME Workspaces
rTest, a Testing Tool for FME Workspaces
Safe Software
 
Matteo bordin tqs_2014_web
Matteo bordin tqs_2014_webMatteo bordin tqs_2014_web
Matteo bordin tqs_2014_web
matteobordinadacore
 

Similar to Quality assurance in practice - brussels drupal meetup (20)

Quality assurance in practice
Quality assurance in practiceQuality assurance in practice
Quality assurance in practice
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
 
Automate Thyself
Automate ThyselfAutomate Thyself
Automate Thyself
 
Lads Tech Company Profile V4.0
Lads Tech Company Profile V4.0Lads Tech Company Profile V4.0
Lads Tech Company Profile V4.0
 
20 PHP Static Analysis and Documentation Generators #burningkeyboards
20 PHP Static Analysis and Documentation Generators #burningkeyboards20 PHP Static Analysis and Documentation Generators #burningkeyboards
20 PHP Static Analysis and Documentation Generators #burningkeyboards
 
Developing PHP Applications Faster
Developing PHP Applications FasterDeveloping PHP Applications Faster
Developing PHP Applications Faster
 
SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ? SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ?
 
Tool up your lamp stack
Tool up your lamp stackTool up your lamp stack
Tool up your lamp stack
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP Stack
 
Forward5 Auxis VMware
Forward5 Auxis VMwareForward5 Auxis VMware
Forward5 Auxis VMware
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...How Spotify reaches the 80%+ of satisfaction of the techies making developers...
How Spotify reaches the 80%+ of satisfaction of the techies making developers...
 
Quality assurance of large c++ projects
Quality assurance of large c++ projectsQuality assurance of large c++ projects
Quality assurance of large c++ projects
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
 
rTest, a Testing Tool for FME Workspaces
rTest, a Testing Tool for FME WorkspacesrTest, a Testing Tool for FME Workspaces
rTest, a Testing Tool for FME Workspaces
 
Matteo bordin tqs_2014_web
Matteo bordin tqs_2014_webMatteo bordin tqs_2014_web
Matteo bordin tqs_2014_web
 

More from Balázs Tatár

How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019
Balázs Tatár
 
Software Development Weaknesses - SecOSdays Sofia, 2019
Software Development Weaknesses - SecOSdays Sofia, 2019Software Development Weaknesses - SecOSdays Sofia, 2019
Software Development Weaknesses - SecOSdays Sofia, 2019
Balázs Tatár
 
Security Awareness for Open Source Web Applications
Security Awareness for Open Source Web ApplicationsSecurity Awareness for Open Source Web Applications
Security Awareness for Open Source Web Applications
Balázs Tatár
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Balázs Tatár
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Balázs Tatár
 
A bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability ManagementA bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability Management
Balázs Tatár
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
Balázs Tatár
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019
Balázs Tatár
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019
Balázs Tatár
 
DrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slidesDrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slides
Balázs Tatár
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
Balázs Tatár
 
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Balázs Tatár
 
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Balázs Tatár
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Balázs Tatár
 
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Balázs Tatár
 
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, GermanyLet's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Balázs Tatár
 

More from Balázs Tatár (20)

How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019How To Have Fun in Open Source - CMS Garden Unconference 2019
How To Have Fun in Open Source - CMS Garden Unconference 2019
 
Software Development Weaknesses - SecOSdays Sofia, 2019
Software Development Weaknesses - SecOSdays Sofia, 2019Software Development Weaknesses - SecOSdays Sofia, 2019
Software Development Weaknesses - SecOSdays Sofia, 2019
 
Security Awareness for Open Source Web Applications
Security Awareness for Open Source Web ApplicationsSecurity Awareness for Open Source Web Applications
Security Awareness for Open Source Web Applications
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019
 
A bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability ManagementA bug's life - Decoupled Drupal Security and Vulnerability Management
A bug's life - Decoupled Drupal Security and Vulnerability Management
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019
 
A bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability ManagementA bug's life - Drupal Application Security and Vulnerability Management
A bug's life - Drupal Application Security and Vulnerability Management
 
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019Let's write secure Drupal code! - DrupalCamp Kyiv 2019
Let's write secure Drupal code! - DrupalCamp Kyiv 2019
 
Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019Let's write secure Drupal code! - DrupalCamp Belarus 2019
Let's write secure Drupal code! - DrupalCamp Belarus 2019
 
Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019Let's write secure Drupal code! - DrupalCamp Spain 2019
Let's write secure Drupal code! - DrupalCamp Spain 2019
 
DrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slidesDrupalCon Seattle 2019 - Mentoring Booth slides
DrupalCon Seattle 2019 - Mentoring Booth slides
 
Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019Let's write secure Drupal code! Drupal MountainCamp 2019
Let's write secure Drupal code! Drupal MountainCamp 2019
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
 
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
Everything You Always Wanted to Know About Drupal Security* (*But Were Afraid...
 
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
Everything You Always Wanted to Know About Drupal Security (*But Were Afraid ...
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
 
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
Mentoring slides - Drupal Europe, Darmstadt, Germany 2018
 
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, GermanyLet's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 

Quality assurance in practice - brussels drupal meetup

  • 1. Quality Assurance in practice TATAR Balazs Janos European Commission, DIGIT Brussels Drupal Meetup
  • 2.
  • 3. 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
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Quality Assurance • Small steps to improve the quality of your project: • standards, • code documentation, • project management softwares, • clear workflows (not only agile).
  • 11. Next Europa WCMS • - European Commission • - Drupal 7 – multisite • - Around 80 subsites (different complexity) • - Core team and Maintenance Team
  • 12. Next Europa – Maintenance Team • - WYSIWYD • - Standardised QA process • - Support to the subsites • - Support to the platform • - Smaller improvements for the subsites
  • 13. Next Europa – FPFIS Board
  • 14. 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)
  • 15. 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)
  • 16.
  • 17. 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)
  • 18.
  • 19. 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)
  • 20.
  • 21. 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)
  • 22.
  • 23.
  • 24. 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)
  • 25.
  • 26. 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)
  • 27. 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)
  • 28.
  • 29. 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)
  • 30.
  • 31. QA tools • - You Focus, separate the issues to smaller units Human part Pair/peer programming Learn and teach
  • 32.
  • 33. QA tools • - You Focus, separate the issues to smaller units Human part Pair/peer programming Learn and teach
  • 34. Drupal 8 • Clean up issues based on phpcs&cbf • Coder module is not a module anymore • DrupalCI (Modernizing Testbot Initiative)
  • 35.
  • 36. Thank you! • TATAR Balazs Janos • European Commission, DIGIT • Brussels, Belgium • tatarbj@gmail.com • @tatarbj
  • 38. Links #2 • Drupal echidna initiative • https://www.drupal.org/project/issues/search?iss ue_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

Editor's Notes

  1. Speak about me in 2-3 sentences (name, workplace, responsabilities) Continuous improvement on this presentation, things are coming in and out, lot of small changes like in a QA procedure. In the commission a lot of people come from different countries with many many backgrounds – we all are Europeans, that's why we need to understand and help each other.
  2. Wikipedia says it generally. Need to focus on drupal and our solutions in EC. Directorate General for Informatics Flexible Platform for Internet Services
  3. Project managers hate us because they cannot count with the quality of their developers – and we will be in crosshairs (célkereszt). In the short term they really heat us, because we BLOCK them and can block the deadlines.
  4. Developers hate us, because they don’t like to focus on the quality, just deliver what PMs asked. When we report the problems what they did, they have to fix those. Short term they really hate us.
  5. The client also hates us because of the delays.
  6. Long term goals: do not worry, they will realise they actually love you and your reports.
  7. Focus on the pros, but not forget to mention the cons! Start with small steps, it will increase the quality of the software what you make without huge time investment. Standards: coding standards – easily adoptable: good and well settled IDE (phpstorm, netbeans …) Code documentations: mention your ticket in code, header phpdoc documentations, where the complexity of the code is getting big put some explanation, or at most refactor it. Project management softwares: Atlassian softwares (jira, confluence) use it or forget the success (in a one man business as well!) Clear workflows: no need to use agile if it's not fit to your project. BUT there should be clear definied steps. Ours: todo list, build&fix, QA, functional test, released/closed.
  8. What you see is what you deliver: our workflow has to be transparent and objective. We check custom features, custom themes, contrib modules to use in a subsite (but not the quality of the contrib!)
  9. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  10. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  11. Php mess detector - scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code.
  12. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  13. Php copy/paste detector
  14. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  15. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  16. phpcs
  17. phpcbf
  18. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  19. Phpmetrics
  20. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  21. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  22. PHPUnit
  23. Phpunit/simpletest – unit testing Behat – behaviour driven testing Php mess detector – scan for possible bugs, suboptimal code, overcomplicated expression and my favourite one: dead code. Php copy/paste detector – duplicated code Phpdox – documentation generator phpcs&cbf Phpmetrics – complexity, volume, oo, maintainability, halstead complexity measures.
  24. Behat
  25. Focus: try to be focus when you need to write code and when you need to check code! Human part: no one is perfect, everyone can take mistakes, be professional and understanding Pair programming: two developers work on the same workstation. One is the driver, the other is observer, pointer, navigator. They switch roles frequently. Learn and teach: a team can be big with juniors and seniors, experts. It is possible when an expert learns something from a junior, be open mind and let your collagues show you their practices.
  26. Focus: try to be focus when you need to write code and when you need to check code! Human part: no one is perfect, everyone can take mistakes, be professional and understanding Pair programming: two developers work on the same workstation. One is the driver, the other is observer, pointer, navigator. They switch roles frequently. Learn and teach: a team can be big with juniors and seniors, experts. It is possible when an expert learns something from a junior, be open mind and let your collagues show you their practices.
  27. Focus: try to be focus when you need to write code and when you need to check code! Human part: no one is perfect, everyone can take mistakes, be professional and understanding Pair programming: two developers work on the same workstation. One is the driver, the other is observer, pointer, navigator. They switch roles frequently. Learn and teach: a team can be big with juniors and seniors, experts. It is possible when an expert learns something from a junior, be open mind and let your collagues show you their practices.
  28. Cleanup issues on d.org issue tracker, Pieter Frenssen and i started to discuss about it during our daily work and made progress on the drupal community. Please join us! Coder module (Klausi) is not a simple module anymore, interface for checking the coding standards and make reports about your project, help to clean it up. DrupalCI sub-project is responsible for the test runners being used on the infrastructure. This project's repository contain's the project's docker container definitions, and a Symfony Console application which executes the actual testing process itself.