Agile QA - Capabilities & Skills

To be successful in Agile Testing

Do whatever it takes to


  Are we building the right product?

  Are we building it correctly?


 Agile Manifesto

  Individuals & Interactions - Over - Processes & Tools

  Working Software - Over - Comprehensive Documentation

  Customer Collaboration - Over - Contract Negotiation

  Responding To Change - Over - Following a Plan

 Agile Testing Manifesto

  Collaborative Ownership - Over - Detached Objectivity

  Targeted Automation - Over - Widespread Regression

  Defect Prevention - Over - Defect Detection

  Exploratory Testing - Over - Predetermined Scripting

 Testing Principles

  Build Quality In

   rather than "testing it in"

  Involving everyone

   Testing is a Team Responsibility, NOT Tester's responsibility

  Fast feedback

  Tests are an Asset

   of the product, not the project

   of the team, not the Testing team!

  Faster Delivery into Production

  Clear & Consistent view of Testing

   across the organization / team

  Business Optimize Value

   should help Business to Optimize Value of work being done

Capabilities required to be successful in a QA role

 Be open minded

 Quick Learner

 Bridge the communication gap

  across all

   Stakeholders (Business / IT)

    build relationship and trust

     to ensure they understand what and how testing should be done

     to ensure their requirements are well understood

     to be able to raise risks, and provide measures / solutions to mitigate the same

   Team members

    Business Analyst (BA)



    Project / Iteration Managers



  Identify potential risks

   related to






    quality of work being done






  Provide potential solutions to help mitigate it


  discussions / conversations to help determine the right approach


  Brain-storming sessions

 Continuous Delivery

  How can we get quick feedback from what is developed?

  How quickly can we get the functionality in front of the end-user?

  How can we learn from that feedback, and get better, quickly

  How can we build quality into the product instead of testing later?


  Coaching & Mentoring

   Find opportunities to help team members

     get better

    learn new skills

    learn new technology / tools / etc.


   Find ways to resolve blockers

   Creative / out-of-the-box thinking


   Find opportunities to learn

    by attending trainings (internal / external)

   Take training sessions to up-skill team members

  Attend conferences

  Watch webinars

  Read books / blogs


  Understand the big picture

  Help the team to prioritize work in ways that will

   be valuable to the end-users

   provide quick feedback

    to ensure the team is in the right direction

    if not, can fail fast, change direction to get back on track

 Tech Debt

  Identify areas from testing perspective that needs to be evolved / updated

   to keep testing efficient

  Get these items prioritized and implemented to remove waste / optimize way of working


  Share experiences by

   writing blogs

   writing books

   speaking in conferences / meetups

   conduct webinars

QA Skills

 Testing Mindset



   product architecture

   various aspects of testing





    approach / mindset / thought-process when using the product


   to identify and resolve potential bottle-necks





 Functional Analysis & Testing









 Defect Management

 Continuous Integration (CI)

 Exploratory Testing

 Non-functional Requirements



















  To demonstrate the work done to the team, and business stakeholders

 User Acceptance Testing

 Test Data



 Test Automation


   A safety net

   NOT to find defects

   Helps ensure pre-validated functionality is working as expected


   Fast feedback

    If done well

   Reduces manually testing / validating same functionality with each change in the product-under-test


   Context is King!


     Team distribution

     Product under test


   Principles & Practices

    No Copy-Paste

    Test Data

     Decouple test data from test implementation





    Video Recording




    Continuous Integration



     Proper abstraction layers (tools, browser agnostic, libraries)

    Design Patterns


     Automation configurable to run against different environments

    Code Quality

     Test code should be production quality


    Fit for purpose

    No extra overhead

    Accessible and usable for all team members

    Crisp and Clear communication