Programvarutestning

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Programvarutestning, eng. software testing, även kallat mjukvarutestning, är ett samlingsnamn för de metoder som används för att säkerställa bra kvalitet på programvara för datorer. Fokusområden är duglighet, pålitlighet, stabilitet, kompatibilitet, underhållsmässighet, användbarhet och prestanda.

Från att ha fört en undanskymd tillvaro på 60- och 70-talet har testningens vikt och komplexitet uppskattats i allt högre grad sedan slutet av 80-talet. Numera ges kurser i programvarutestning på svenska universitet och det finns möjlighet till certifiering.

Det finns en mängd olika angreppssätt, såväl manuella som automatiserade, som alla måste leva med insikten att man aldrig kan testa ett program fullständigt, eftersom antalet möjligheter i praktiken är oändliga.

Innehåll

Syfte

Det finns många föreslagna definitioner av vad huvudsyftet med testningen är:

  • Att hitta fel, buggar
  • Att verifiera att programmet fungerar korrekt
  • Att visa att programmet uppfyller kundernas förväntningar
  • Att utforska programmet för att lära sig mer om det
  • Att ge beslutsunderlag för release
  • Att ta fram kvalitetsrelaterad information

Metoder

Det finns en mängd metoder för programvarutestning:

Verktyg

Bland verktyg som används vid testning finns buggsystem, testfallshanteringssystem, automattestramverk, GUI-robotar, prestandamätningsverktyg och testgenereringsverktyg.

Utveckling

Programvarutestningen är en relativt ny disciplin och det finns många områden där det inte finns konsensus bland utövarna. Å ena sidan finns Context-Driven School of testing (http://www.context-driven-testing.com) som hävdar att det inte finns några givna metoder, utan att testerna måste anpassas efter den unika situationen. Å andra sidan finns det specificerade standarder inom testområdet, till exempel IEEE 829 som har tydliga metoder som kan appliceras på all form av testning. Än tydligare än den brittiska standarden BS-7925 med sina båda delar BS-7925-1 (Vocabulary of terms in software testing) och BS-7925-2 (Software component testing).

Snabb och traditionell testning

I traditionella utvecklingsmetoder som exempelvis vattenfallsmodellen är testningen oftast tydlig och baserad på specifikationer. Den "lättrörliga" metoden som började användas i början på 90-talet inriktar sig på att testarna måste anpassa sig till situationer då de traditionella metoderna inte fungerar.

Utforskande och specificerad testning

Det finns de som hävdar att varje testfall måste ha ett exakt förväntat resultat och att testerna ska skrivas innan de utförs. Andra hävdar att vaga testfall ger bättre resultat, och att testfallen ska skrivas samtidigt som man testar.

Manuell och automatisk testning

Det finns de som hävdar att så många tester som möjligt ska vara automatiserade, och det finns de som hävdar att automatiserade GUI-tester i möjligaste mån skall undvikas.

Certifiering

Certifiering är ett sätt att höja status på ett område, men det finns de som hävdar att programvarutestning inte är redo för detta då de certifieringsprogram som finns inte ställer några krav på att man faktiskt kan testa programvara.

Historisk har brittiska ISEB varit stark på certifiering inom testområdet. På senare år har det mer internationella ISTQB, med sin svenska organisationsmedlem SSTB, börjat segla upp med ISTQB Certified Tester. ISEB och ISTQB samarbetar med varandra. Om man vill certifiera sig genom att skriva tentamen på sitt eget språk, så är det ISTQB med sina nationella representanter som man bör vända sig till. I Sverige är detta SSTB.

Certifieringen består hos alla dessa av en tentamen (på grundnivå) och/eller arbeten att utföra och få utvärderade. Det kursmaterial som man skriver tentamen på är allmänt tillgängligt. Tanken är att det ska gå att läsa in materialet själv utan att gå kurs. Däremot är det mycket enklare att klara tentamen om man går kurs och får kött på benen runt materialet, får reda på tankesätt, etc. Sådana kurser ges av olika företag, så kallade kursleverantörer. ISTQB-kurs på svenska fås endast ge av kursleverantör som är ackrediterad. För ISTQB-tentamen och certifiering på svenska vänder man sig till SSTB.

Accepterade sanningar

Det finns några sanningar som är accepterade av alla i branschen:

  • Man kan inte testa allting
  • Det är oftast mer effektivt att fixa fel tidigt i processen

Externa länkar

Personliga verktyg