Mitä on konfiguraatiotestaus? Esimerkkejä testitapauksista
⚡ Älykäs yhteenveto
Konfiguraatiotestauksessa sovellusta käytetään useilla eri ohjelmisto- ja laitteistoyhdistelmillä, jotta tiimi voi varmistaa, että toiminnalliset vaatimukset pätevät edelleen kaikkialla, ja tunnistaa optimaalisen julkaisukokoonpanon.
Kokoonpanon testaus
Kokoonpanon testaus on ohjelmistotestaustekniikka, jossa sovellusta testataan useilla ohjelmiston ja laitteiston yhdistelmillä toiminnallisten vaatimusten arvioimiseksi ja optimaalisten kokoonpanojen löytämiseksi, joissa sovellus toimii ilman virheitä tai puutteita.
Kokoonpano on mikä tahansa yhdistelmä, jota tuotteen on tuettava: käyttöjärjestelmän versio, selain, tietokannan versio, ajuri, muistin koko tai liitetty oheislaite. Tämä kannattaa erottaa yhteensopivuustestaus, jossa kysytään, toimiiko tuote rinnakkain muiden ohjelmistojen ja alustojen kanssa. Konfiguraatiotestaus kysyy suppeamman kysymyksen: toimiiko sama koontiversio edelleen oikein, kun sen omat tuetut asetukset muuttuvat?
Esimerkki kokoonpanon testauksesta
Tarkastellaan työpöytäsovellusta toimivana esimerkkinä.
Työpöytäsovellukset rakennetaan yleensä kaksi- tai kolmitasoisina. Otetaan esimerkiksi kolmitasoinen työpöytäsovellus, joka on kehitetty ASP.NET, joka koostuu asiakasohjelmasta, Business Logic Serveristä ja tietokantapalvelimesta, ja jokainen komponentti tukee alla lueteltuja alustoja.
- Asiakasalusta – Windows XP, Windows 7, Windows 8 ja niin edelleen
- Palvelinalusta – Windows Palvelin 2008, Windows Palvelin 2008 R2, Windows Palvelin 2012 R2
- Tietokanta – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ja niin edelleen
Testaajan on harjoiteltava asiakasohjelmaa, palvelinta ja tietokantaa yhdessä kyseisten alusta- ja tietokantaversioiden välillä varmistaakseen, että sovellus toimii oikein eikä epäonnistu millään tuetulla yhdistelmällä.
Konfiguraatiotestaus ei rajoitu ohjelmistoihin. Se soveltuu myös laitteistoon, minkä vuoksi laitteistopuolta kutsutaan laitteistokonfiguraatiotestaukseksi: tulostimet, skannerit, web-kamerat ja vastaavat laitteet, joita testattavan sovelluksen on tuettava. Alla oleva matriisi näyttää, miten nämä yhdistelmät asetetaan ennen testin suorittamisen aloittamista.
Konfiguraatiotestauksen edellytykset
Ennen kuin konfiguraatiotestaus alkaa missä tahansa projektissa, kolmen ennakkovaatimuksen on oltava voimassa.
- Matriisin luominen, jossa luetellaan erilaiset ohjelmisto- ja laitteistokokoonpanojen yhdistelmät
- Näiden konfiguraatioiden priorisointi, koska kaikkien testaaminen ei ole realistista
- Kunkin konfiguraation testaaminen kyseisen priorisoinnin asettamassa järjestyksessä
Konfiguraatiotestauksen tavoitteet
Konfiguraatiotestauksen tavoitteena on saavuttaa seuraavat tavoitteet.
- Tarkista sovelluksen konfiguroitavuusvaatimusten mukaisesti
- Aiheuttaa tahallaan virheitä sellaisten vikojen paljastamiseksi, jotka tavallinen testaus ei huomaa, esimerkiksi muuttamalla alueellisia asetuksia, kuten aikavyöhykettä, kieltä tai päivämäärämuotoa
- Määritä testattavan sovelluksen optimaalinen kokoonpano
- Analysoi järjestelmän suorituskykyä laitteistoresurssien muuttuessa, kuten kuormituksen tasaajien lisäämisen, muistin lisäämisen tai vähentämisen tai eri tulostinmallien kytkemisen yhteydessä
- Analysoi järjestelmän tehokkuutta priorisointia vasten ja arvioi, kuinka hyvin testit hyödynsivät käytettävissä olevia resursseja optimaalisen kokoonpanon saavuttamiseksi.
- Tarkista järjestelmä maantieteellisesti hajautetussa ympäristössä, esimerkiksi niin, että palvelin on yhdessä paikassa ja työasemat toisessa, jolloin järjestelmän tulisi toimia paikallisista järjestelmäasetuksista riippumatta.
- Tarkista, kuinka helposti viat toistuvat, kun kokoonpano muuttuu
- Varmista, että sovelluskohteet pysyvät tracsaavutettavissa asianmukaisen dokumentaation ja selkeästi tunnistettavien versiotietojen avulla
- Varmista, että sovelluksen kohteet pysyvät hallittavissa koko ajan ohjelmistokehityksen elinkaari
Kuinka tehdä kokoonpanotestaus
Strategia riippuu siitä, kumpi kahdesta konfiguraatiotestaustyypistä on kyseessä.
- Ohjelmistokokoonpanon testaus
- Laitteiston kokoonpanon testaus
Ohjelmistokokoonpanon testaus
Ohjelmistokonfiguraatiotestaus ajaa testattavaa sovellusta useiden käyttöjärjestelmien, ohjelmistopäivitysten ja riippuvuusversioiden kanssa. Se on aikaa vievää, koska jokainen kierros tarkoittaa kyseessä olevan ohjelmiston asentamista ja poistamista.
Yleinen tapa leikata kustannuksia on testata virtuaalikoneetVirtuaalikone on ohjelmistoon asennettu ympäristö, joka käyttäytyy kuin fyysinen laitteisto, joten testaaja toimii ikään kuin oikealla koneella, kun taas itse kokoonpano on kertakäyttöinen. Virtuaalikoneet simuloivat todellisia kokoonpanoja riittävän tarkasti useimpia toiminnallisia tarkistuksia varten.
Sen sijaan, että sovellus asennettaisiin ja poistettaisiin useista fyysisistä koneista, se asennetaan virtuaalikoneeseen ja testaus jatkuu siitä. Useiden virtuaalikoneiden suorittaminen rinnakkain, joista jokainen palautetaan tilannevedoksesta, yksinkertaistaa työtä huomattavasti.
Ohjelmistokokoonpanon testaus voidaan yleensä aloittaa, kun
- Testattavat konfiguroitavuusvaatimukset on määritelty
- testiympäristössä on valmis
- Testaustiimi on koulutettu konfiguraatiotestaukseen
- Julkaistu koontiversio on läpäissyt yksikkö- ja integraatiotestauksen
Tyypillinen testistrategia on ajaa toiminnallinen testisarja jokaiselle ohjelmistokokoonpanolle ja varmistaa, että sovellus toimii tarkoitetulla tavalla ilman virheitä. Toinen strategia on hylätä testitapaukset tarkoituksella ja tarkistaa, kuinka tehokkaasti järjestelmä selviytyy.
Esimerkiksi:
Otetaan esimerkiksi pankkisovellus, jota on testattava useilla selaimilla. Jos se isännöidään ympäristössä, jossa kaikki vaatimukset täyttyvät, se saattaa hyvinkin läpäistä yksikkö- ja integraatiotestaus testilaboratoriossa.
Asiakkaan sivustoon asennettuna sama sovellus saattaa epäonnistua, koska kyseisiltä koneilta puuttuu ohjelmistopäivityksiä tai riippuvuusversioita, joihin sovellus on suoraan tai epäsuorasti riippuvainen. Testien tahallinen hylkääminen poistamalla joitakin konfigurointivaatimuksia ja testaaminen uudelleen paljastaa kyseisen vikaluokan ennen kuin asiakas löytää sen. Alla oleva näyttökuva näyttää tällaisen konfiguraatiosta riippuvan vian toistumisen kontrolloidussa ympäristössä.
Laitteiston kokoonpanon testaus
Laitteistokokoonpanon testaus suoritetaan yleensä laboratoriossa, jossa on fyysisiä koneita, joihin on kytketty erilaista laitteistoa.
Aina kun koontiversio julkaistaan, ohjelmisto asennetaan jokaiselle näistä koneista ja testisarja suoritetaan jokaisella sen varmistamiseksi, että sovellus toimii liitetyn laitteen kanssa.
Tämä tehtävä vaatii huomattavaa vaivaa: ohjelmiston asentaminen jokaiselle koneelle, laitteiston liittäminen ja sitten sarjan suorittaminen manuaalisesti tai automatisoimalla se ensin.
Myös testattavan laitteiston tyyppi on määriteltävä. Tietokoneiden laitteistoja ja oheislaitteita on niin monenlaisia, että kaikkien kattaminen on mahdotonta, joten testaaja analysoi, mihin laitteisiin käyttäjäkunta todellisuudessa luottaa, ja testaa tämän priorisoinnin mukaisesti.
Esimerkkitestitapaukset
Tarkastellaan pankkitilannetta, jossa testataan laitteistoyhteensopivuutta. Setelilaskentakoneeseen kytketyn pankkisovelluksen on toimittava useiden mallien, kuten Rolexin, Strobin, Maxsellin ja StoK:n, kanssa.
Näyte testitapaukset setelilaskukoneelle sisältävät seuraavat.
- Tarkista sovelluksen ja Rolex-mallin välinen yhteys, kun edellytyksiä EI ole asennettu
- Tarkista sovelluksen ja Rolex-mallin välinen yhteys, kun edellytykset on asennettu.
- Varmista, että järjestelmä laskee setelit oikein
- Tarkista, miten järjestelmä raportoi laskuvirheen
- Tarkista peukaloitujen seteleiden käsittely
- Tarkista vasteajat
- Varmista, että väärennetyt setelit havaitaan
Nämä tapaukset koskevat yhtä mallia, ja jokainen jäljellä oleva markkinoilla oleva malli on testattava testilaboratoriossa samalla tavalla, mikä on harvoin käytännöllistä yrityksen sisällä. Laitteistokonfiguraatiotestauksen ulkoistaminen siihen erikoistuneelle organisaatiolle on usein realistisempi vaihtoehto.


