QA Discussions with Customers
This article explains the importance of quality assurance (QA) in software development projects and the role of a QA Analyst. It highlights the benefits of thorough testing, such as finding and fixing bugs early, building trust among stakeholders, and monitoring project progress. It also mentions other types of testing, including unity testing, functional testing by the customer, performance testing, and user acceptance testing.
This section will help the customer understand and discuss the importance of QA on projects.
Why testing is crucial
No software is completely free of bugs. This is due to various factors such as limited time for testing, software complexity, new development, and cooperation with other software. However, it is crucial to thoroughly check the functionality of the developed software.
Finding and fixing bugs early on is advantageous as it becomes easier and more cost-effective to resolve them. Testing also plays a significant role in building trust among key stakeholders involved in the project. It demonstrates the commitment to delivering a reliable and high-quality product.
Additionally, documentation from testing serves multiple purposes. It aids in training new users and provides a means to verify the project scope.
Furthermore, testing leads to closer monitoring of the project's progress. It helps assess the feasibility of the project timeline, tracks delivered user stories, and identifies the number of unresolved bugs. Ultimately, this lowers project risks and ensures smoother development.
Going back to the importance of bug fixing, In the graph below you can see how much more expensive it gets further in the stages of the project to address the issue. This means that the sooner you find the bug and get it fixed, the cheaper it will be.
Overview of QA Analyst role
In the Pricefx project team, the QA Analyst is the primary person responsible for testing and ensuring the quality of the software. This role may be called differently in the Partner's team. The QA Analyst is an expert in software testing and Pricefx software functionality. They are also responsible for documenting testing activities throughout the project, from preparation to execution.
During Feature Sprints, the QA Analyst has several tasks to perform. These include functional testing, clarification of acceptance criteria from a testing perspective, regression testing, and smoke testing. They also create test cases before testing and document test results during and after testing. Additionally, they provide functional demos during Feature Sprints and may share recommendations with the customer (optional).
Creating test automation scripts is also a task that the QA Analyst may undertake. However, this depends on their allocation and is typically optional. Overall, the QA Analyst plays a critical role in ensuring the quality of the software and delivering a reliable product to customers.
Other types of testing
QA Analyst should not be the only one who is testing on the project
Unity testing
Done by Configuration Engineer after development
Functional testing by Customer during Feature Sprints
Functional testing for final confirmation and acceptance of User Stories
Performance testing
Done by QA Analysts and the customer when there are specific Performance requirements on the project
Specialized Performance team can be asked for help here.
UAT testing
Done by the customer based on UAT cases
QA Analysts can help here by sharing his experience, but the responsibility is on the customer’s side