Laajenna kaikki Sulje kaikki
Dokumentin nimi: 10. Testaussuunnitelma
Dokumentin tekijät Juha Lähteenmäki
Dokumentin jakelu: Juha Lähteenmäki
Dokumentin jakelun rajoitukset Ei rajoituksia
Viimeksi muokattu: 20.08.2003
Dokumentin versiotiedot: (esim. Työversio (beta 1.0),Versiosykli nro 1) versio 1.0, versiosykli 2 (valmistumis pvm: 16.07.03) (BetaTestien tulokset merkitään vielä myöhemmin näkyviin) SP1 (20.8.03)
Dokumentin kattavuus: Kattaa komponentin testauksen suunnittelun ja testitapausten kuvaukset.
Dokumentointi malli: STEP työversio 1.0 beta 1, SoftaSpec Versio 1.0 beta 3
Liittyy osana dokumenttiin: HtmlEditCtrl SoftaSpec
Osan pakollisuus: Pakollinen kaikissa suuremmissa ja tärkeään käyttöön tarkoitetuissa järjestelmissä/komponenteissa.
Dokumentin muutoksia: (ekan version valmistumisen jälkeen) (22.6.03, Juha)
  • Lisätty muutama testitapaus toiminnallisuus testeihin (Toolbar:n piilotusta ja ReadOnly moodia sekä suunnittelutilaa ajatellen)
  • Lisätty suorituskykytestien kuvaukseen testaus hitaahkon suorakaapeliyhteyden läpi

(16.7.03, Juha)

  • Päivitetty dokumentointimallin nimi, tarkastettu, lisätty suorituskykytestin tulos

 

- 10.1 Yleistä

Tämän projektin testaus suoritetaan sekä ns. suunniteltuna testauksena että erillisenä beta-testauksena. Beta versioilla ei beta-testauksen valmistumista tietenkään odotella vaan  kehitysversiot eli Betat julistetaan valmistuneeksi heti kun ne ovat läpäisseet hyväksytysti ko. vaiheen suunnitellun testauksen osat. 

Suunnitellussa testauksessa kaikki testitapaukset on ennalta mietitty ja tulokset kirjataan ylös vähintään hyväksymiskuittauksen muodossa. Testit voi hyväksyä ainoastaan projektin pääsuunnittelija Juha Lähteenmäki.  Suunniteltu testaus jaetaan kuuteen osaan: Ominaisuus- ja toiminnallisuuspainotteisiin testeihin joissa testataan järjestelmällisesti  eri ominaisuudet ja toiminnot määrittelyn mukaisesti (tärkein testiryhmä), suorituskykypainotteisiin testeihin joissa testataan toimintaa ja suorituskykyä vaihtelevalla kuormituksella, integrointitesteihin joissa testataan toimintaa monimutkaisissa yhteyksissä ja ympäristöissä sekä yhteensopivuustesteihin joissa testataan järjestelmän toimintaa eri ohjelmisto- ja laitteistokokoonpanoilla.  Johtuen testaukseen varatusta suhteellisen vähäisestä ajasta ja toisaalta projektin pienestä koosta testitapaukset pyritään pitämään suhteellisen laajana (ts. testataan useampaa asiaa yhtä aikaa).

Kutakin testityyppiä vastaa vähintään yksi ASPX-sivu (Web-projektit). Testisivut on koottu yhteen testiprojektiin joka on nimetty "HtmlEditTbox10TestProject" . Kukin testisivu on nimetty niin että sivun nimi alkaa testityypin tunnisteella (esim ominaisuus- ja toiminnallisuuspainotteisilla testeillä  Pr:llä ja alaviivalla) minkä jälkeen tulee testisivun tarkempi nimi. Tarkempi nimi voi olla suoraan testiryhmän nimi mikäli muita sivuja ei ko. testiryhmään kuulu (esim. Pr_Ominaisuus- ja toiminnallisuuspainotteiset testit.aspx) Testiprojekti on säilytettävä sellaisenaan myös testien päätyttyä jotta testit on tarpeen mukaan toistettavissa.

 

- 10.2 Ominaisuus- ja toiminnallisuuspainotteiset testit

Ominaisuuspainotteisilla testeillä (merkitään Pr=Property+nro) pyritään testaamaan järjestelmällisesti järjestelmän/komponentin eri toiminnot ja ulkoasu määrittelyn mukaisesti

 

Testitapaus (+Id): Pr1 Suunnittelutilan (Visual Studio.NET /ASP.NET WebMatrix) ja kontrollin toimivuuden perustesti
Kuvaus/tarkennus: Lisätään kutakin moodia vastaten yksi kontrolli tyhjään projektiin ja muutetaan siitä paria ominaisuutta properties valikon kautta. Muutetaan kontrollin leveyttä/korkeutta vetämällä hiirellä. Siirrellään kontrollia paikasta toiseen.  Lisätään kontrollin TboxHtmlSaved -eventille käsittelijä ja tutkitaan että ko. eventti toimii ja kontrolli renderöityy oletetulla tavalla. Lisätään lisäksi kutakin moodia vastaten yksi kontrolli jonka ominaisuuksia ei muuteta ollenkaan (moodia  ja sijaintia lukuunottamatta). Tutkitaan näin oletusasetusten toimivuutta.
Hyväksymiskriteerit: Kontrollin lisääminen toimii kuten yleensä (Vedä-pudota). Ominaisuuksien muuttaminen käy normaaliin tapaan sekä properties valikon kautta että hiirellä esim. kontrollia levittämällä ja ominaisuudet päivittyvät suunnittelutilaan. Kontrollia pystyy siirtelemään sivulla. Eventin pystyy lisäämään normaalisti properties valikon kautta. Projektin ajaminen ja debuggaus onnistuu tavalliseen tapaan. Eventin käsittely toimii
Hyväksyjä/pvm: Juha Lähteenmäki / 23.6.2003 (Korjattu HtmlText:n häviäminen 1h) Testipenkki ja testaus 1/2 h.
Huomautettavaa: -

 

Testitapaus (+Id): Pr2 Ominaisuus testi
Kuvaus/tarkennus: Muutetaan jokaista kontrollin muutettavissa olevaa ominaisuutta sekä Aspx-sivulta käsin että dynaamisesti ajonaikana

Luetaan jokaisen luettavissa olevan ominaisuuden arvo

Hyväksymiskriteerit: Kaikki ominaisuudet toimivat määrittelyn ja CodeCommentReport:ien mukaisesti
Hyväksyjä/pvm: Juha Lähteenmäki / 24.6.2003 (Runsaasti pieniä ja vähän isompia virheitä korjattu) (testipenkin rakennus vei noin 2h ja testaus/korjaus 5h)
Huomautettavaa: Visible ominaisuuden muuttaminen false-tilaan ja takaisin true tilaan ajon aikana hävittää kontrollin teksti-sisällön (Html-text)

 

Testitapaus (+Id): Pr3 Toiminto testi
Kuvaus/tarkennus: Testataan jokaista julkista HtmlEditTbox:n metodia/eventtiä ja ajonaikana jokaista toimintoa (erityisesti tekstin säilyminen ja tallennus)
Hyväksymiskriteerit: Kaikki metodit/eventit/toiminnot toimivat määrittelyn ja CodeCommentReport:ien mukaisesti
Hyväksyjä/pvm: Juha Lähteenmäki / 24.6.2003 (Toiminnot testattu melko pintapuolisesti koska ne on pääosin testattu jo muiden testien yhteydessä, julkisia metodeita ei kontrollin rajapinnassa ole suunnittelutilan GetDesignTimeHtml() jota ei ajonaikana nähty tarpeelliseksi testata)(testaus + testisivun rakentaminen n 1/2 h ei virheitä)
Huomautettavaa: -

 

Testitapaus (+Id): Pr4 Prosenttiosuustesti
Kuvaus/tarkennus: Lisätään 3 kpl HtmlEditTbox kontrolleja taulukkoon jonka leveys ja korkeus on 100%. Taulukossa on kaksi riviä ja kaksi saraketta. Kontrollit lisätään taulukkoon seuraavasti. Ensimmäisen rivin ensimmäiseen sarakkeeseen kontrolli jonka leveys 90% ja korkeus 100%, toiseen kontrolli jonka leveys 100% ja korkeus 300px ja toisen rivin ensimmäiseen sarakkeeseen kontrolli jonka korkeus 100% ja leveys 300px. Viimeiseen sarakkeeseen lisätään vielä Button jonka korkeus ja leveys 100%. Kirjoitetaan sitten kontrolleihin eri pituisia tekstejä joissa käytetään erityisesti pitkiä sanoja. Muutetaan kontrollien paria vapaavalintaista ominaisuutta ajon aikana dynaamisesti kun nappulaa painetaan. Muutellaan sivun korkeutta ja leveyttä ja seurataan kontrollien käyttäytymistä. Valitaan source-näyttö jokakerta kun kontrollin sisältö tai koko muuttuu.
Hyväksymiskriteerit: Kontrollit toimivat riittävän nopeasti (kasvatuksen vasteajat alle 2s) ja koko muuttuu määrittelyn mukaan. Ainakin ensimmäisessä Beta-vaiheessa hyväksytään kontrollin koon muuttuminen muilla kuin pikseli arvoilla post-packin ja kirjoituksenkin yhteydessä kunhan koko säilyy normaaleilla teksteillä järkevissä rajoissa.
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003 (Testattu kaikilla moden arvoilla)(45min testipenkki + testaus)
Huomautettavaa: Ok, joskin kontrollin koko muuttui prosentti leveyksisellä kontrollilla mikäli kontrollin sisällä oli pidempiä kuin kontrollin levyisiä sanoja, prosentuaalisten korkeuksien jakautuminen ei ollut täysin järkevää vaan ylempi kontrolli sai suurimman osan tilasta

 

Testitapaus (+Id): Pr5 ViewStaten disablointitesti
Kuvaus/tarkennus: Testataan kontrollin toimivuutta kun ViewState on disabloitu
Hyväksymiskriteerit: Kaikki ominaisuudet toimivat Aspx-sivulta asetettaessa normaalisti. Ominaisuudet toimivat ajonaikana asetettuna normaalisti mikäli ne asetetaan aina uudelleen jokaisen pageloadin yhteydessä. Metodit ja eventit toimivat normaalisti eikä teksti katoa.
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003 (Korjattu source-tilan näkyminen suunnittelutilassa (aiemmin Html-source ei tullut näkyviin), 45 min) testipenkki + testaus 1/2 h
Huomautettavaa: Ok, kaikkia ominaisuuksia ei tosin testattu mutta tulleet esille muissa yhteyksissä. Source tilan korjauksen jälkeenkin jäi ajonaikaiseen source-tilaan se ero että (johtuen source-tilaan käytetyn HTML:n  TEXTAREA:n ominaisuuksista Huom. DIV-ei tue staattista InnerText ominaisuutta) pystysuuntaista vierityspalkkia ei saada suunnittelutilassa pois näkyvistä vaikka sitä ei ajonaikana välttämättä näykään.

 

Testitapaus (+Id): Pr6 ReadOnly moodin testi
Kuvaus/tarkennus: Testataan kontrollin toimivuutta ReadOnly moodissa. Vierityspalkki, koon kasvattaminen suunnittelutilassa, editoinnin esto, ajonaikainen toiminta, Html:n säilyminen, tekstin asetus ajonaikana ja suunnittelutilassa.
Hyväksymiskriteerit: Kontrolli toimii määrittelyn ja odotusten mukaisesti ReadOnly-tilassa
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003
Huomautettavaa: -

 

Testitapaus (+Id): Pr7  Suunnittelutilan ulkoasun vastaavuus ja suunnittelutilan käytön testi
Kuvaus/tarkennus: Testataan kontrollin toimivuutta suunnittelutilassa. Lisääminen ToolBox:iin ja koon/ulkoasun vastaavuus ajonaikaan nähden. Testataan erityisesti kaikissa eri moodeissa.
Hyväksymiskriteerit: Kontrolli toimiii määrittelyn ja odotusten mukaisesti kaikissa tiloissa. Yksi pieni ja harvoin esiintyvä poikkeama suunnittelutilan ja ajonaikaisen ulkoasun välillä sallitaan. Muutoin esim. koon on oltava rajoissa +-2% /suunta
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003 Suunnittelutilan vastaavuus leveyksissä ja korkeuksissa vastaavuudet tarkastettu px-mitoilla.

Vastaavuudet (leveys x korkeus, suunnittelu/ajon aikainen)hakasulkeissa oletusmitoilla

Advanced-tila: (680 x 238) / (680 x 239), [(546 x 136)/(564 x 133)]

Basic-tila: ks. edell., [(264 x 136) / (264 x 133)]

ReadOnly tila (680x238) / (680 x 239), [(264 x 132) / (264 x 132)]

Omaa testisivua ei tätä testiä varten nähty tarpeelliseksi tehdä. (aikaa kului testaus + testipenkki 1h)

Huomautettavaa: Hyväksyttiin vaikka oletuskoossa advanced tilassa esiintyi läveyden kohdalla 2% rajaa suurempi 3,2% poikkeama. Tämä siitä syystä että oletuskoossa ei koon vastaavuuden suhteen ole käytännössä yhtä suurta merkitystä vaan jos koon halutaan pysyvän tarkasti tietyssä arvossa  koko yleensä asetetaan.

Toinen havaittu virhe oli että todelliset mitat poikkesivat jonkin verran asetetuista mutta poikkeama mahtui 2%:n sisään.

 

 

- 10.3 Moduuli ja integrointi testit

Integrointi testeillä (merkitään I= integration+nro) pyritään  testaamaan järjestelmän/komponentin ja sen eri osien toimintaa monimutkaisissa yhteyksissä ja ympäristöissä.

Testitapaus (+Id): I1 Kontrollin ominaisuus ja integrointi testi
Kuvaus/tarkennus: Muutetaan kaikkia kontrollin muutettavissa olevia ominaisuuksia yhteen vapaa-valintaiseen arvoon sekä suunnittelutilan properties sivun kautta että dynaamisesti ajonaikana. Yhden HtmlEditTbox-kontrollin lisäksi projektissa tulee olla enintään 10 kpl mutta vähintään 5kpl  muita .NET:n mukana tulevia peruskontrolleja testin suorittamista varten
Hyväksymiskriteerit: Kontrolli toimii määrittelyn ja koodin summary-kommenttien mukaisesti. Kontrolli ei vaikuta mitenkään sivun muiden kontrollien toiminnallisuuteen
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003 (Vastaa käytännössä Pr2 testiä, koska ko. testisivulla yli 5 ulkopuolista kontrollia ts --> käytetään samaa testiformia) Testit + testipenkki 15 min
Huomautettavaa: -

 

Testitapaus (+Id): I2 Kontrollin Save-Eventti testi
Kuvaus/tarkennus: Testin I1 kontrollille lisätään TboxHTMLSaved -eventille käsittelijä ja testataan sen toimivuus
Hyväksymiskriteerit: Kontrolli toimii määrittelyn ja koodin summary-kommenttien mukaisesti. Kontrolli ei vaikuta mitenkään sivun muiden kontrollien toiminnallisuuteen
Hyväksyjä/pvm: Juha Lähteenmäki / 25.6.2003 (Vastaa käytännössä Pr2 testiä, koska ko. testisivulla yli 5 ulkopuolista kontrollia ts --> käytetään samaa testiformia) Testit + testipenkki 1 min
Huomautettavaa: -

 

- 10.4 Suorituskykypainotteiset testit

Suorituskykypainotteisilla testeillä (merkitään Pe=Performance+nro) pyritään  testaamaan toimintaa ja suorituskykyä vaihtelevalla kuormituksella määrittelyn tarjoamissa rajoissa ja nimenomaan äärirajoilla.

Kustakin testitapauksesta seuraava informaatio

