Thesis (MSc) -- Stellenbosch University, 2003. / ENGLISH ABSTRACT: Software testing tools simplify and automate the menial work associated with testing. Moreover,
for complex concurrent software such as computer protocols, testing tools allow testing
on an abstract level that is independent of specific implementations. Standard conformance
testing methodologies and a number of testing tools are commercially available, but detailed
descriptions of the implementation of such testing tools are not widely available.
This thesis investigates the development of a tool for automated protocol testing in the ETH
Oberon development environment. The need to develop a protocol testing tool that automates
the execution of specified test cases was identified in collaboration with a local company that
develops protocols in the programming language Oberon. Oberon is a strongly typed secure
language that supports modularisation and promotes a readable programming style. The
required tool should translate specified test cases into executable test code supported by a
runtime environment. A test case consists of a sequence of input actions to which the software
under test is expected to respond by executing observable output actions.
A number of issues are considered of which the first is concerned with the representation
of test case specifications. For this, a notation was used that is basically a subset of the
test specification language TTCN-3 as standardised by the European Telecommunications
Standards Institute.
The second issue is the format of executable test cases and a suitable runtime environment.
A translator was developed that generates executable Oberon code from specified test cases.
The compiled test code is supported by a runtime library, which is part of the tool. Due
to the concurrent nature of a protocol environment, concurrent processes in the runtime
environment are identified. Since ETH Oberon supports multitasking in a limited sense, test
cases are executed as cooperating background tasks.
The third issue is concerned with the interaction between an executing test case and a system
under test. It is addressed by an implementation dependent interface that maps specified test interactions onto real interactions as required by the test context in which an implementation
under test operates. A supporting protocol to access the service boundary of an implementation
under test remotely and underlying protocol service providers are part of a test context.
The ETH Oberon system provides a platform that simplifies the implementation of protocol
test systems, due to its size and simple task mechanism. Operating system functionality
considered as essential is pointed out in general terms since other systems could be used to
support such testing tools. In conclusion, directions for future work are proposed. / AFRIKAANSE OPSOMMING: Toetsstelsels vir programmatuur vereenvoudig en outomatiseer die slaafse werk wat met toetsing
assosieer word. 'n Toetsstelsel laat verder toe dat komplekse gelyklopende programmatuur,
soos rekenaarprotokolle, op 'n abstrakte vlak getoets word, wat onafhanklik van spesifieke
implementasies is. Daar bestaan standaard metodes vir konformeringstoetsing en 'n
aantal toetsstelsels is kommersiëel beskikbaar. Uitvoerige beskrywings van die implementering
van sulke stelsels is egter nie algemeen beskikbaar nie.
Hierdie tesis ondersoek die ontwikkeling van 'n stelsel vir outomatiese toetsing van protokolle
in die ontwikkelingsomgewing van ETH Oberon. Die behoefte om 'n protokoltoetsstelsel te
ontwikkel, wat die uitvoering van gespesifiseerde toetsgevalle outomatiseer, is geïdentifiseer
in oorleg met 'n plaaslike maatskappy wat protokolle ontwikkel in die Oberon programmeertaal.
Oberon is 'n sterkgetipeerde taal wat modularisering ondersteun en a leesbare programmeerstyl
bevorder. Die toestsstelsel moet gespesifiseerde toetsgevalle vertaal na uitvoerbare
toetskode wat ondersteun word deur 'n looptydomgewing. 'n Toetsgeval bestaan uit 'n reeks
van toevoeraksies waarop verwag word dat die programmatuur wat getoets word, sal reageer
deur die uitvoering van afvoeraksies wat waargeneem kan word.
'n Aantal kwessies word aangeraak, waarvan die eerste te make het met die voorstelling van
die spesifikasie van toetsgevalle. Hiervoor is 'n notasie gebruik wat in wese 'n subversameling
van die toetsspesifikasietaal TTCN-3 is. TTCN-3 is gestandardiseer deur die European
Telecommunications Standards Institute.
Die tweede kwessie is die formaat van uitvoerbare toetsgevalle en 'n geskikte looptydomgewing.
'n Vertaler is ontwikkel wat uitvoerbare Oberon-kode genereer vanaf gespesifiseerde toetsgevalle.
Die vertaalde toetskode word ondersteun deur 'n biblioteek van looptydfunksies, wat
deel van die stelsel is. As gevolg van die eienskap dat 'n protokolomgewing uit gelyklopende
prosesse bestaan, word daar verskillende tipes van gelyklopende prosesse in 'n protokoltoetsstelsel
geïdentifiseer. Aangesien ETH Oberon 'n beperkte multitaakstelsel is, word toetsgevalle vertaal na eindige outomate wat uitgevoer word as samewerkende agtergrondtake.
Die derde kwessie het te make met die interaksie tussen 'n toetsgeval wat uitgevoer word en
die stelsel wat getoets word. Dit word aangespreek deur 'n koppelvlak wat gespesifiseerde
interaksies afbeeld op werklike interaksies soos vereis deur die konteks waarin 'n implementasie
onderworpe aan toetsing uitvoer. 'n Ondersteunende protokolom die dienskoppelvlak van
die implementasie oor 'n afstand te bereik en ander onderliggende protokoldienste is deel van
'n toetskonteks.
Die ETH Oberon-stelsel help in die vereenvoudiging van die implementasie van protokol toetsstelsels,
as gevolg van die stelsel se grootte en die eenvoudige taakhanteerder . Die essensiële
funksionaliteit van bedryfsstelsels word uitgelig in algemene terme omdat ander stelsels gebruik
kan word om toetsstelsels te ondersteun. Ten slotte word voorstelle vir opvolgwerk
gemaak.
Identifer | oai:union.ndltd.org:netd.ac.za/oai:union.ndltd.org:sun/oai:scholar.sun.ac.za:10019.1/53363 |
Date | 04 1900 |
Creators | Myburgh, W. D |
Contributors | De Villiers, P.J.A, Stellenbosch University. Faculty of Science. Department of Mathematical Sciences. |
Publisher | Stellenbosch : Stellenbosch University |
Source Sets | South African National ETD Portal |
Language | en_ZA |
Detected Language | Unknown |
Type | Thesis |
Format | xi, 101 pages : illustrations |
Rights | Stellenbosch University |
Page generated in 0.0095 seconds