There are some systems (or parts of systems) that are very critical and need especially good test suites to test them. For these critical systems, exhaustive testing may be a good way to test them. Thus, we have implemented two versions of bounded exhaustive search (BES) algorithms in a model-based testing tool called, Modbat. One of the BES versions (BESnL) visits each self-loop in the model only once. The other version (BESL) has no constraint or limitation on the number of time it visits each self-loop. We have then compared the two BES algorithms with each other and with an already implemented algorithm in Modbat called random search (RS). We have run the three mentioned algorithms (BESL, BESnL and RS) on five different models and compared their performance on these models in terms of time, coverage and finding faults. We have found that BESnL is faster than BESL and it can miss some faults that BESL can find. However, BESnL can find errors faster than BESL. BESL has sometimes better performance than BESnL in terms of branch coverage. In terms of other coverage criteria (like state coverage, transition coverage and instruction coverage), both BESL and BESnL has very similar performance. We have also found that running the RS algorithm is, in general, faster than both BES algorithms at generating tests (given the same total number of tests generated) if the model has a clear end state. RS may also be faster at finding faults than the BES algorithms. However, The BES algorithms and the RS algorithm have similar behaviours regarding coverage. Nevertheless, RS can sometimes reach higher coverage faster than the BES algorithms and with a smaller number of tests. / Det finns vissa system (eller delar av system) som är mycket essentiella och som behöver särskilt bra testsviter för att testa dem. För dessa essentiella system kan uttömmande tester vara ett bra sätt att testa dem. Således har vi implementerat två versioner av begränsad uttömmande sökning eller på engelska ”bounded exhuastive search” (BES) algoritmer i ett modellbaserat testverktyg kallat Modbat. En av BES-versionerna (BESnL) besöker varje självslinga i modellen bara en gång. Den andra versionen (BESL) har ingen begränsning av hur många gånger den besöker varje självslinga. Vi har sedan jämfört de två BES-algoritmerna med varandra och med en redan implementerad algoritm i Modbat som kallas slumpmässig sökning eller på engelska ”random search” (RS). Vi har kört de tre nämnda algoritmerna (BESL, BESnL och RS) på fem olika modeller och jämfört deras prestanda på dessa modeller när det gäller tid, täckning (coverage) och att hitta fel. Vi har funnit att BESnL är snabbare än BESL och det kan missa några fel som BESL kan hitta, men BESnL kan hitta fel snabbare än BESL. BESL har ibland bättre prestanda än BESnL när det gäller filialtäckning (branch-coverage). När det gäller andra täckningskriterier (som statlig täckning, övergångstäckning (tranintion-coverage) och instruktionstäckning) har både BESL och BESnL mycket liknande resultat. Vi har också funnit att körning av RS-algoritmen i allmänhet är snabbare än båda BES- algoritmerna vid generering av tester (givet samma totala antal genererade tester) om modellen har ett klart slutläge (end-state). RS kan också vara snabbare att hitta fel än BES-algoritmerna. BES-algoritmerna och RS-algoritmen har dock liknande beteenden när det gäller täckning. RS kan ibland nå högre täckning snabbare än BES-algoritmerna och med ett mindre antal tester.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-303861 |
Date | January 2021 |
Creators | Almajni, Nour Alhuda |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:581 |
Page generated in 0.0029 seconds