Did you ever yell reading a bug report as dev ? Did you ever scream finding a trivial technical bug as a tester ? These slides gives a return of experience on the good collaboration between developpers, testers ans quality assurance
3. 3
ABOUT STACK LABS
+20 passionate tech
experts
Cloud & Big data pure
player
We invest in R&D & tech
watch
We pitch & train on tech
topics
Our cloud partners :
+20 projects in cloud & massive
processing context
4. 4
Clément DUFFAU
PhD., Lead DevOps
@clement0210
clement.duffau@stack-labs.com
Automation, verification & validation,
assurance quality, safety
About me !
14. 14
Root cause analysis - Feedbacks from colleagues
“Testing/QA? Not part of my job description …” ⇒ Mindset issue
“No budget to test” ⇒ Short-term vision issue
“Specs are blurry, we don’t understand what we need to test/document!” ⇒ Process issue
“Testing is a bottomless pit” ⇒ Tools issue
20. 20
● Integrate all the stakeholders
○ Not just a matter for Product/Business Owner
○ From Devs to Ops issue
○ Need to be understood by everyone before
● Studies show the importance to reduce to a specific dictionary the usable words to write requirements¹
○ Eliminate synonym (Fog)
○ Focus on business tag words
○ Reduce linking keywords
● Use semantic analysis tools (SEMIOS², …) to reduce redundancy and ambiguity in a set of requirements
1: Linguistique et Exigences, Anne Condamines, Maxime Warnier (2018)
2: Industrial Requirements Classification for Redundancy and Inconsistency Detection in SEMIOS, Manel Mezghani, Juyeon Kang, Florence Sèdes (2018)
Specifications : tips, tools and feedbacks
21. 21
Specifications : tips, tools and feedbacks
● Use requirements as the baseline to refine in task development,
test case, requirement coverage, …
● Use an issue manager to trace requirements AND the refining link
to task development, test case, …
Application of Graph Theory to Requirements Traceability, Sam Brown
23. 23
Tooling the code !
● Code is the starting point for :
○ Testing ⇒ coverage of unit test
○ QA ⇒ Code review documents, code quality metrics
● Versioning is not just about storing code
○ Traceability
○ Trigger tools
○ Documentation
⇒ Use it to store what devs need and trace back what others need
● Long manual tasks executed twice ⇒ Automation
25. 25
Design/Development : tips, tools and feedbacks
● Write Architectural Decision Record linked to requirements and store it with the code
● Define a commit message convention ¹
● Annotate the unit tests with requirements
● Continuous Integration tools cans report KPI (code coverage by tests, code quality, …)
● Store code review minutes in Wiki pages
1 : https://blog.stack-labs.com/code/git_perfect_commit_message/
27. 27
A blurry border in Verification & Validation
Verification ⇒ Develop A good product
Validation ⇒ Develop THE good product
Testing is not about doing all V&V activities , it is about functional ! Dev is part of the business with V&V !
28. 28
Testing : tips, tools and feedbacks
● Integrate Testing unit in the daily meetings/iteration retrospective of the dev team(s)
● Mix the testing teams with functional background and technical background ¹
● Keep an automation engineer in the testing team
● Trace your activities in a dedicated tools (Jazz, XRay)
1: https://blog.stack-labs.com/code/why_writing_tests/
29. 29
Testing : tips, tools and feedbacks
● Use testing framework to bridge the gap with the dev team(s) (Cucumber, …) or develop our own (Domain Specific
Languages)
● Use our own templates to report bugs
● Create synergy between dev teams
● Avoid global meetings when tools do the stuff
○ (ex : bug reviews to prioritize them → Priority in the dedicated field on the issue tracker + mails)
32. 32
Justification Diagram
● From interlated textual QA documentation to graph
visualization ¹
● State of the art completeness mechanism ²
● Analysis of impact of changes
1. Validation, accreditation or certification: a new kind of diagram to
provide, Thomas Polacsek (2016)
2. Justification Factory: de l'élicitation d'exigences de justification
jusqu'à leur production en continu, Clément Duffau (2018)
33. 33
QA : tips, tools and feedbacks
● Study different tools for Quality Management System (QMS) (Windchill, …)
● Do not use QMS as a day-to-day tool for testing and dev team
● Integrate others stakeholders in the definition of QA process
● Risk management must be iterative
● Propose documents template to testers and devs
● Automate retrieving artifacts from delivery process from testing and dev tools as much as possible
34. 34
How is in charge ?
Need teams guru to lead these transversal topics to :
● Contextualize the good practices
● Set process and tools
● Automate a step further the state of the art
● Follow activities in daily basis these topics
● Interact with other gurus
38. 38
Continuous Integration integrated QA
Towards embedded system agile development challenging
verification, validation and accreditation: Application in a
healthcare company, Clément Duffau, Bartosz Grabiec, Mireille
Blay-Fornarino (2017)
39. 39
Feedbacks
● 4 years and 3 projects to migrate from V cycle to Agile with QA
● 20% of testing activities automation → 96%
● 40% of QA document not conformed → 10%
● A lot of issues around
○ Agile culture
○ Blurry border on V&V
○ QA tsunami
● Success comes from (my opinion)
○ Firing (not joking …)
○ Create tools and interactions between devs, testing and QA
○ Gamify the QA inside devs and testing team