Documente Academic
Documente Profesional
Documente Cultură
CRISTIAN COOI
Crearea specificaiilor (testul manual iniial) Implementarea testului Rularea lui Analiza rezultatului
CRISTIAN COOI
Implementare
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
CRISTIAN COOI
Automat
Nx Costul Rulrii Costul crerii
CRISTIAN COOI
Rulm testul Scriem scriptul Testm scriptul Documentm scriptul Salvm Rulm
ntreinere (ouch)
CRISTIAN COOI
CRISTIAN COOI
Costuri ascunse?
Costul oportunitii: Ce altceva a putea s fac cu timpul meu dac nu a rula acest test
CRISTIAN COOI
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
10 plmai
9 plmai + 3 automai
7 plmai + 3 automai
10 CRISTIAN COOI
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
12
CRISTIAN COOI
13
CRISTIAN COOI
Beneficii imediate
Acelai tip de test cu mai multe tipuri de date Eventual noaptea Input intens Input ndelungat Calcul precis de durate
14
CRISTIAN COOI
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
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
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
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
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
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