Impact Based Testing

Modified on Thu, 21 Nov at 7:05 PM

TABLE OF CONTENTS

1. Overview

2. Supported Technologies and Application Types

3. Use Case

1. Overview

During the execution of your test automation scripts, the algoQA solution leverages code coverage tool to evaluate the code coverage for applications. This process generates coverage reports and maps your test scenarios to the corresponding source code files, providing detailed insights into which parts of the code are tested.

You can use the algoQA impact-based testing solution to analyze code changes by comparing selected git commits. This helps in identifying which files have been affected by recent changes. Based on the affected files and the collected coverage information, algoQA recommends the most relevant test cases to run and execute, ensuring that your tests are focused on areas impacted by code modifications.
If required, the solution can be deployed using Jenkins and the recommended test cases can be executed automatically as part of CI/CD workflow.
Note that test scripts must be based on selenium. Additionally, 
Cypress and Squish has its code coverage tools that can used for tracking test coverage.


2. Supported Technologies and Application Types

Field Description
Supported applications and technologies
  • NET desktop-based applications
  • AngularJS, React JS (front end)  and Node JS (backend) web-based applications and APIs
  • Qt-based applications
Supported Dependencies
  • dotCover for .NET desktop-based applications
  • Istanbul for React JS, AngularJS and NodeJS web-based applications
  • Qt Coco for Qt-based applications
Supported Test Case typesUI, end-to-end and API
Version control systemGit (GitHub, GitLab)
PrerequisitesdotCover, Istanbul,  and Qt Coco are used for code coverage analysis.


3. Use Case 

Web Application

Step1: Get code coverage information when test automation scripts are executed 

  • The algoQA impact-based testing solution uses Istanbul to check the code coverage of ReactJS-based applications. 
  • Upon execution of the script, coverage reports are obtained, along with the mapping of BDD scenarios to source code files.

Step 2: Find the impacted test cases due to changes in code base 

  • The algoQA impact-based testing solution is used to collect affected files between selected git commits.   
  • The affected files and the code coverage information collected is used to recommend and execute impacted test cases using the algoQA solution. 


Desktop Application

Step 1: Get code coverage report for desktop applications 

  • The algoQA impact-based testing solution uses JetBrains dotCover command line tool to get source code coverage information for .NET-based desktop applications.
  • The coverage reports are parsed to create a spreadsheet with test cases and source code methods accessed by the test case during its execution.

Step 2: Suggest the impacted test cases 

  • The algoQA impact-based testing solution captures changes in the source code by comparing git commit information.
  • The obtained information is parsed to extract the methods impacted between commits, which are then stored as a spreadsheet.
  • Using the above information, coupled with test case-to- method mapping,  the impacted test cases are suggested and executed using the algoQA solution








Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article