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.

apetkova

March 16, 2020
Tweet

More Decks by apetkova

Other Decks in Technology

Transcript

  1. SumUp – A better way to get paid.
    Stop Testing
    Start Building Quality

    View full-size slide

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

    View full-size slide

  3. 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

    View full-size slide

  4. 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

    View full-size slide

  5. 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

    View full-size slide

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

    View full-size slide

  7. SumUp – A better way to get paid.
    Beyond
    Testing

    View full-size slide

  8. 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”

    View full-size slide

  9. 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

    View full-size slide

  10. 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

    View full-size slide

  11. 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

    View full-size slide

  12. 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

    View full-size slide

  13. 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.

    View full-size slide

  14. 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

    View full-size slide

  15. 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

    View full-size slide

  16. 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

    View full-size slide

  17. SumUp – A better way to get paid.
    I see some DevOps stuff in here;
    How is this my job?!

    View full-size slide

  18. SumUp – A better way to get paid.
    Quality is
    teamwork

    View full-size slide

  19. SumUp – A better way to get paid.
    But you can
    be the driver

    View full-size slide

  20. SumUp – A better way to get paid.
    Thank you!
    Questions?
    anetavp
    /apetkova

    View full-size slide