Return to search

Towards test suite optimization in software component testing by finding and analysing repeats in test trace

Regression testing is often a very resource and time consuming activity with large scale software. However, regression tests may be run in continuous integration where everything should run fast in order to get quick feedback.

This thesis reviews the existing solutions to optimize regression test suites and test suites in general by looking at various existing heuristic, computational intelligence and other methods. In most cases, these methods are based on the fact that test suites may contain redundant test cases. They also require code coverage, fault detection capability or requirement coverage information of each test case in order to be implemented.

Additionally, the thesis studies ways to detect redundancy in test trace. It is also discussed whether or not this kind of redundancy information can be used for test suite optimization instead. A new concept, pair-wise supermaximal repeats is presented.

A case study is conducted in software component continuous integration testing environment in Nokia Networks. Main methods include looking for patterns in test trace manually in a plot representing the test trace as well as finding pair-wise supermaximal repeats in the test trace with an enhanced suffix array implementation developed in test driven development method. A new application was developed, MRS Finder. The repeats are then analyzed.

The study shows that the there can be found huge amount of repetition which makes analyzing all of it hard by hand. The repeats also tend to occur more in the setup or teardown phase of a test case rather than in the action or assertion phase of the test cases. The study shows that MRS Finder offers different optimization possibilities than originally was thought. / Regressiotestaus on usein hyvin resursseja ja aikaa kuluttavaa suurten ohjelmistojen kanssa. Regressiotestejä voidaan kuitenkin ajaa jatkuvassa integroinnissa, jossa senkin tulisi suoriutua nopeasti, jotta palauteaika pysyy lyhyenä.

Tämä diplomityö käy läpi olemassa olevia ratkaisuja regressiotestien ja yleisestikin testisarjojen optimointia. Näistä käsitellään muun muassa heuristisia ja laskennallisen älykkyyden menetelmiä. Useimmissa tapauksissa nämä metodit perustuvat siihen, että testisarjat voivat sisältää testitapauksia, joissa on keskinäistä redundanssia. Menetelmät vaativat myös tietoa jokaisen testitapauksen koodikattavuudesta, virheiden paljastuskyvystä tai vaatimuskattavuudesta, jotta ne voidaan toteuttaa käytännössä.

Tämä työ tutkii myös tapoja löytää redundanssia testien jäljistä. Työ pohtii, voitaisiinko tätä tietoa käyttää testisarjojen optimointiin edellä mainittujen tietojen sijaan. Tämä työ esittelee uuden käsitteen, parittaisen supermaksimaalisen toiston.

Tapaustutkimus suoritettiin Nokia Networksin systeemikomponenttitason jatkuvan integroinnin järjestelmässä. Tapaustutkimuksessa kehitettiin testivetoisella kehityksellä MRS Finder -ohjelmisto, joka etsii toistoja parannetusta suffiksitaulusta ja tuottaa diagrammin, joka edustaa testien jälkiä. Diagrammista etsitään toistoja manuaalisesti ja suffiksitaulusta löydettyjä toistoja analysoidaan.

Tutkimus näyttää, että testien jäljistä voidaan löytää suuri määrä toistoja, joka tekee analysoinnista vaikeaa käsin. Toistot esiintyvät useammin testi tapauksien alkuasetus (setup) ja poiskorjaus (teardown) -vaiheissa kuin toiminta- tai vakuutusvaiheissa (assertion). Tutkimus näyttää myös, että MRS Finderilla löydetään erilaisia testi tapauksien optimointimahdollisuuksia kuin aluksi ajateltiin.

Identiferoai:union.ndltd.org:oulo.fi/oai:oulu.fi:nbnfioulu-201505291729
Date01 June 2015
CreatorsKallio, R. (Roope)
PublisherUniversity of Oulu
Source SetsUniversity of Oulu
LanguageEnglish
Detected LanguageFinnish
Typeinfo:eu-repo/semantics/masterThesis, info:eu-repo/semantics/publishedVersion
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess, © Roope Kallio, 2015

Page generated in 0.0017 seconds