DevOpsPorto Meetup8: Is QA dying in the DevOps world? by Marta Torneiro

A2c14a1c4e16aa337c7d36abe7d1cf8f?s=47 DevOpsPorto
September 12, 2017

DevOpsPorto Meetup8: Is QA dying in the DevOps world? by Marta Torneiro

Talk delivered by Marta Torneiro

A2c14a1c4e16aa337c7d36abe7d1cf8f?s=128

DevOpsPorto

September 12, 2017
Tweet

Transcript

  1. Is QA dying in the DevOps world? Marta Torneiro

  2. MARTA TORNEIRO QA Team Lead @ HOSTELWORLD martatorneiro “Quality is

    not an act, it’s an habit.” Aristotle
  3. AGENDA • Why move to Continuous Delivery? • Does QA

    fit in CD? ◦ The QA evolution • The way to go: Continuous Testing! • Some Best Practices • The challenges ahead
  4. Why Move to Continuous Delivery?

  5. None
  6. HAPPIER CUSTOMERS RAPID RELIABLE HIGH QUALITY RELEASE

  7. • Usable pieces of software code can be delivered quickly

    • Get early feedback on features being developed • Deliver value to the customer in a continuous way The Benefits
  8. • Continuous Delivery doesn’t require frequent releases • The objectives:

    ◦ Make testing and development processes more collaborative ◦ Ensure software quality ◦ Help launch the product faster to the market The Reality (1/2)
  9. • The constant need of real-time changes by the customers

    requires: ◦ continuous testing ◦ continuous development ◦ continuous delivery • For Companies to evolve in a sustainable way, Quality has to be at the core of every practice The Reality (2/2)
  10. • More automation • Less human intervention in the release

    process • Speed and efficiency The Needs
  11. Does QA fit in CD?

  12. None
  13. But... QAs have to change their mindset and start helping

    people instead of providing them service.
  14. For starters, let’s make some things clear... Testing is just

    an activity in the development process Testing can’t be the responsibility of one single person We can compromise scope but not Quality! More QAs More Quality
  15. • QA in the DevOps world is about preventing defects,

    not finding them! • Have visibility and directive to push code out when it is working, and roll it back when it is not. • Become responsible for continuous improvement and help to assure quality across the development cycle. The QA Evolution (1/2 )
  16. • Help define what should automated • Look for any

    opportunity to improve repeatability and predictability The QA Evolution (2/2)
  17. The way to go CONTINUOUS TESTING

  18. What is it? Test Early Test Often

  19. • It’s cheaper and much faster to guarantee quality continuously

    • It creates a “safety net” that increases dev confidence in making changes and shipping code • There’s a much less prominent risk of releasing features What are the benefits?
  20. What does it include?

  21. • Automate the tests! • Change mentality ◦ Start testing

    from the first line of code and work your way up in the testing pyramid ◦ Continuously integrate, deliver and deploy working software ◦ Get early feedback and keep quality high at all times How should we do that?
  22. • QAs emphasize the customer experience over all else •

    Their goal is to accelerate deployment, rather than hold it back • Releasing new and functional builds at any point through the SDLC can become a disaster if quality is not ensured constantly • Knowing which tests to automate is critical to guarantee quality and bring speed Do organizations really need QAs?
  23. Some best practices

  24. Building a QA strategy with the necessary best practices will

    help in delivering effective software development and operations to achieve user experience.
  25. 1. Developers, QAs and Operations have to work together •

    Share constant feedback on what actually is going on • Communicate on how the code relates back to a requirement or user story • Share feedback on which tests should be automated and which are actually affecting the feature that’s being released
  26. 2. Think about automate first • This doesn’t mean that

    you just get rid of manual testing • You shouldn’t automate everything, but you should take an “automation first” approach
  27. Challenges ahead

  28. • It’s not possible to test everything ◦ The focus

    should be on covering critical scenarios ◦ Have a solid base of unit and functional tests, and anything automatable • Regression tests have to be built incrementally ◦ When making a bug fix, add a test for that bug • Manual testing should only be used for exploration
  29. Thanks for your attention! Marta Torneiro martatorneiro