Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stop Testing, Start Building Quality

Stop Testing, Start Building Quality

This presentation gives a high-level overview of an array of different activities, processes and even entire disciplines that will strengthen the quality in your software while cutting down testing time and the impact of defects on production.


March 16, 2020

More Decks by apetkova

Other Decks in Technology


  1. SumUp – A better way to get paid. Aneta Petkova

    QA Chapter Lead | Engineering Manager @
  2. SumUp – A better way to get paid. The Price

    of Quality Low Quality Losses caused by releasing bad product High Quality Extended time to market due to testing
  3. SumUp – A better way to get paid. image here

    • Once on prod, it was usually detected by user complaints • Getting the complaints from the support agents to the engineers takes time • Developing and releasing the fix is slow • Updating depends on the users Defects’ Impact The Price of Quality People photo created by yanalya
  4. SumUp – A better way to get paid. image here

    • Effective monitoring alerts us of problems on production before users do • Changes can be released to small group of customers first, effectively using them as testers • Small release batches allow fast rollback to previous version without losing features • Automatic checks and deployments allow hotfixes to be very fast Mitigating Factors The Price of Quality
  5. SumUp – A better way to get paid. Testing time

    and the cost of defects on production CAN BE drastically lowered.
  6. SumUp – A better way to get paid. image here

    DOD & DOR Beyond Testing Definitions of Done/Ready Why ➔ DOR: To minimize rework or discussions about a feature too late in the SDLC ➔ DOD: To prevent accumulation of technical debt How Discussion and agreement within the team; No tools required Pitfalls DOR and DOD are only guidelines, they should never be applied as “Laws”
  7. SumUp – A better way to get paid. Beyond Testing

    Linters & Static Code Analysis Why To ensure the code follow basic rules such as: - only using safe dependencies - keeping complexity as low as possible - proper error handling - avoid hardcoded values, etc. How - Java: SonarLint / SonarQube - Ruby: RuboCop - JavaScript: ESLint, JSLint
  8. SumUp – A better way to get paid. Beyond Testing

    Code Traceability Why We should be able to connect any code change to a business requirement. Thus we will know exactly what we release or revert at any point in time. How Add JIRA issue ID to commit messages / pull requests JIRA plugins can point you to PRs from tickets Connects code to business
  9. SumUp – A better way to get paid. image here

    Code Reviews Beyond Testing Why ➔ Two heads think better than one ➔ QA engineers can check for test coverage, can suggest better/more test cases, will know where to focus testing efforts in later phases How Multiple tools depending on VC (version control) hosting Pitfalls ➔ Design discussions should happen before implementation, not during code reviews; ➔ Tools should not replace discussions or pair programming
  10. SumUp – A better way to get paid. image here

    Code Coverage Policy Beyond Testing Why ➔ Will guarantee you have some unit tests ➔ Will help the team align on the level of coverage they aim for How • CodeCov • CodeClimate • SonarQube Attention Code Coverage on its own is just a number; It shows lines of executed code, thus you could achieve 100% coverage with 0 asserts in your “tests” - it’s an easy-to- manipulate metric
  11. SumUp – A better way to get paid. Monitoring &

    Observability Beyond Testing Observability aims to provide highly granular insights into the behavior of systems along with rich context, perfect for debugging purposes. Monitoring should provide a bird’s eye view of the overall health of a system. In the event of a failure, it should immediately be able to answer “what” and “why” went wrong.
  12. SumUp – A better way to get paid. image here

    Monitoring Beyond Testing Why ➔ To know immediately when something goes wrong on production ➔ To identify root cause in chain-reaction incidents How - NewRelic - Sentry - Nagios Pitfalls Monitoring should be simple; Any alarm that is regularly ignored or metric that is not actionable should be removed
  13. SumUp – A better way to get paid. image here

    Observability Beyond Testing Why ➔ To get as much information about the application behaviour under test or on production ➔ Includes logging, tracing, metrics How - Logs: Graylog, Splunk - Time series database: Prometheus, InfluxDB - Errors: Sentry - Display: Grafana - Multitool: DataDog
  14. SumUp – A better way to get paid. image here

    Customer Feedback Beyond Testing Why Best insight into how is your product used How - Statistics based on Customer Support enquiries - NPS surveys - Customer Interviews Pitfalls If you base decisions on customer feedback, make sure you got it from a representative group and a segment that is big enough to draw conclusions
  15. SumUp – A better way to get paid. I see

    some DevOps stuff in here; How is this my job?!
  16. SumUp – A better way to get paid. Thank you!

    Questions? anetavp /apetkova