XUnit

Wikipediasta
Siirry navigaatioon Siirry hakuun

xUnit on yleisnimitys yksikkötestien "tuoteperheelle", eli yksikkötestauskehyksille. Se on kehittynyt Kent Beckin 1998 vuonna suunnittelemasta SUnitista.[1] Javan ja C#:n kaltainen strukturoitu olio-tyylillä kirjoitettu SUnit on luotu tarkastamaan Smalltalk-ohjelmointikieltä[2]. Kent Back ja Erich Gamma siirsivät SUnit yksikkötestauskehyksen Java:lle ja se sai nopeasti suuren suosion. Tästä suosiosta johtuen samaa testauskehystä alettiin nopeasti kehittämään myös muille kielille[2]. Kehyksien nimet juonnetaan sanasta SUnit korvaamalla "S" yleensä ohjelmointikielen ensimmäisellä tai ensimmäisillä kirjaimilla[3]. Tämä kehysmalli tunnetaan nykyään nimellä xUnit.

Nykypäivänä xUnit on ilmainen avoimen lähdekoodin testaustyökalu useille erilaisille ohjelmointikielille.

xUnit testausfilosofia

[muokkaa | muokkaa wikitekstiä]

Kaikki xUnit- kehykset jakavat samanlaisen testausfilosofian ja arkkitehtuuripohjan. Unit-kehyksen suunnittelu on lähtenyt ajatuksesta, että testit eivät olisi käyttöliittymäpohjaisia vaan ne toteutettaisiin ohjelmakoodauksen ohessa, jolloin koodarien ja testaajien olisi helpompi ymmärtää ja havaita koodista löytyneet virheet. Tämän testaustavan huono puoli on se, että testaajien tulee ymmärtää ja kyetä kirjoittamaan yksinkertaisia ohjelmakoodirivejä. xUnitin pohjalla olevan SUnitin testausfilosofia voidaan jakaa neljään osa-alueeseen:[4]

Viat ja virheet

[muokkaa | muokkaa wikitekstiä]

xUnit kehys testaa viat ja virheet. Kun kirjoitat testejä, voit tarkastaa niiden perusteella odotettuja tuloksia. Jos tulos ei ole odotettu, testiä ei läpäisty. Testausfilosofian mukaan virhe on katastrofaalisempi silloin kun sitä ei ole tarkastettu.[4]

Yksikkötestaus

[muokkaa | muokkaa wikitekstiä]

Testausfilosofiassa suositellaan, että kehittäjät kirjoittaisivat itse oman kehitysalueensa yksikkötestit, yhden testiluokan aina jokaista kirjoitettua luokkaa kohti. Luokkaan on mahdollista lisätä useampia samaa luokkaa koskevia testejä. Kehittäjien tulisi käyttää noin 25-50 prosenttia työajastaan testitapauksien kirjoittamiseen.[4]

Integraatiotestaus

[muokkaa | muokkaa wikitekstiä]

Filosofian mukaan riippumattoman testaajan tulisi kirjoittaa integraatiotestit ja filosofiassa painotetaan, että integraatiotestaus on tärkeää.[4]

Testien suoritus

[muokkaa | muokkaa wikitekstiä]

Viimeinen filosofian kohta on testien suorittaminen. Testausfilosofiassa painotetaan sitä, että jokaista testiä varten olisi hyvä luoda joka kerta oma testidata. Tällä suljetaan pois toisessa testissä testidataan joutuneet virheet. Tällöin virheet eivät kertaannu testeissä ja on helpompi saada kiinni siitä, mikä on ohjelman ongelmakohta.[4]

xUnit ohjelmakehyksiä

[muokkaa | muokkaa wikitekstiä]
  1. Gerard Meszaros: XUnitPatterns.com xunitpatterns.com. 2003-2008. Viitattu 31.7.2023.
  2. a b Martin Fowler: Xunit martinfowler.com. 17.1.2006. Viitattu 31.7.2023.
  3. About xUnit xUnit.net. Viitattu 31.7.2023. (englanniksi)
  4. a b c d e Beck Testing Framework web.archive.org. 27.8.2005. Arkistoitu 27.8.2005. Viitattu 31.7.2023.