Indeks Automatyzacji Testowania

Indeks Automatyzacji Testowania
Co jeśli pokonaliśmy pierwszą poważną przeszkodę na drodze do automatyzacji - Managament? Jaki powinien być nasz następny krok, kiedy podjęto już decyzję o płaceniu za testy automatyczne. W sukurs przyjść mogą nam badania nad indeksem automatyzacji przypadków testowych.

Elfriede Dustin z Innovative Defense Technologies (IDT) twierdzi, że zdolność przypadku testowego do bycia zautomatyzowanym nie jest wystarczającym powodem, by dokonać automatyzacji. Jej badania nad tym co automatyzować, a co pozostawić testerom manualnym, doprowadziły do kilku interesujących wniosków. Niby każdy wie, ale nie każdy powie:

  • analiza co zautomatyzować powinna uwzględniać ograniczenia zasobów, budżet, plan czasowy i dostępność ekspertów,
  • nie wszystkie możliwe kombinacje i permutacje zachowań aplikacji mogą zostać przetestowane (testy nie mogą trwać wiecznie), więc i nie wszystkie testy mogą zostać zautomatyzowane,
  • automatyzacja wymaga priorytetyzacji.

W konsekwencji zdefiniowany został Indeks Automatyzacji (AI) definiowany zarówno dla prowadzonych już projektów, jak i dla zupełnie nowego projektu: 

                      TFA
AI (%) =   -------
                       TC

gdzie:

AI = Indeks Automatyzacji (ang. Automation Index)
TFA = Ilość przypadków testowych możliwych do automatyzacji (ang. Number of test cases feasible to automate)
TC = Ilość wszystkich przypadków testowych (ang. Total number of test cases).

Aby w odpowiedni sposób wybrać przypadki testowe do automatyzacji, Dustin proponuje przykładową listę pytań. Odpowiedzi TAK wskazują odpowiednich kandydatów:

#  Kryterium automatyzacji TAK  NIE
1  Czy przypadek testowy jest wykonywane więcej niż raz?    
2  Czy przypadek testowy jest wykonywany regularnie np. prawdopodobieństwo ponownego użycia jest wysokie, jest częścią testów regresji lub testów kompilacji?    
3  Czy test pokrywa krytyczną ścieżkę funkcjonalności?     
4  Czy test pokrywa obszar podwyższonego ryzyka?    
5  Czy test  jest niemożliwy lub zabroniony do manualnego wykonania taki jak testy wydajności czy wycieki pamięci?    
6  Czy testowany komponent jest krytyczny czasowo i musi być automatyzowany?    
7  Czy test pokrywa złożony obszar aplikacji?    
8  Czy test wymaga wielu kombinacji danych przy tych samych krokach (różne dane dla tej samej funkcjonalności)    
9  Czy oczekiwany rezultat jest stały np. nie zmienia się bez względu na zestaw testów?    
10  Czy analiza wyniku testu jest czasochłonna?    
11  Czy test musi zostać wykonany na różnych konfiguracjach oprogramowania i sprzętu?    
12  Czy ROI automatyzacji testów zgadza się z ROI organizacji?     

Najbardziej krytyczne pytanie na liście to numer 4. Należy jednak pamiętać, że jest to również zazwyczaj najtrudniejszy obszar do automatyzacji.

A jak do tego wszystkiego ma się nasz indeks? Poniżej kilka przykładów bazujących na obecnej wiedzy:

  • AI nie powinien dążyć do 1, czyli nie powinniśmy próbować automatyzować wszystkiego.
  • AI = 0 oznacza brak automatyzacji, ale pamiętajmy, że nie jest to do końca negatywny przypadek.
  • Aktualnie uważa się, że AI oscylujący wokół wartości 0,5 jest optymalnym wyborem i optymalizacją w testowaniu.

 

Tekst w oparciu o "What's Your Automation Index?" - Edward J. Correia za Test & QA REPORT został opublikowany na naszych łamach 05.03.2009. Zaktualizowaliśmy go pod kątem merytoryki.

To powinno Cię zainteresować