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.

  • 🧩 Soveltamisala: OperaKoontimäärityksiksi lasketaan kaikki järjestelmät, selaimet, tietokantaversiot, ajurit, muisti ja oheislaitteet.
  • 📐 Kaksi tyyppiä: Ohjelmistokonfiguraation testaus kattaa alustat ja päivitykset; laitteistokonfiguraation testaus kattaa liitetyt laitteet.
  • 🗂️ Matriisi ensin: Rakenna yhdistelmämatriisi ja priorisoi se, koska tyhjentävä kattavuus on kohtuuttoman suuri.
  • 🖥️ Virtuaalikoneet: Tilannevedokset korvaavat toistuvat asennus- ja poistosyklit fyysisillä testikoneilla.
  • 🏦 Toimiva esimerkki: Pankkisovellus ja sen setelilaskentakoneiden mallit havainnollistavat laitteistotestitapauksia.
  • 🚨 Tahallinen epäonnistuminen: Edellytyksen tarkoituksellinen poistaminen paljastaa vikoja, jotka täysin valmisteltu laboratorio piilottaa.

Konfiguraatioiden testaus eri ohjelmisto- ja laitteistoyhdistelmillä

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.

Asiakas-, palvelin- ja tietokantayhdistelmien konfiguraatiotestausmatriisi

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ä.

Pankkisovellus ei toimi asiakaskoneella, jossa puuttuvat edellytykset

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.

UKK

Konfiguraatiotestauksessa vaihdellaan tuotteen omaa tuettua kokoonpanoa – käyttöjärjestelmää, tietokannan versiota, liitettyä laitetta – ja suoritetaan ohjelmistopaketti uudelleen. Yhteensopivuustestauksessa tarkistetaan, että tuote toimii rinnakkain ulkoisten ohjelmistojen, alustojen ja selainten kanssa, joiden kanssa sen on toimittava.

Niin monta kuin riski oikeuttaa. Käyttöanalytiikka ratkaisee järjestyksen: ensin käsitellään alusta-, selain- ja laiteyhdistelmät, joilla suurin osa käyttäjäkunnasta toimii, ja sen jälkeen vähimmäisvaatimukset.

Yleensä laadunvarmistustiimi, jota tukevat järjestelmänvalvojat, jotka tarjoavat ympäristöt. Laitteistopainotteisissa tuotteissa fyysisen laitteen ylläpidosta vastaa erillinen laboratoriotiimi tai ulkoistettu asiantuntija.

Virtuaalikone- ja konttialustat ohjelmistoasennuksille, laitelaboratorioille tai pilvilaitefarmeille laitteistoille ja selaimille sekä testiautomaatio kehys toistaakseen saman paketin jokaisella kokoonpanolla.

Kombinatorinen räjähdys, lisenssien ja fyysisten laitteiden hinta, hidas ympäristöjen käyttöönotto ja viat, jotka toistuvat vain yhdessä kokoonpanossa. Priorisointi ja virtualisointi ratkaisevat useimmat näistä.

Yksikkö- ja integraatiotestauksen läpäisyn jälkeen, tyypillisesti järjestelmätestauksen rinnalla. Se toistuu ennen jokaista merkittävää julkaisua, koska uusi käyttöjärjestelmä- tai ajuriversio voi mitätöidä aiemmat tulokset.

Mallit luokittelevat konfiguraatioyhdistelmät todellisen käytön ja historiallisten vikatietojen perusteella, joten matriisi karsitaan korkeimman riskin riveihin. Ne myös ryhmittelevät viat osoittaakseen, millä niistä on yksi yhteinen konfiguraatiosyy.

Kyllä. Se luonnostelee parametrisoidut testirakenteet, ympäristön valmisteluskriptit ja CI-työmääritelmät, jotka suorittavat yhtä sarjaa useissa kokoonpanoissa. Itse matriisin on edelleen tultava tuettujen alustojen luettelosta.

Tiivistä tämä viesti seuraavasti: