Documente Academic
Documente Profesional
Documente Cultură
mutation testing
Rapoarte EclEmma
Dupa rulare, EclEmma marcheaza fundalul codului cu
rosu, galben si verde in functie de gradul de acoperire si
adauga pe margine buline care indica problema pe
hover
EclEmma vine cu o fereastra de rapoarte
Rapoarte Clover
Unealta Clover este foarte bogata in rapoartele ce le poate genera,
generand atat statistici legate de proiect, cat si rapoarte ce ofera informatii
detaliate.
Mutation Testing
Mutantii sunt bazati pe operatori de mutare bine
definiti care mimeaza ori erori standard de
programare (ca numele gresit a unei variabile sau
operator) sau forteaza crearea de teste (ca impartirea
la 0).
Scopul este de a ajuta programatorul sa dezvolte
teste eficiente sau sa detecteze slabiciuni in datele de
test folosite pentru program sau in sectiuni de cod
care sunt accesate uneori sau deloc pe durata
executiei.
Mutation Testing
Exemplu
a = b + c devine a = 0
a = b & c devine a = b | c
Schimbarea operatorilor
relationali
a = b devine a = -b
Codul original
Mutant
Mutation Tools
Pentru prezentarea noastra am ales urmatoarele mutation tools:
PIT - http://pitest.org/
Judy - http://mutationtest.com/
PIT - introducere
Initial dezvoltat (just for fun), ca un framework pentru testare
distribuita
Primele versiuni au fost bazate pe Jumble, cu unele imbunatatiri.
Dupa versiunea 0.29 PIT a venit cu propriul generator de mutatii
Usor de folosit putand fi instalat ca plugin atat in cadrul NetBeans,
cat si pentru Eclipse
PIT - Instalare
PIT - suport
PIT - utilizare
PIT - utilizare
La finalul rularii ofera un raport in format html unde sunt evidentiate
mutatiile si testele care au picat
PIT este un tool de mutatie care nu compileaza codul ci modifica
bytecode-ul in memorie. Acest lucru il face mult mai rapid.
Judy
Tool dezvoltat in Java cu extensii de AspectJ;
Ultima versiune 2.1.0, ce a fost lansata in ianuarie
2014, suporta 27 de operatori si este in continua
dezvoltare;
Poate fi folosit atat pe Linux, cat si pe Windows(32/64
bit);
Judy - Instalare
Instalarea acestei unelte presupune la primul pas descarcarea unei
arhive folosind link-ul urmator:
http://mutationtest.com/judy/releases/judy-210.html;
Al doilea pas este reprezentat de dezarhivarea fisierelor
descarcate;
Judy - rulare
Rularea si generarea
de mutanti se
realizeaza cu ajutorul
cmd folosindu-se o
comanda cu anumiti
parametrii obligatorii;
Judy
Dupa ce comanda a fost rulata, rezultatul generat de
Judy este stocat intr-un fisier judy-result.txt/judyresult.xml
Judy - avantaje
Are nevoie de doar 11 secunde pentru a genera aproximativ 20 de
mii de mutanti -> foarte rapid;
Se configureaza si se ruleaza usor cu ajutorul unei comenzi cmd;
Ofera statistici usor de urmarit cu privire la status-ul mutantilor
generati;
Ofera suport pentru Windows si Linux;
Este in continua dezvoltare, punand la dispozitie programatorilor un
bug-tracker pentru a vizualiza problemele existente si pentru a putea
contribui la imbunatatirea versiunii curente;
Multumim!