Avoimen l hdekoodin SIP-toteutusten testaus TTCN-3-kielt k ytt en
Download
Report
Transcript Avoimen l hdekoodin SIP-toteutusten testaus TTCN-3-kielt k ytt en
Avoimen lähdekoodin SIP-toteutusten
testaus TTCN-3-kieltä käyttäen
Diplomityöseminaari 12.5.2005
Tekijä: Tuija Virtanen
Valvoja: prof. Raimo Kantola
Ohjaaja: DI Timo Aalto, TietoEnator
Copyright © 2005 TietoEnator Corporation
Esityksen rakenne
Työn tausta
Työn tavoitteet
TTCN-3 (Testing and Test Control Notation 3)
SIP (Session Initiation Protocol)
Testaus
Testijärjestelmä
Tulokset
Tulosten analysointi
Johtopäätökset
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 2
Työn tausta
Diplomityö liittyi TietoEnatorin tutkimusprojektiin, jossa arvioidaan
Linuxin ja avoimen lähdekoodin komponenttien soveltuvuutta
yrityskäyttöön.
Kaupalliset tuotteet vaativat spesifikaationmukaisuuden
Alkuoletuksemme mukaan:
– Avoimen lähdekoodin tietoliikennekomponenttien testaamista ja
spesifikaatioyhteensopivuuden arviointia tehdään harvoin
systemaattisesti
– Arviointi ja vertailu perustuvat vaihtelevantasoiseen
dokumentaatioon, ohjelmiston keskinäiseen
yhteistoimintotestaukseen ja viime kädessä lähdekoodin
tutkimiseen
– Testaus ei sisällä kattavia poikkeus- ja vikatilanteiden käsittelyitä.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 3
Työn tavoitteet
Tutustua TTCN-3-kieleen ja SIP-protokollaan kirjallisuustutkimuksen
avulla
Selvittää testien avulla kuinka hyvin valitut avoimen lähdekoodin
toteutukset vastaavat spesifikaatioita
Arvioida testauskokemuksen perusteella kuinka hyvin TTCN-3-kieli
sopii tällaiseen tutkimukseen
Todeta tulosten perusteella olisiko testattavista avoimen lähdekoodin
komponenteista potentiaalia yrityskäyttöön.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 4
TTCN-3 (Testing and Test Control Notation 3)
ETSI:n starndardoima abstrakti
testauskieli ja testijärjestelmäarkkitehtuuri
Uusin versio TTCN-3, joka pohjautuu
tekstiesitysmuotoon on lähempänä
perinteistä ohjelmointikieltä, kuin
aiemmat versiot
Kieli soveltuu erilaisten reaktiivisten
järjestelmien määritysten
testaukseen useiden eri
viestintärajapintojen yli
Käyttö ei rajoitu yhdenmukaisuustesteihin vaan voidaan käyttää
myös esim. regressio- ja
järjestelmätestauksessa
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 5
SIP (Session Initiation Protocol)
IETF:ssä kehitetty merkinanto-,
läsnäolo- ja pikaviestitysprotokolla
Avaa, muokkaa ja sulkee
multimediaistuntoja sekä pyytää ja
toimittaa läsnäolotietoja ja
pikaviestejä Internetin yli
Toimii sovelluskerroksella esim.
TCP:n tai UDP:n päällä
SDP (Session Description Protocol)
kuljetetaan SIP:n sanomakentässä
Verkko koostuu loogisesti erilaisista
verkkoelementeistä
Sanomat jaetaan pyyntö- ja
vastaussanomiin.
Kaikki vastaussanomaluokat (1xx6xx) tunnistettava
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 6
Testaus
Testilaitteistona käytettiin kahta Red Hat 9 -käyttöjärjestelmän
sisältävää Linux-konetta, joista toiseen asennettiin TTCN-3testausohjelmisto ja toiseen testattavat avoimen lähdekoodin
toteutukset
Testattavan avoimen lähdekoodin toteutukset olivat KPhone ja
Linphone nimiset SIP-UA-toteutukset
Testijärjestelmänä käytettiin OpenTTCN Oy:n toteuttamaa TTCN-3
SIP-testijärjestelmää
Testiaineistona käytettiin ETSI:n testisarjaa, josta valittiin UDP:n päällä
toimivaa SIP-UA:ta testaavat tapaukset, joita oli luokissa rekisteröinti,
puhelunhallinta ja sanomanvälitys, testeissä jouduttiin rajoittumaan
tapauksiin, jossa SIP-UA toimii rekisteröijänä tai lähtevänä
päätepisteenä.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 7
Testijärjestelmä
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 8
Tulokset
KPhonen testien onnistumisprosentti 75,19 % (pakollisilla testitapauksilla
77,27 %)
Linphonen testien onnistumisprosentti 63,91 % (pakollisilla testitapauksilla
66,36 %)
KPhonen onnistumisprosentit kaikissa luokissa (rekisteröijä/lähtevä
päätepiste, rekisteröinti/puhelunhallinta/sanomanvälitys, oikea
toiminta/ajastimet/virheellinen toiminta) korkeammat kuin Linphonen
onnistumisprosentit
Rekisteröijänä toimittaessa testitapauksille korkeat onnistumisprosentit
Virheellisen toiminnan testitapauksille korkeat onnistumisprosentit
Ajastintestitapauksille matalat onnistumisprosentit
KPhonesta listattu 21 eri virhettä, Linphonesta 30 virhettä
Vikalistaluokat: ajastinongelmat, käyttöliittymäpuutteet, kuittauksen
puuttuminen, ylimääräisen kuittauksen lähettäminen, väärän sanoman
lähettäminen, odotetun sanoman lähetyksen puute, kenttävirhe, ohjelma
kaatuu/on käynnistettävä uudelleen onnistuneen testinsuorituksen jälkeen.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 9
Tulokset
KPhone - pakolliset
LinPhone - pakolliset
KPhone - kaikki
LinPhone - kaikki
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
P
SI
)
10
/1
33
(
_I
X)
(X
X_
_X
XX
)
11
8/
(1
)
85
9/
(9
4)
/1
16
I
_T
X)
(X
X_
_X
XX
2)
/9
09
(1
)
18
4/
(2
_V
X)
(X
X_
_X
XX
E
T
)
69
4/
6)
2/
)
35
7/
(3
(8
O
X_
(1
P_
SI
P_
SI
P_
SI
P_
SI
G
M
CC
(1
R
X_
P_
SI
P_
SI
P_
SI
RG
P_
SI
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 10
Tulosten analysointi
ETSI:n testisarja sisälsi kohtuuttoman paljon virheitä
Ajastinongelmat voivat johtua osittain testausteknisistä asioista
Purkuongelmat saattavat johtua testitapausvirheistä
Muutamien vikojen perusteella vaikutti siltä, että molemmat SIP-UAtoteutukset tukisivat vanhaa spesifikaatiota
Useat virheet johtuivat spesifikaation puutteellisesta tukemisesta
(esim. lyhyen muodon 200 OK -sanomia ei tueta) eli erikoistilanteita ei
ole toteutettu kattavasti
Huomioitava, että toteutuksista on jo uusia versioita. Näitä ei
kuitenkaan testattu tämän diplomityön puitteissa ja ylimalkaisen
dokumentaation perusteella on mahdotonta arvioida vaikuttaisivatko
korjaukset tässä työssä havaittuihin vikoihin.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 11
Johtopäätökset
Lopullisissa testituloksissa voi olla virheitä johtuen testitapausvirheistä,
parametrimäärittelyistä tai testijärjestelmästä.
Molemmat toteutukset toimivat kohtuullisesti
Poikkeustilanteissa on korjattavaa melko paljon
Vikatilanteet toimivat keskimääräistä paremmin
Tuotteet tarkoitettu ei-kaupallisiin tarkoituksiin, joten on ymmärrettävää,
etteivät kaikki erikoistilanteet toimi
Yhteistoiminnassa voi kuitenkin tulla ongelmia
Toteutukset eivät sovi tällaisenaan yrityskäyttöön mutta ne ovat
kehityskelpoisia. Testit laajennettava päättyvän pään puolelle ja kaikki
tapaukset ajettava uudelleen uusilla versioilla.
TTCN-3 sopii hyvin testaukseen, jossa tutkitaan ohjelmiston spesifikaation
mukaisuutta. TTCN-3-testijärjestelmä ei kuitenkaan huomioi testitapauksen
päätyttyä tapahtuvia vikatilanteita esimerkiksi ohjelman kaatumista.
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 12
Kysymyksiä tai kommentteja?
2005-03-22
Copyright © 2004 TietoEnator Corporation
Page 13