Ogólna definicja trwałości (ang. durability) mówi o zdolności obiektu do zachowania stanu zdatności. W normalnych warunkach eksploatacji coś powinno służyć przez określony czas lub określoną liczbę razy. Przykładowo, w wyniku testów lub eksperymentów można określić, że żarówkę można włączyć / wyłączyć 50 000 razy. Możemy tu posługiwać się wartościami średnimi, ale też minimalnymi.
Jedną z podstawowych zasad automatyzacji po GUI jest tworzenie skryptów dla obszarów ustabilizowanych i niepodlegających dużym zmianom. Jeśli trzymamy się tej reguły, to znaczy, że spełniliśmy pierwszy warunek określenia trwałości testu. Drugim jest napisanie dobrego, tzn. trwałego testu.
Durability testu to liczba jego uruchomień na różnych wersjach, środowiskach czy konfiguracjach oprogramowania bez konieczności wprowadzania do niego zmian.
Durability jest w tym przypadku reprezentowana przez liczbę od 1 do nieskończoność, gdzie wartość 1 jest pokazaniem poważnego problemu. Ważne jest, że niekoniecznie test musi być uruchamiany w dłuższym czasie na wielu wersjach oprogramowania, może on być uruchamiany wielokrotnie na tej samej wersji, ale np. przy różnych platformach sprzętowych; przykładem może być tu test napisany do sprawdzenia poprawności wyświetlania się aplikacji na jednej wersji Androida, ale na setkach różnych urządzeń.
Korzyści w testach manualnych
W przypadku testów manualnych notacji przypadków testowych wskazuje na trwałość testu. Przypadki testowe pisane na wyższym poziomie abstrakcji są zawsze trwalsze niż te bardzo szczegółowe. Musimy jednak pamiętać, że mniej szczegółowe testy wymagają większej wiedzy domenowej i doświadczenia testera. To wskazuje na mniejszą przydatność tej metryki w testach manualnych.
Korzyści w automatyzacji
Czym większa jest liczba durability tym potencjalnie większe korzyści:
- 1 – test da się uruchomić tylko jeden raz i przy zmianach w oprogramowaniu należy go poprawić lub napisać ponownie. Jest to poważny problem projektowy,
- od 2 do 9 – zakłada się, że w tym zakresie test automatyczny nie przyniesie zwrotu i uruchomienie ręczne byłoby bardziej opłacalne finansowo. Wynika to z ogólnej reguły, że koszt wytworzenia skryptu automatycznego jest dziesięciokrotnie większy od wytworzenia testu manualnego,
- od 11 do 20 – praktycznie gwarantowany zwrot z inwestycji w automatyzację,
- od 21 do nieskończoności – wysokiej jakości test o durability gwarantującym jego opłacalność w projekcie. Oczywiście im wyższa wartość, tym większa korzyść z uruchomienia.
Durability stanowi silny czynniki badania wartości biznesowej automatyzacji.