QA Project Guidance

This article provides guidance on the role of QA (Quality Assurance) in a project. It highlights the importance of having a QA Analyst as part of the project team and discusses their responsibilities, including functional manual testing during feature sprints. The article also mentions that testing of the Price Optimisation part may require involvement from the customer. It emphasizes that QA Analysts should focus on finding main issues and bugs before the customer starts testing, as it is not possible to find 100% of bugs during testing. The article also discusses the consequences of not having a QA Analyst on the project, such as increased risk of major issues being found by the customer during testing and potential delays in the project. It recommends using test management tools and suggests tools like X-Ray for test management, Postman for API testing, and Cypress for test automation. Additionally, the article outlines expectations from the customer, including ensuring representation from all business user groups during testing, conducting internal trainings, preparing test cases for UAT (User Acceptance Testing), and prioritizing UAT test cases for testing after upgrades.

As QA Analyst is a standard project role, it should be always part of the project team. Therefore, it is important to keep in mind several topics about QA and discuss those topics with the customer.

QA on the Project

These are some important facts about QA on the project:

  • Ideal expected allocation for QA Analyst is 50% of CE allocation, but even with lower allocation, it is still possible to test a lot on the project

  • QA Analyst is focused on functional manual testing during Feature Sprints

  • Testing of Price Optimization part should be more of customer’s responsibility, especially in terms of validating and confirming that the recommendations given by the system make sense or not. Some basic testing can be ensured from QA analyst’s side with inputs from the pricing scientist involved in the project. 

  • QA analyst can optionally be asked to conduct sprint demonstrations 

  • Main goal of QA Analyst during Feature Sprints is to find main issues and bugs before the customer will start testing

  • It is not possible to find 100% bugs during testing (never promise it to the customer) because we have limited time for testing and project has limited resources and time

  • Customer is responsible for testing during UAT phase and for acceptance of user stories

  • Test management tool is mandatory

  • Test automation could be done during Feature Sprints as a support of development, not the final version. In case the customer is interested in test automation, it should be developed after UAT phase, when the solution is stable and no major change requests are expected. Note test automation is usually not part of standard scope of QA Analyst work during Feature Sprints.

Projects without QA

Consequences when QA Analyst is not on the project:

  • All testing activities are on customer

  • Significantly bigger risk that customer will find major issues during testing, it can lead to his lower satisfaction

  • Delay of the project because the customer will not finish UAT testing within the defined time - either because he is not ready for UAT phase in time or because he finds big amount of bugs

Tools for QA

  • For test management - X-Ray is recommended , it is also possible to choose other tool if you prefer it. Note it is possible to use Excel, but it should be last possibility because it is not a test management tool and it can help just with test cases, not with reporting results or organizing of testing.

  • For API testing - postman (open source, free of charge)

  • For test automation - Cypress (open source, free of charge)

Customer Expectations

  • Ensure that there is representation from all business user groups during Feature Sprint testing. 

  • Ensure that internal trainings are conducted for the needed audience by the business users who are part of the feature sprint testing based on user stories during Feature Sprints and accepting user stories

  • Prepare test cases for UAT phase

  • UAT testing and reporting test results

  • Prioritize your UAT test cases so you can use them also for testing after upgrades