Testitapaus (+Id): Pe1
Kuvaus/tarkennus: Testataan sivun toimintaa ja latautumisaikaa 10Mb:n sisäverkossa/hitaahkolla rinnakkaiskaapelilla toteutetulla suorakaapeliyhteydellä 10:llä yhtäaikaisella kontrollilla joiden koko on pikseleinä. Verrataan eroja suorituskyvyn välillä kun ViewState on disabloitu tai enabloitu. Testataan Save-eventtiä ja muutaman ominaisuuden muuttamista ajonaikana. Suorakaapeliyhteydessä käytetään testikoneena kannettavaa P133 käyttöjärjestelmänä Win98SE, IE5.5 ja 32 Mt muistia. Näyttötila 800x600
Hyväksymiskriteerit: Vasteaika hitaimmallakin koneella enintään 10s. Toiminta ei millään kokoonpanolla silmiinpistävän tahmeaa.
Hyväksyjä/pvm: Tiedoston koko n. 175kt josta n 100kt ViewStatea

(Testi kannettavalla P4 2,5 GHz 512 Mt muistia: vasteajat viewstaten kanssa n 4s ilman viewstatea noin puolet nopeampia. Juha Lähteenmäki / 25.6.2003 (n 1/2h)

Testi rinnakkaisportin läpi --> OK  Juha Lähteenmäki/16.07.2003 (1/2 h)

 

Huomautettavaa: -

 

- 10.5 Yhteensopivuustestit

Yhteensopivuus testeillä (merkitään C =Compatability+nro) pyritään  testaamaan toimintaa eri ohjelmisto ja laitteistokokoonpanoilla

Kaikki edellä tehdyt testit ajetaan kaikilla alla määrätyillä laitteisto- ja ohjelmistokokoonpanoilla joista jokaisen kokoonpanon täytyy antaa kaikissa testeissä hyväksyttävä tulos. Yksi pieni puute sallitaan yhdellä kokoonpanolla. Muuten toiminnan täytyy olla täysin testitapausten määrittelyn mukaista

Testiprojektit käännetään Windows XP käyttöjärjestelmässä,  .NET-frameworkin 1.1 versiolla (SP1) sekä IIS ja  IE:n uusimmilla versioilla. Koneina käytetään Pentium IV  2,54 GHz ja Amd Athlon 800 Mhz kokoonpanoja varustettuna 512 Mt:n muistilla. Edellä mainitut järjestelmät toimivat myös testin palvelinkokoonpanona.  Asiakaspään toiminnan testausta varten kaikki testit ajetaan kummallakin palvelin koneella siten että toinen koneista toimii vuoronperään asiakas ja vuoronperään palvelinkoneena. Lisäksi testit ajetaan myös kummallakin koneella paikallisesti (localhost). Asiakaspään suorituskyky/ohjelmistoympäristö vaatimusten testaamiseksi kaikki ajonaikaiset testit suoritetaan isäksi myös  10Mb:n lähiverkon kautta Pentium 166 koneella jossa on 48 Mt muistia, käyttöjärjestelmänä Win98 ja selaimena IE5.5.

Yhteensopivuustesteihin voidaan laskea myös asennuspaketin testaus joka suoritetaan yksinkertaisesti toimimalla asennuksessa toiseen palvelinkoneista Readme:n ohjeiden mukaisesti ja suorittamalla sen jälkeen siinä kaikki edellä kuvatut testit. Asiakaspäähän ei tarvitse tehdä mitään asennuksia joten siellä asennuspakettia ei myöskään tarvitse testata.

- 10.6 Beta testaus

Beta-testaus suoritetaan  kotijoukoin ja jakeluna Web-sivulta.

Testaus alkaa 22.6.2003 ja jatkuu seuraavan 3:n viikon ajan. Näistä kahtena ensimmäisenä viikkona pelkästään kotijoukoin tämän jälkeen myös Web-sivuilta julkisena jakeluna

Beta-testauksen tuloksia
Virhe/palaute Kuvaus/löytymistilanne Syyn/korjauksen kuvaus Korjattu/unohdettu (pvm/hyväksyjä)