Testowanie porównawcze

Testowanie porównawcze
Pojęcie testowania back-to-back ze słownika i sylabusów ISTQB® to nic innego jak testowanie porównawcze. Co to jest i do czego służy?

Definicja z ISTQB® mówi:

„Testowanie w celu porównania dwóch lub więcej wariantów elementu testowego lub modelu symulacyjnego tego samego elementu testowego poprzez wykonanie tych samych przypadków testowych na wszystkich wariantach i porównanie wyników”.

Pomijając, że definicja ma defekt w postaci wymuszenia konieczności uruchomienia „na wszystkich wariantach”, co często jest niemożliwe, to jest jeszcze mało klarowna.  Spróbujmy to napisać prościej i jedocześnie dopowiedzieć to, czego brakuje.
 
Testowanie porównawcze jest to metoda testowania polegającą na porównaniu wyników testów dla różnych wariantów oprogramowania. Polega na wykonaniu tych samych przypadków na dwóch lub więcej wariantach oprogramowania, a następnie na porównaniu wyników. Sprawdza, czy wynik jest identyczny czy też różny, a jeśli różny to w jakim zakresie. 
 
Jakie może być zastosowanie tej metody? Przykłady:

  • potwierdzenie poprawności funkcjonalnej - gdy mamy dwa lub więcej wariantów komponentów z podobną funkcjonalnością i chcemy potwierdzić, że zwracają one taki sam wynik LUB chcemy wybrać jeden, który będzie lepszy dla naszego oprogramowania
  • potwierdzenie poprawności niefunkcjonalnej - gdy chcemy ocenić wydajność dwóch lub więcej systemów
  • potwierdzenie działania kodu - gdy chcemy sprawdzić, czy wygenerowany kod (np. przez LLM) działa zgodnie z oczekiwaniami. W takim przypadku możemy np. porównać wyniki kodu wygenerowanego przez dwa różne LLM-y, musimy jednak założyć, że zwrócenie takich samych wyników nie jest potwierdzeniem, że oba działają poprawnie
  • potwierdzenie skuteczności metod testowych - gdy chcemy ujawnić luki w pokryciu przez dwie lub więcej technik.

 
Przykłady zastosowania:

  • porównanie wyników normalnych symulacji z wynikami kodu będzie sprawdzeniem czy kod działa poprawnie
  • porównanie wyników nowego i starszego systemu będzie zbenchmarkowaniem funkcji lub cech niefunkcjonalnych nowego rozwiązania względem starszego 
  • porównanie wyników dwóch wersji tego samego modelu sztucznej inteligencji
  • Testsigma podaje przykład testowania back-to-back w kontekście integracji modułu predykcyjnego w aplikacji mobilnej. 
Źródła:
https://glossary.istqb.org/pl_PL/term/testowanie-back-to-back

To powinno Cię zainteresować