FP /

TestingARadioBaseStationWithQuickCheck

Masters Thesis: Testing a Radio Base Station with QuickCheck

(Ericsson/Quviq)

Background and Task:

The goal of this Masters Thesis is to develop QuickCheck test suites for Ericsson's 3G Radio Base Station (RBS), one of Ericsson's most important products. The RBS is controlled by sending it commands using standardized telecom protocols, and is then responsible for opening and maintaining radio communication channels with the connected handsets. Previously the RBS software has been tested by sending it appropriate commands and checking its replies, using a fairly crude simulation of the underlying hardware. Now the real hardware is available, and so much more complete testing is possible. The test framework, and the test cases, are written in Erlang.

QuickCheck

QuickCheck is a property-based testing tool which generates and runs test cases from a formal specification; in contrast to conventional testing, there is no need to construct individual test cases by hand, instead the focus is on properties which should always hold. Originally developed in Haskell, there is now a commercial Erlang version of QuickCheck sold by Quviq, which is in use in Ericsson's RBS group, and will be used for this project. Formal specifications are written as Erlang function definitions, using QuickCheck's API which supports both properties and models expressed as abstract state machines. The challenge of QuickCheck testing is finding an appropriate formal specification for the industrial software under test, which also yields effective testing--and which is as close as possible to the informal specifications already available.

This project builds on a previous Masters Thesis from Linköping University, which may be downloaded from this link:

http://www.ep.liu.se/smash/record.jsf?searchId=1&pid=diva2:23856

The previous work tests only a part of the RBS' functionality, and needs extension to specify the interaction with the hardware in more detail.

Quviq will provide assistance in using QuickCheck during the project.

Location:

The work will be carried out at Ericsson's site in Kista, Stockholm.

Supervisor:

Andreas Granberg from Ericsson will be the supervisor for this project.

Prerequisites:

This project will be carried out by a pair of students. Functional Programming (Haskell/Erlang grade 4 or higher), advanced functional programming is an advantage. Formal methods QuickCheck(Training in Erlang and Quviq QuickCheck will be provided). Knowledge of formal methods in general will also be valuable, as will experience with any version of QuickCheck.

Project propsed by John Hughes (at john.hughes AT quviq.com).


15 January 2009 Shyun based entirely on John Hughes version at http://www.chalmers.se/cse/SV/utbildning/grundutbildning/examensarbeten/thesis-proposals/exam/downloadFile/attachedFile_1_f0/QuickCheck_at_Ericsson_2008-11?nocache=1231766816.73