Ohjelmistojen testausmenetelmät: QA-mallit
Mikä on ohjelmistojen testausmetodologia?
Ohjelmistojen testausmenetelmät määritellään strategioiksi ja testaustyypeiksi, joilla varmistetaan, että testattava sovellus täyttää asiakkaan odotukset. Testausmenetelmiin kuuluu toiminnallinen ja ei-toiminnallinen testaus AUT:n validoimiseksi. Esimerkkejä testausmenetelmistä ovat Yksikkötestaus, Integraation testaus, Järjestelmän testaus, Suorituskykytestaus jne. Jokaisella testausmenetelmällä on määritelty testitavoite, testausstrategia ja suoritukset.
Huomautuksia: Koska ohjelmistotestaus on olennainen osa kehitysmetodologiaa, monet yritykset käyttävät termiä Development Methodologies & Testing Methodologies puhekielessä. Siksi testausmenetelmät voivat viitata myös Waterfall-, Agile- ja muihin laadunvarmistusmalleihin verrattuna yllä olevaan testausmenetelmien määritelmään. Keskustelu erilaisista testaustyypeistä ei tuo lukijoille lisäarvoa. Keskustelemme siis erilaisista kehitysmalleista.
Vesiputousmalli
Mikä se on?
In vesiputous malli, ohjelmistokehitys edistyy eri vaiheissa, kuten vaatimusanalyysi, suunnittelu jne. peräkkäin.
Mikä on testausmenetelmä?
Vesiputousmallin ensimmäinen vaihe on vaatimusvaihe, jossa kaikki projektin vaatimukset määritellään täysin ennen testauksen aloittamista. Tässä vaiheessa testitiimi pohtii testauksen laajuutta, testausstrategiaa ja laatii yksityiskohtaisen testisuunnitelman.
Vasta kun ohjelmiston suunnittelu on valmis, tiimi siirtyy testitapausten suorittamiseen varmistaakseen, että kehitetty ohjelmisto toimii odotetulla tavalla.
Tässä menetelmässä testausryhmä siirtyy seuraavaan vaiheeseen vasta, kun edellinen vaihe on valmis.
edut | Haitat |
---|---|
Tämä ohjelmistosuunnittelumalli on erittäin helppo suunnitella ja hallita. Näin ollen projekteja, joissa vaatimukset on selkeästi määritelty ja ilmoitettu etukäteen, voidaan helposti testata vesiputousmallilla. | Vesiputousmallissa voit aloittaa seuraavasta vaiheesta vasta, kun edellinen vaihe on valmis. Näin ollen tämä malli ei voi ottaa huomioon odottamattomia tapahtumia ja epävarmuutta. |
Tämä menetelmä ei sovellu projekteihin, joissa vaatimukset muuttuvat usein. |
Iteratiivinen kehitys
Mikä se on?
Tässä mallissa iso projekti on jaettu pieniin osiin, ja jokaiselle osalle suoritetaan useita vesiputousmallin iteraatioita. Iteraation lopussa kehitetään uusi moduuli tai parannetaan olemassa olevaa moduulia. Tämä moduuli on integroitu ohjelmistoarkkitehtuuriin ja koko järjestelmä testataan yhdessä
Mikä on testausmenetelmä?
Heti kun iterointi on valmis, koko järjestelmä testataan. Testauksesta saatu palaute on heti saatavilla ja sisällytetään seuraavaan sykliin. Peräkkäisessä iteraatiossa tarvittavaa testausaikaa voidaan lyhentää aiemmista iteraatioista saadun kokemuksen perusteella.
edut | Haitat |
---|---|
Iteratiivisen kehityksen tärkein etu on, että testipalaute on heti saatavilla jokaisen jakson lopussa. | Tämä malli lisää viestinnän yleiskustannuksia merkittävästi, koska jokaisen jakson lopussa on annettava palautetta suorituksista, vaivannäöstä jne. |
Ketterä menetelmä
Mikä se on?
Perinteiset ohjelmistokehitysmenetelmät toimivat sillä oletuksella, että ohjelmistovaatimukset pysyvät vakioina koko projektin ajan. Mutta monimutkaisuuden lisääntyessä vaatimukset muuttuvat ja kehittyvät jatkuvasti. Joskus asiakas itse ei ole varma mitä haluaa. Vaikka iteratiivinen malli käsittelee tätä ongelmaa, se perustuu silti vesiputousmalliin.
Agile-metodologiassa ohjelmistoja kehitetään inkrementaalisissa, nopeissa sykleissä. Vuorovaikutus asiakkaiden, kehittäjien ja asiakkaan välillä korostuu prosessien ja työkalujen sijaan. Ketterä metodologia keskittyy muutokseen reagoimiseen laajan suunnittelun sijaan.
Mikä on testausmenetelmä?
Inkrementaalista testausta käytetään ketterissä kehitysmenetelmissä ja siksi jokainen projektin julkaisu testataan perusteellisesti. Tämä varmistaa, että kaikki järjestelmän virheet korjataan ennen seuraavaa julkaisua.
edut | Haitat |
---|---|
Hankkeeseen on mahdollista tehdä muutoksia milloin tahansa vaatimusten mukaisesti. | Jatkuva asiakasvuorovaikutus merkitsee lisäaikapainetta kaikille sidosryhmille, mukaan lukien asiakas itse, ohjelmistokehitys ja testitiimit. |
Tämä inkrementaalinen testaus minimoi riskit. |
Äärimmäistä ohjelmointia
Mikä se on?
Extreme ohjelmointi on eräänlainen ketterä metodologia, joka uskoo lyhyisiin kehityssykleihin. Projekti on jaettu yksinkertaisiin suunnittelutehtäviin. Ohjelmoijat koodaavat yksinkertaisen ohjelmiston ja palaavat asiakkaalle palautetta varten. RevAsiakkaan pisteet otetaan mukaan ja kehittäjät jatkavat seuraavaan tehtävään.
Äärimmäisissä ohjelmointikehittäjät työskentelevät yleensä pareittain.
Äärimmäinen ohjelmointi käytetään paikoissa, joissa asiakkaiden vaatimukset muuttuvat jatkuvasti.
Mikä on testausmenetelmä?
Extreme ohjelmointi seuraa testilähtöistä kehitystä, joka kuvataan seuraavasti:- Lisää Testitapaus testiohjelmistoon varmistaakseen uuden toiminnallisuuden, jota ei ole vielä kehitetty
- Suorita kaikki testit ja ilmeisesti uuden lisätyn testitapauksen täytyy epäonnistua, koska toiminnallisuutta ei ole vielä koodattu
- Kirjoita koodia ominaisuuden/toiminnallisuuden toteuttamiseksi
- Suorita testipaketti uudelleen. Tällä kertaa uuden testitapauksen pitäisi mennä läpi, koska toiminnallisesti on koodattu
edut | Haitat |
---|---|
Asiakkaat, joilla on epämääräinen ohjelmistosuunnittelu mielessään, voivat käyttää äärimmäistä ohjelmointia | Ohjelmistokehitystiimin ja asiakkaiden tapaamiset lisäävät aikavaatimuksia. |
Jatkuva testaus ja pienten julkaisujen jatkuva integrointi varmistavat, että ohjelmistokoodi toimitetaan laadukkaasti |
Mikä ohjelmistomenetelmä valita?
Ohjelmistokehitykseen ja sitä vastaavaan testaukseen on saatavilla useita menetelmiä. Jokainen testaustekniikka ja -metodologia on suunniteltu tiettyä tarkoitusta varten ja niillä on suhteelliset etunsa ja haittansa.
Tietyn menetelmän valinta riippuu monista tekijöistä, kuten projektin luonteesta, asiakkaan vaatimuksista, projektin aikataulusta jne.
Testauksen näkökulmasta jotkin menetelmät vaativat testaussyötteen varhaisessa kehitysvaiheessa, kun taas toiset odottavat, kunnes järjestelmän toimiva malli on valmis.
Miten ohjelmiston testausmenetelmät asetetaan?
Ohjelmistojen testausmenetelmiä ei pidä perustaa vain ohjelmistokoodin testaamisen vuoksi. Kokonaisuutta tulee harkita ja testausmetodologiaan tulee tyydyttää projektin päätavoite. Katso tämä hyvämaineisten luettelo ohjelmistojen testauspalveluntarjoajat jotka voivat auttaa sinua luomaan tehokkaita testausstrategioita, jotka on räätälöity projektisi tavoitteisiin.
Ajoitus
Realistinen aikataulutus on avain onnistuneen testausmetodologian käyttöönotossa ja aikataulun tulee vastata jokaisen tiimin jäsenen tarpeita.
Määritellyt suoritukset
Jotta kaikki ryhmän jäsenet pysyisivät samalla sivulla, tulee tarjota tarkasti määritellyt suoritukset. Suoritteiden tulee sisältää suoraa sisältöä ilman epäselvyyttä.
Testaustapa
Kun aikataulu on valmis ja määritellyt suoritteet ovat saatavilla, testaustiimin pitäisi pystyä muotoilemaan oikea testaustapa. Määritelmäasiakirjoissa ja kehittäjätapaamisissa tulee kertoa tiimille parhaasta testimenetelmästä, jota projektissa voidaan käyttää.
Raportointi
Läpinäkyvää raportointia on erittäin vaikea saavuttaa, mutta tämä vaihe määrittää projektissa käytetyn testaustavan tehokkuuden.