Gianfranco Simonetta

 

Automatic execution of GSM messages in a simulated environment

 

Abstract

 

This Master’s thesis presents the design and implementation of part of a system that automatically generates and executes tests of the kind needed to test communication between a mobile station and a base station. The system is a random test case generator, named Rantex, and was ordered by a development unit that works with radio networks, within the telecommunication enterprise Ericsson AB.

 

Rantex creates test cases and adds them to a test sequence. The test cases are made up of messages, each representing a GSM service included in the software to test, called TFS. The message contains different parts. Of these parts, some can be defined randomly, other need to observe rules of dependencies either on other parts of the same message or on parts included in previous messages. When the test sequence is completed, it can be executed in a simulated environment. Rantex sends the messages and waits for the answers from the simulators. The answers are examined by Rantex and a report is sent to the user.

 

The whole project was divided in two responsibility areas, one more concentrated on the generation of test sequences and the other with focus on the execution of them. I was responsible for second and Sam Mottaghi, another student at KTH, was responsible for the first. To get a deeper understanding of the structure and function of Rantex it is therefore a good idea to read even his master’s thesis “Automatic black-box testing of GSM traffic in a simulated environment”.

 

This thesis offers a general description of Rantex, giving a more detailed description of the modules for the execution of the test sequence and of the generation process. Furthermore, some tools added to the core part of Rantex are described here. These modules were developed to help the tester in his daily work.  

 

 

 


 Automatisk exekvering av GSM-meddelanden i en simulerad miljö

 

Sammanfattning

 

I denna uppsats redovisas designen och implementeringen av ett system, kallat Rantex, som automatiskt genererar och exekverar tester som behövs för att testa mjukvaran ansvarig för kommunikationen mellan en basstation och en mobiltelefon i ett GSM-nät. Systemet är en slumpmässig automatisk generator av testfall och utvecklades på beställning av en avdelning inom telecomföretaget Ericsson AB.

 

Rantex genererar testfall och lägger dem i en testsekvens. Testfallen består av textmeddelanden, vart och ett representerande en av GSM-tjänsterna inkluderade i mjukvaran som är mål för testningen. Varje meddelande i testsekvensen är uppbyggt av flera fält, alla innehållande ett eller flera värden. Dessa värden kan i vissa fall slumpas fram, medan i andra bestäms de av regler och beroenden som existerar antingen mellan olika fält i samma meddelande eller mellan fält tillhörande olika meddelanden. När en testsekvens har tagits fram, kan den exekveras i den simulerade miljön. Rantex skickar då meddelandena i sekvensen och väntar på svaren från simulatorerna. Svaren examineras av Rantex och en rapport skickas till användaren.

 

Avdelningen hade försökt utveckla ett sådant system tidigare, bland annat med hjälp av utomstående konsultbolag. Resultaten levde dock aldrig upp till förväntningarna och var sällan användbara om inte i liten skala. Innan denna version togs fram var testarna tvungna, i de flesta fall, att skriva alla sina testfall för hand. Att skriva testfall för hand medför flera nackdelar. Förutom tiden det tar att skriva testerna, har man en tendens som testare att dels överskatta mängden kod som blir testad och dels undvika de riktigt svåra och komplicerade fallen. Med en automatisk generator av testfall kan mängden otestad kod minskas avsevärt.

 

Rantex utvecklades i samarbete med Sam Mottaghi, även han student på Kungliga Tekniska Högskolan.  För att få en mer detaljerad bild om hur hela systemet är uppbyggt vore det därför bra att även läsa hans rapport ”Automatic black-box testing of GSM traffic in a simulated environment”. 

 

Denna rapport börjar med en allmän beskrivning av Rantex för att sedan gå in mer i detalj i beskrivningen av modulerna ansvariga för exekveringen av testsekvenserna och de ansvariga för resursåtgången i den simulerade miljön.  Dessutom ges här en beskrivning av de verktygen som lades till Rantex och som är tänkta ska hjälpa testarna i sitt dagliga arbete. 

 

Utvecklingen av Rantex tog fem månader och medförde att ett nytt språk för att definiera GSM-tjänsterna och beroenden inom och mellan dessa togs fram. Systemet används regelbundet av företaget idag och anses vara till stor hjälp i testningen av mjukvaran.