Background

Software Quality Assurance and Testing phase is an important part of SDLC. And to ensure that the engineering team is well prepared for the QA activities it helps to have a documented approach that outlines the various details i.e., QA Strategy

A QA strategy is akin to a roadmap that guides a team’s software testing efforts throughout the development process of the software. To ensure that your product meets the desired level of quality standard, QA Strategy document should provide high-level plan, processes and practices that will be used by QA team. It should document goals, scope, risks, stakeholders, owners and quality expectations in a software.

In simpler terms the goal of a QA strategy is to outline the precise method and testing goals. You might now be wondering how to write a test strategy? What to include in it? Let’s quickly dive into it.

How to Write a Test Strategy

Test Levels

To being with, Test Levels describes software’s level of testing. It could be unit, integration, system, or acceptance testing. It is further categorized into:

  • Functional testing
    • Unit Testing
    • Integration Testing
    • Interface Testing
    • System Testing
    • Regression Testing
    • Smoke Testing
    • Sanity Testing
    • Acceptance Testing
  • Non-functional testing
    • Load Testing
    • Stress Testing
    • Performance Testing

Scope

Defining a scope of test and out of scope testing plays a significant role in achieving efficient QA for your software. The scope of a test defines what areas of a product are required to get tested, what functionalities to focus on. Whereas anything that does not fall within the established scope of a project is listed under out of scope.

Test bed

Test beds management is an important and equally interesting part of defining test strategy. It gives stakeholders a clear idea to which the testing will take place in what environment – Dev, QA, Staging, or Production environment. It also identifies the kind of test-data that will be loaded in database for which environment. Make sure to list any URLs. Also, document the different browsers, Operating Systems and other necessary software/hardware which will be required to test the said product. All such information is documented and reviewed by stakeholders.

Defect Management

During testing phase, when issues/defects are observed, it is important to keep track of them and triage them for efficient resolution. This is achieved via Defect Management, and it consists of following steps:

  • Defect identification
  • Defect logging
  • Defect triage
  • Defect resolution
  • Defect verification
  • Defect closure.

By doing this via documented process, significant improvement in software quality is seen as it helps to ensure that all the detected defects are identified, tracked and resolved. It also helps in identifying defects at an early stage of the cycle which reduces time and cost of fixing defects.

Metrics and Measurements

Testing metrics are indicators which help in assessing and tracking the testing progress, productivity and overall health of the development phase. It also increases efficiency and effectiveness of testing process. Now, let’s have look at the types of metrics.

  • Base metrics: Consists of raw data captured by the test engineers during testing. e.g. number of test cases executed, number of failed test cases, number of defects reported, time taken to execute etc.
  • Calculated metrics: These metrics are result of conversion of data collected from base metrics and weaved in a useful information. e.g. % of test coverage achieved, % of test case failed, % of defects accepted, % of defects fixed etc.

Entry and Exit Conditions

Entry conditions are nothing but a checklist of the conditions that needs to be sufficed before beginning testing execution. It includes setting up of testing environments, test cases, sufficient data available to test, etc. On the other hand, exit criteria outline the agreed upon testing goals that should be successfully accomplished in order to release the software with desired quality standard. It is important to ensure all requirements and deadlines are met. It holds all requirements that should be addressed before the testing phase can be declared complete and can move on next phase of the cycle. The exit strategy will guide the test plans, timelines and any other quality related goals so be sure to also consider external factors that may influence it.