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