Cele automatyzacji testowania. Teoria

Cele automatyzacji testowania. Teoria
Czym jest i co obejmuje testowanie automatyczne? Jakie są jego wady i zalety?

Automatyzacja testowania, (obejmująca także wykonywanie testów automatycznych) w kontekście testowania oprogramowania, oznacza proces obejmujący jedno lub kilka następujących działań:

  • kontrolowanie i konfigurowanie warunków początkowych testów, przy użyciu specjalnie w tym celu opracowanych narzędzi,
  • wykonywanie testów,
  • porównywanie wyników rzeczywistych z oczekiwanymi.

Automatyzacja testowania ma z założenia ułatwić konsekwentne, wielokrotne wykonywanie dużej liczby przypadków testowych, w różnych wersjach testowanego systemu i/lub na różnych środowiskach. Nie oznacza to jednak, że jest ona jedynie mechanizmem do wykonywania zestawu testów bez udziału człowieka. Ważnym jej elementem jest również proces projektowania produktów testowania, do których zaliczają się:

  • oprogramowanie,
  • dokumentacja,
  • przypadki testowe,
  • środowiska testowe,
  • dane testowe.

Te produkty niezbędne są do wykonywania czynności testowych, w skład których wchodzą:

  • implementowanie automatycznych przypadków testowych,
  • monitorowanie i kontrolowanie wykonywania testów automatycznych,
  • interpretowanie, raportowanie oraz rejestrowanie rezultatów testów automatycznych.

W ramach automatyzacji testowania mogą być stosowane różne metody interakcji z testowanym systemem:

  • testowanie za pośrednictwem publicznych interfejsów do klas, modułów lub bibliotek testowanego systemu (testowanie API),
  • testowanie za pośrednictwem interfejsu użytkownika testowanego systemu (np. testowanie GUI lub testowanie CLI),
  • testowanie za pośrednictwem usługi lub protokołu.

Wśród celów automatyzacji testowania można wymienić:

  • zwiększenie efektywności wykonywania testów,
  • zapewnienie szerszego pokrycia funkcji,
  • obniżenie łącznych kosztów testowania,
  • wykonywanie testów, których testerzy nie mogą wykonać manualnie,
  • skrócenie okresu wykonywania testów,
  • zwiększenie częstotliwości testów lub skrócenie czasu trwania cykli testowych.

 Do zalet automatyzacji testowania można zaliczyć:

  • możliwość wykonywania większej liczby testów w przypadku każdej wersji,
  • możliwość tworzenia testów, których nie da się wykonać manualnie (np. testów wykonywanych w czasie rzeczywistym, testów zdalnych czy testów równoległych),
  • możliwość wykonywania bardziej złożonych testów,
  • większą szybkość wykonywania testów,
  • ograniczenie podatności testów na błędy operatora,
  • skuteczniejsze i efektywniejsze wykorzystanie zasobów testowych,
  • szybsze uzyskiwanie informacji zwrotnych na temat jakości oprogramowania,
  • wyższą niezawodność systemu (np. powtarzalność, spójność),
  • większą spójność testów.

Wady automatyzacji testowania to między innymi:

  • dodatkowe koszty,
  • początkowe nakłady inwestycyjne związane ze skonfigurowaniem rozwiązania do automatyzacji testowania (TAS),
  • konieczność stosowania dodatkowych technologii,
  • konieczność posiadania przez zespół umiejętności w zakresie programowania i automatyzacji,
  • wymóg ciągłego utrzymania rozwiązania do automatyzacji testowania (TAS),
  • ryzyko odwrócenia uwagi od celów testowania (np. w wyniku skoncentrowania się na automatyzacji przypadków testowych kosztem wykonywania testów),
  • potencjalny wzrost złożoności testów,
  • niebezpieczeństwo wprowadzenia dodatkowych błędów w wyniku automatyzacji.

Wśród ograniczeń związanych z automatyzacją testowania należy wymienić:

  • brak możliwości zautomatyzowania wszystkich testów manualnych,
  • możliwość sprawdzania jedynie rezultatów dających się zinterpretować przez maszynę,
  • możliwość sprawdzania tylko tych rzeczywistych rezultatów, które mogą zostać zweryfikowane przez automatyczną wyrocznię testową,
  • brak możliwości zastąpienia testów eksploracyjnych.

 
Całość publikacji pochodzi z sylabusa „Certyfikowany tester. Sylabus poziomu zaawansowanego - Inżynier automatyzacji testowania”.
 

3975

Powiązane szkolenia

13-15
lutego
2023
Krzysztof Kołodziejczyk
online
Teoria testowania
1 400PLN
ISTQB® Poziom Podstawowy
6
Wolnych miejsc
Rezerwuj
13-17
marca
2023
Jarosław Hryszko
online
Teoria testowania
3 450PLN
ISTQB® Poziom Zaawansowany - Kierownik Testów
12
Wolnych miejsc
Rezerwuj
20-22
lutego
2023
Adam Roman
online
Teoria testowania
2 400PLN
ISTQB® Poziom Zaawansowany - Techniczny Analityk Testów
12
Wolnych miejsc
Rezerwuj
14-16
lutego
2023
Adam Roman
online
Teoria testowania
2 400PLN
ISTQB® Poziom Zaawansowany - Analityk Testów
9
Wolnych miejsc
Rezerwuj
06-08
marca
2023
online
Teoria testowania
2 550PLN
ISTQB® Inżynier Automatyzacji Testowania - Moduł Specjalistyczny
11
Wolnych miejsc
Rezerwuj
20-21
marca
2023
Arnika Hryszko
online
Teoria testowania
1 622PLN
ISTQB® Tester Zwinny
13
Wolnych miejsc
Rezerwuj
20-23
lutego
2023
Krzysztof Kołodziejczyk
Warszawa
Praktyka testowania
3 200PLN
Zawód Tester
9
Wolnych miejsc
Rezerwuj
09-10
marca
2023
Piotr Dubiela
online
Automatyzacja testowania
1 770PLN
Selenium WebDriver dla początkujących
12
Wolnych miejsc
Rezerwuj
11-13
kwietnia
2023
Jarosław Hryszko
online
Teoria testowania
2 600PLN
Certified Tester - AI Testing
14
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować