Sunteți pe pagina 1din 22

Testare automat

Cristian Cooi Ingineria Sistemelor Software 2

CRISTIAN COOI

Cum arat testarea automat


Testerii Black Box vd automatizarea interfeei Dezvoltarea:

Crearea specificaiilor (testul manual iniial) Implementarea testului Rularea lui Analiza rezultatului

CRISTIAN COOI

Implementare

Captur de input Scriptare

CRISTIAN COOI

Costuri i beneficii

Partea testerilor
Specificaiile Prima rulare a testului Evaluarea rezultatelor Raportarea primelor buguri Scrierea codului Salvarea rezultatelor Documentarea testului
4

Partea mainii

Partea combinat
Analiza rezultatelor

Rularea testului ntreinerea rezultatelor

CRISTIAN COOI

Matematica testrii (A) Manual


Nx Costul Rulrii Costul crerii

Automat
Nx Costul Rulrii Costul crerii

CRISTIAN COOI

Matematica testrii (B)

Costurile testelor automate


Rulm testul Scriem scriptul Testm scriptul Documentm scriptul Salvm Rulm

(ieftin ca braga) (scump tare) Progresul softului

ntreinere (ouch)

CRISTIAN COOI

Matematica testrii (C)

Costurile testrii manuale


Scrierea testului (ieftin) Rularea testului (ncet i scump)

CRISTIAN COOI

Matematica testrii (D)

Costuri ascunse?

Costul oportunitii: Ce altceva a putea s fac cu timpul meu dac nu a rula acest test

CRISTIAN COOI

Matematica testrii (E) Costuri directe


Cost mult mai mult s scrii un script dect s testezi manual Pregtirea scriptului Costul softului de testare automat folosit Costul dezvoltrii softurilor autohtone ajuttoare

CRISTIAN COOI

Matematica testrii (F) Costuri indirecte


Crearea dureaz foarte mult

100 teste manuale vs 10-30 teste automate

Bugurile trzii sunt foarte costisitoare Echipe hibride

10 plmai

9 plmai + 3 automai

7 plmai + 3 automai
10 CRISTIAN COOI

Matematica testrii (G) Costuri indirecte

Testerii automai

Cei mai buni (experimentai) testeri BB Cunotine de programare Cunoaterea programului este mic Bugurile gsite sunt relativ puine 15% din buguri sunt gsite prin teste automate

Dezvoltarea timpurie

Prolificitatea

11

CRISTIAN COOI

Matematica testrii (H) Beneficii


O nou iteraie Patch-uri Internaionalizare Rebranding

12

CRISTIAN COOI

Good software engineering

Input capture vs Script


Embedded constants Lipsa modularitii Source control Documentaie Analiza cerinelor

13

CRISTIAN COOI

Beneficii imediate

Teste foarte mprtiate


Acelai tip de test cu mai multe tipuri de date Eventual noaptea Input intens Input ndelungat Calcul precis de durate

Testare automat ca extensie a testrii manuale


14

CRISTIAN COOI

Geeli poteniale (A)


1. Dont write simplistic test cases. 2. Dont make the code machine-specific. 3. Dont automate bad tests. 4. Dont create test scripts that wont be easy to maintain over the long term. 5. Avoid complex logic in your test scripts. 6. Dont mix test generation and test execution. 7. Dont deal unthinkingly with ancestral code. 8. Dont forget to retire outdated or redundant regression tests.
15 CRISTIAN COOI

Geeli poteniale (B)


9. Dont spend so much time and effort on regression testing. 10. Dont stop asking what bugs you arent finding while you automate tests. 11. Dont use capture/replay to create tests. 12. Dont write isolated scripts in your spare time. 13. Dont assume your test tools code is reliable or unlikely to change. 14. Dont put up with bugs and bad support for the test tool. 15. Dont forget to document your work. 16. Dont fail to treat this as a genuine programming project.

16

CRISTIAN COOI

Geeli poteniale (C)


17. Dont insist that all your testers (or all the testers you consider skilled) be programmers. 18. Dont give the high-skill work to outsiders. 19. Dont underestimate the need for staff training. 20. Dont use automators who dont understand testing (or use them cautiously). 21. Dont use automators who dont respect testing. 22. Dont mandate 100% automation.

17

CRISTIAN COOI

Greeli poteniale (D)


23. Dont underestimate the cost of automation. 24. Dont estimate the value of a test in terms of how often you run it. 25. Dont equate manual and automated testing. 26. Dont underestimate the need for staff training. 27. Dont expect to be more productive over the short term. 28. Dont put off finding bugs in order to write test cases. 29. Dont expect to find most of your bugs with regression tests. 30. Dont forget to clear up the fantasies that have been spoon-fed to your management.
18 CRISTIAN COOI

Comparaie
Avantaje... i... Avantaje

Manual

Automat

Manual

Automat

19

CRISTIAN COOI

nainte de testarea automat (A)


Ct de stabil este interfaa? Cine este clientul? Ce pretenii are clientul? Cte iteraii se ateapt? Se presupune c produsul va fi stabil? Vor exista multiple variante? (alte limbi, patch-uri etc.) Se pot testa i alte produse cu acelai script? Programatorii fac deja unit testing? Aplicaia este influenat de configuraia hardware+software?
20 CRISTIAN COOI

nainte de testarea automat (B)


Care este frecvena iteraiilor? Ct de testat este codul care deja ajunge la ei? Ct de probabil este ca urmtoarea versiune a uneltei de testare automat s difere? Ce capacitate de logging/debugging are unealta? Ce capacitate de recuperare din erori are unealta? Testele simuleaz ceea ce face un user? Ce nivel are echipa de testare? Care este capacitatea non-programatorilor de a face teste? Aplicaia are teste greu de automatizat? Se caut buguri ntrziate (leaks, pointeri neiniializai...)?
21 CRISTIAN COOI

Concluzie

Testarea automat este costisitoare i ineficient Ideal este s se fac testare asistat de calculator, i nu testare automat complet Dezvoltare testelor ESTE dezvoltare software ntreinerea codului este vital Testarea mai adnc s-ar putea s fie mai de preferat dect testarea superficial mprtiat Testele trebuie fcute n concordan cu specificaiile Managerii au n general o impresie foarte greit asupra testrii automate
22 CRISTIAN COOI

S-ar putea să vă placă și