Vad kan man testa automatiskt?
Vilka förväntningar kan man ha på automatiserade tester?
Vilken grad av automatisering är lagom?
Vilken nivå ska man automatisera på?
Vad ska man börja med?
Vilken insats ger mest resultat?
7. Hur ska man automatisera?
Automationsnivå Kodtäckning
70%
40%
5% 70%
40%
5% Timmar
Minuter
SekunderEnhetstest
API
GUI
Affärprocesstäckning Exekveringstid
8. Enhetstest - JUnit
@Test
public void testConcatenate() {
MyUnit myUnit = new MyUnit();
String result = myUnit.concatenate("one", "two");
assertEquals("onetwo", result);
}
14. Vad ska man automatisera?
De som ger mest tillbaka i relation till
nedlagd tid.
15. Vad ska man automatisera?
Värdera GUI driven testautomatisering med
avseende på:
Förändringsbenägenhet (-)
Förmodat antal körningar (+)
Antal indatavarianter (+)
Återutnyttjandegrad (+)
Riskeliminering (+)
Hur lång tid det tar att köra manuellt (+-)
16. Vad ska man automatisera?
Värdera API driven testautomatisering med
avseende på:
Trivial funktion (-)
Utvecklas just nu (+)
Antal indatavarianter (+)
Förmodat antal körningar (+)
17. Vad ska man inte automatisera?
GUI API
Tester som kräver intelligens och känsla X X
Applikationer som ännu inte är stabila (för tidigt i livscykeln) X
Applikationer som verktyget har svårt att stödja X
Testfall som inte har gått bra manuellt X
Projekt som inte kan leverera den information och stöd som
behövs till testautomatiseraren
X
19. Orakel
• Krav, Specifikationer, Andra produkter
• Heuristiskt-orakel, ger ett ungefärligt eller
exakt resultat.
• Statistiskt-orakel, bedömer resultatet
utifrån statistiska beräkningar.
• Konsistens-orakel, jämför resultatet för
flera identiska körningar.