How to reduce the overall execution time?
Parag Kukwas
Head of Customer Service | Partner Enablement | Author of Dr. Tosca | Global enabler
Problem
Abhishek - Dr. Tosca, how to reduce the overall execution time?
Description
We are running test cases as a part of the regression suite and running them over nightly. But due to a large number of test cases in the regression suite, the execution time exceeds the number of free hours of the machine. Is there any way to decrease the execution time to manage the test cases?
Prescription
Dr. Tosca - Abhishek, I am glad you have come up with the problem. The situation you are dealing with is the problem of all the enterprises. Tricentis Tosca offers state of an art solutions to handle this problem you are facing. It is called distributed execution.
Tosca?Distributed Execution allows you to distribute your tests across all available computing resources, such as computers in your network, virtual machines, or the cloud.
This speeds up large test runs and leaves user machines unblocked.
Abhishek - Dr. Tosca, This sounds interesting. What are other scenarios where distributed execution is deployed?
Dr. Tosca - Abhishek, In addition to regression testing the distributed execution can also be deployed during
-?????????Overnight execution when resources are free.
-?????????During Continuous Testing Phase (Leveraging Tosca CI)
Deploying distributed execution will help your team to
-?????????Reduce the execution time significantly.
-?????????Maximize the test coverage
-?????????It will help you achieve continuous testing.
Abhishek - Dr. Tosca, This is awesome. But, how do this works?
Dr. Tosca - Abhishek, Tosca?Distributed Execution?is only available for multi-user workspaces. You and other users share a repository that stores test data and results.
Tosca?Distributed Execution?consists of three main elements:
???????The user machines, where users create tests and trigger the execution.
???????The?Tosca?Distribution Server distributes the tests among the?Agents.
???????The?Agent?machines that execute the tests.?Agents?save the test results to the common repository.
There are two types of setup available
???????Distributed Execution (legacy)
???????Distributed Execution – AOS (Automation object service)
Let's see the architecture of the Legacy setup.
Abhishek - Dr Tosca, What is the difference between Dex legacy and Dex AOS?
领英推荐
Dr Tosca – Abhishek,
For the Dex Legacy
???????Each?Agent?has a workspace that's connected to the common repository.
???????During execution,?Agents?query the workspace for items to execute, check them out of the repository, and execute them.
?For the DEX – AOS
·????????Agent do not have Workspace
·????????Agent communicates with Tosca Distribution sesver and server retrieved the data from common repository
·????????During the execution The server retrieves the test data from the common repository through the?Automation Object Service. This service accesses the common repository through a workspace.
?Abhishek - Dr Tosca, How will I know If the Test case is triggered?
Dr Tosca – Abhishek, You can view the Test execution status via event monitor. The?Tosca?Distributed Execution (DEX) Monitor?is a web-based application that allows you to monitor your?Tosca?Distributed Execution?tests and?Agents.
Dex monitor is part of Tosca server installation. As soon as you trigger the test case, the Tosca commander communicates with the Tosca server with TC API and the Dex monitor gets activated which provided us with the run time information of test execution.
Abhishek - Dr Tosca, This is Great. Any additional information Would I need before setting up the distributed execution?
Dr Tosca – Abhishek, Yes, You will need to know about the Agent types, Agent rights, and licenses.
For example, Agents will be
Execution Agent - This?Agent?can only execute TestCases created with?Engines 3.0
Full Client Installation - This?Agent?can execute TestEvents created with?Classic Engines,?Engines 3.0, or both.
Talking about the Agent rights
???????To execute the test case., Agent?pretends to be a Windows user. This user needs to have access and all the necessary permissions for all applications and files. that you want to automate.
???????MS Excel, MS word – Directory access to read-write files
???????Mail engine – allow communication of agent and mail server through a certain port
And the most important License
???????Number licenses needed to run Distributed execution is equal to the number of an agent running
???????You can either use premium package or execution-only licenses designed for distributed execution
Abhishek - Dr Tosca, Thank you very much, It cleared all my doubts. Can we also run this execution unattended?
Dr Tosca – Abhishek, Yes Ofcourse, Unattended Execution?is an important component of?Tosca?Distributed Execution.
???????It allows you to run tests even if the?Agent?screen is locked, without a user logged in to the?Agent?machine. The?Tosca?RDP Server?runs as a service on the?Agent?machine, and it connects to the machine.
???????If you have graphical user interface (GUI) tests, you must set up?Unattended Execution.
?I hope, you get all answers to your question. The solution prescribed will help you reduce the time of your testcase execution. I will come up again with interesting topics to help with your automation.
Till then, take care happy testing.
Grade A officer at NABARD
2 年Hi Parag Kukwas , How can we schedule test event for overnight run. (Like 12 am)
Head of Customer Experience Transformation | PMP | Global Enabler | CSM | Test Architect
3 年Super important topic, Thanks Parag Kukwas and Abhishek Shukla for covering it