Parallelize Automated Tests in a Build and Test Environment

This thesis investigates the possibilities of finding solutions, in order to reduce the total time spent for testing and waiting times for running multiple automated test cases in a test framework. The “Automated Test Framework”, developed by Axis Communications AB, is used to write the functional t...

Full description

Bibliographic Details
Main Author: Durairaj, Selva Ganesh
Format: Others
Language:English
Published: Linköpings universitet, Programvara och system 2016
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-131807
id ndltd-UPSALLA1-oai-DiVA.org-liu-131807
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-liu-1318072018-01-15T07:13:08ZParallelize Automated Tests in a Build and Test EnvironmentengDurairaj, Selva GaneshLinköpings universitet, Programvara och system2016function teststest automationresource allocationmultiprocessingparallel testingscheduling algorithmsevaluationsimulationprototypingComputer SciencesDatavetenskap (datalogi)This thesis investigates the possibilities of finding solutions, in order to reduce the total time spent for testing and waiting times for running multiple automated test cases in a test framework. The “Automated Test Framework”, developed by Axis Communications AB, is used to write the functional tests to test both hardware and software of a resource. The functional tests that tests the software is considered in this thesis work. In the current infrastructure, tests are executed sequentially and resources are allocated using First In First Out scheduling algorithm. From the user’s point of view, it is inefficient to wait for many hours to run their tests that take few minutes to execute. The thesis consists of two main parts: (1) identify a plugin that suits the framework and executes the tests in parallel, which reduces the overall execution time of tests and (2) analyze various scheduling algorithms in order to address the resource allocation problem, which arose due to limited resource availability, while the tests were run in parallel. By distributing multiple tests across several resources and executing them in parallel, help in improving the test strategy, thereby reducing the overall execution times of test suites. The case studies were created to emulate the problematic scenarios in the company and sample tests were written that reflect the real tests in the framework. Due to the complexity of the current architecture and the limited resources available for running the test in parallel, a simulator was developed with the identified plugin in a multi-core computer, with each core simulating a resource. Multiple tests were run using the simulator in order to explore, check and assess if the overall execution time of the tests can be reduced. While achieving parallelism in running the automated tests, resource allocation became a problem, since limited resources are available to run parallel tests. In order to address this problem, scheduling algorithms were considered. A prototype was developed to mimic the behaviour of a scheduling plugin and the scheduling algorithms were implemented in the prototype. The set of values were given as input to the prototype and tested with scenarios described under case studies. The results from the prototype are used to analyze the impact caused by various scheduling algorithms on reducing the waiting times of the tests. The combined usage of simulator along with scheduler prototype helped in understanding how to minimize the total time spent for testing and improving the resource allocation process. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-131807application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic function tests
test automation
resource allocation
multiprocessing
parallel testing
scheduling algorithms
evaluation
simulation
prototyping
Computer Sciences
Datavetenskap (datalogi)
spellingShingle function tests
test automation
resource allocation
multiprocessing
parallel testing
scheduling algorithms
evaluation
simulation
prototyping
Computer Sciences
Datavetenskap (datalogi)
Durairaj, Selva Ganesh
Parallelize Automated Tests in a Build and Test Environment
description This thesis investigates the possibilities of finding solutions, in order to reduce the total time spent for testing and waiting times for running multiple automated test cases in a test framework. The “Automated Test Framework”, developed by Axis Communications AB, is used to write the functional tests to test both hardware and software of a resource. The functional tests that tests the software is considered in this thesis work. In the current infrastructure, tests are executed sequentially and resources are allocated using First In First Out scheduling algorithm. From the user’s point of view, it is inefficient to wait for many hours to run their tests that take few minutes to execute. The thesis consists of two main parts: (1) identify a plugin that suits the framework and executes the tests in parallel, which reduces the overall execution time of tests and (2) analyze various scheduling algorithms in order to address the resource allocation problem, which arose due to limited resource availability, while the tests were run in parallel. By distributing multiple tests across several resources and executing them in parallel, help in improving the test strategy, thereby reducing the overall execution times of test suites. The case studies were created to emulate the problematic scenarios in the company and sample tests were written that reflect the real tests in the framework. Due to the complexity of the current architecture and the limited resources available for running the test in parallel, a simulator was developed with the identified plugin in a multi-core computer, with each core simulating a resource. Multiple tests were run using the simulator in order to explore, check and assess if the overall execution time of the tests can be reduced. While achieving parallelism in running the automated tests, resource allocation became a problem, since limited resources are available to run parallel tests. In order to address this problem, scheduling algorithms were considered. A prototype was developed to mimic the behaviour of a scheduling plugin and the scheduling algorithms were implemented in the prototype. The set of values were given as input to the prototype and tested with scenarios described under case studies. The results from the prototype are used to analyze the impact caused by various scheduling algorithms on reducing the waiting times of the tests. The combined usage of simulator along with scheduler prototype helped in understanding how to minimize the total time spent for testing and improving the resource allocation process.
author Durairaj, Selva Ganesh
author_facet Durairaj, Selva Ganesh
author_sort Durairaj, Selva Ganesh
title Parallelize Automated Tests in a Build and Test Environment
title_short Parallelize Automated Tests in a Build and Test Environment
title_full Parallelize Automated Tests in a Build and Test Environment
title_fullStr Parallelize Automated Tests in a Build and Test Environment
title_full_unstemmed Parallelize Automated Tests in a Build and Test Environment
title_sort parallelize automated tests in a build and test environment
publisher Linköpings universitet, Programvara och system
publishDate 2016
url http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-131807
work_keys_str_mv AT durairajselvaganesh parallelizeautomatedtestsinabuildandtestenvironment
_version_ 1718610603228004352