QA Review

The concept of Quality Assurance Review (QA Review) is a company internal concept, but it is the merge of different techniques and tools related to quality assurance literature and quality control literature. This process is a walkthrough through the work made by the developer in order to assure that the was completed and also determine if the scenarios in the different levels of testing are enough to get the minimum of expected coverage (thinking in the new change or fix and not in code coverage concept).

This process tries to establish inside the company a quality culture and also helps the quality assurance responsible to understand the current state of the product after each code increment.

The QA review checks all the work done in one PBI or bug and not is only another approval in the Pull Request, this is important because the goal of the review is to determine if the new code or the fix is the correct solution under a quality view and not under a development view, in other words, the reviewer checks if the change is correct for the users, the product, the sales team, and other development teams in order to assure the quality expectations of the company. See References about QA Reviews.

Objectives/Tasks:

  1. Understand the Requirements: Before diving into the review process, make sure you have a thorough understanding of the project requirements, user stories, and acceptance criteria. This will help you validate whether the implemented features meet the specified criteria.

    1. User Stories

    2. Acceptance Criteria

    3. Project Requirements/DoD

    4. Next steps or requirements documented (TODO annotation).

  2. Review Code Changes: As part of your QA review, examine the code changes introduced in the pull request. Focus on aspects such as coding standards, maintainability, scalability, and adherence to best practices. Pay attention to any changes related to automated tests, ensuring they cover appropriate scenarios and are well-written.

    1. Documentation

    2. Coding Standards

    3. Lintings (not modified, ignored or removed through pragmas, editor.config, csproj pragmas, rulesets, .lint files)

    4. Test design

  3. Check Build and SonarQube Analysis: Evaluate the results of the build phase and SonarQube analysis. Ensure that the build process completes successfully without any errors or warnings. Review the SonarQube reports to identify any code smells, bugs, vulnerabilities, or security issues that need attention.

    1. Quality metrics

    2. SQ Code Smells

    3. Bugs

    4. Vulnerabilities

    5. Security Hotspots

    6. Code duplications

    7. Code complexity

  4. Verify Test Phase: Review the results of the test phase executed during the build validation. Ensure that all automated tests, including unit tests and integration tests, pass successfully. Investigate any test failures or errors and provide feedback to the development team for resolution.

    1. Unit test validation

    2. Unit test coverage

    3. Integration test validation

    4. Integration test coverage

    5. Testing standards validation

  5. Assess E2E and Regression Tests: Examine the execution results of the end-to-end (E2E) tests and regression tests performed in the release pipeline. Validate that these tests cover critical workflows and scenarios, providing adequate test coverage. Identify any failures or issues encountered during the test execution.

    1. Review if E2E should be added.

    2. Regressions or bugs logged.

  6. Provide Feedback: Document your findings and observations from the QA review process. Communicate any defects, issues, or areas for improvement to the development team through comments on the pull request or other collaboration channels. Offer constructive feedback and suggestions for enhancing the quality of the codebase and test suite.

  7. Collaborate with Team: Collaborate closely with developers, testers, and other stakeholders throughout the review process. Foster a culture of collaboration and continuous improvement within the team, encouraging open communication and knowledge sharing.

  8. Track and Follow Up: Keep track of the status of issues identified during the QA review and follow up on their resolution. Monitor the progress of fixes and ensure that all identified issues are addressed satisfactorily before approving the pull request for merging

Last updated