Optimization of utilization of test resources

Abstract

Abstract. Limited testing resources are one of the most fundamental challenges in testing. Testing of complex systems will require very large numbers of test cases to provide an adequate level of testing. Coverage is a popular metric to state the level of testing. However, coverage alone is not always a good measure to describe the level of testing for two reasons. First, it does not provide information of how efficiently the testing resources were spent. Second, coverage does not contain knowledge of how close to the optimal utilization the testing is. This thesis proposes a way to measure the level of test resource utilization, and a way to estimate the distance from the optimal resource utilization. In this thesis a set of efficiency and performance metrics are defined to measure utilization of testing resources. The defined metrics consider the achieved coverage with respect to spent testing resources and the complexity of the tested system. Based on the defined metrics, an approximation formula for the maximum efficiency as a function of available testing resources is defined. A method to simplify complex equations by considering the states of equation is proposed. The defined metrics and proposed method are applied into a 3GPP equation, intended for a Long Term Evolution (LTE) device, to search a subset that maximizes the test resource utilization. The optimization of the utilization of test resources is viewed as a set cover problem, which is attempted so solve with various algorithms, such as brute force algorithm, classical Greedy Algorithm (GA), and a few of their variants and combinations. Performance of the algorithms are studied and compared. Performance results are presented, and the best results compared with the approximated maximum. It was observed that there was not a single algorithm that suits for all scenarios, but the choice of algorithms depends on the resources available. Brute force-based algorithms should be selected when there are scarce resources, and GA-based algorithms when resources are plentiful. Based on the results, the utilization of the test resources was maximized with a moderate number of test resources.Testiresurssien käytön optimointi. Tiivistelmä. Rajalliset testausresurssit ovat yksi keskeisimmistä haasteista testauksessa. Monimutkaisten järjestelmien testaus tarkoittaa usein todella suurta määrää testejä, jotta saavutettaisiin riittävä testauksen taso. Kattavuus on perinteinen tapa mitata testauksen tasoa. Kattavuus ilmaisee absoluuttisen testauksen tason testattujen ja testaamattomien osioiden suhteena. Kattavuus yksin ei ole paras tapa kuvata testauksen tasoa kahdesta syystä. Kattavuus ei ilmaise kuinka tehokkaasti testaus resurssit käytettiin. Kattavuus ei myöskään kerro kuinka lähellä optimaalista testaus resurssien käyttöä oltiin. Tässä diplomi työssä esitetään vaihtoehtoinen tapa mitata testauksen tasoa, sekä keinon arvioida, kuinka lähellä ollaan optimaalista testausta. Tässä työssä määritellään joukko metriikoita, joilla mitataan kuinka tehokkaasti testausresurssit käytetään hyödyksi. Metriikat ottavat huomioon saavutetun kattavuuden suhteessa käytettyihin resursseihin sekä testattavan järjestelmän monimutkaisuuden. Määriteltyjen metriikoiden pohjalta määritellään approksimaatiokaava, joka ilmaisee suurimman mahdollisen hyötysuhteen resurssien määrän funktiona. Menetelmä monimutkaisten yhtälöiden yksinkertaistamiseen käsittelemällä yhtälön tiloja ehdotetaan. Määriteltyjä metriikoita sekä ehdotettua menetelmää sovelletaan Long Term Evolution (LTE) laitteelle tarkoitettuun 3GPP kaavaan, ja pyritään löytämään testijoukko, joka optimoi testausresurssien käytön. Testausresurssien optimointia käsitellään joukko kattavuus ongelmana, jota yritetään ratkaista useilla algoritmeilla, kuten raaka voima haku algoritmilla sekä ahneella algoritmilla, sekä muutamalla näiden kahden variaatiolla ja yhdistelmällä. Algoritmien tulokset esitetään ja niitä vertaillaan. Parhaita tuloksia verrataan approksimoituun maksimitehokkuuteen. Työssä havaitaan että yksi algoritmi ei sovellu joka tilanteeseen, vaan paras algoritmi riippuu käytettävissä olevien resurssien määrästä. Raaka voima algoritmi saavuttaa parhaan tuloksen pienille resurssimäärille, kun taas ahne algoritmi suurille. Tulosten perusteella paras testausresurssien hyödyntäminen saavutetaan kohtalaisella resurssimäärällä

    Similar works