About the Customer
Industry: Industry Specific
To organize data in an efficient way and to avoid manual documentation
Each tool comes up with some functionality which discriminates it from other tools. As a matter of fact, not everyone uses each feature of the tool efficiently.
We are using Test Case Management Tool – Test link for managing test case design and its execution. We are using one of the important features of this tool for decreasing manual efforts to mark status of execution for each test case.
In this automation era, clients are demanding automation testing for applications. So creating manual test cases have equal importance to automated test cases. The test cases written in Test link might be manual or automated. There might be hundreds or thousands of test cases written for any application. To track the execution of each test case, execution status must be maintained. If we are automating applications for utilizing our efforts, then why should we waste our crucial time in such tedious work? How burdensome it would be if we have to change status of each test case manually? So, to reduce manual efforts and utilize resources in a better way, we have blended automation with test execution in Test link.

Key Challenges
As mentioned, N number of test cases can be there for any application. If a manual approach is defined for maintaining the status of test execution then,
- Too many efforts would be required. Imagine 200 test cases written and changing the execution status of each test case
- Due to increased manual efforts, more time will be spent in changing execution status than actually executing test cases
- For each test case, team member needs to check report for its execution and change status accordingly which is sluggish

Our Solution
To overcome such a challenge, we have used a very fine feature of Test link. It provides its own API through which execution status of test cases can be updated. This API can be integrated with Selenium automation framework.
If the test cases are automated, then obviously we need to create automation scripts for its execution. All we needed to do was, add some parameters which refer Test link API and update the status automatically. So whenever tests are run, Selenium script will automatically update execution status of test cases on Test link. If Selenium script is passed, then status will be set to PASSED for mapped Test cases in Test link. The same applies to FAILED and BLOCKED test cases.

Tools and Technologies

Implementation
We have integrated automation with integration using below approach:
- Create test cases: Create test cases with an automated type which needs to be executed via script
- Create script: Create automation script which uses Test link API and integrates selenium test cases with Test link test cases with test case Ids
- Execute test cases through the script: Run the created script and check the status of mapped test cases in Test link
Outcome
The approach which we adapted is reduced manual efforts in remarkable amount. Test case status is in parallel with automation execution itself if the application is having automation testing in scope.