Research Article

PreventativeTestPro: Skalowalny hybrydowy framework testowy wykorzystujący obserwowalność i generatywną sztuczną inteligencję do proaktywnej inżynierii jakości oprogramowania

DOI:

10.3791/69316

March 24th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

PreventativeTestPro to oparte na AI ramy testowe, które wykorzystują dane obserwowalności oraz duże modele językowe do automatyzacji analizy przyczyn źródłowych, generowania testów i ciągłej walidacji, z celem poprawy niezawodności oprogramowania oraz optymalizacji zapewnienia jakości zarówno dla systemów frontendowych, jak i backendowych, aby ułatwić bardziej efektywne zarządzanie zgłoszeniami wsparcia.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Niniejszy artykuł wprowadza zaawansowany, skalowalny system testowania, który integruje automatyzację opartą na obserwowalności z proaktywną inżynierią jakości wspieraną przez AI, aby sprostać współczesnym wyzwaniom dostarczania oprogramowania. Sugerowany system ulepsza PreventativePro, otwartoźródłową, hybrydową platformę testową łączącą metodologie black-box i white-box, poprzez innowacyjną warstwę orkiestracji testów opartą na obserwowalności. Platforma wykorzystuje logi, metryki, zdarzenia i śledzenia wraz z monitorowaniem po stronie przeglądarki i serwera, aby szybko identyfikować anomalie, ulepszać wybór przypadków testowych oraz automatyzować tworzenie funkcjonalnych, wydajnościowych i testowych zestawów bezpieczeństwa. Charakterystyczną cechą jest włączenie dużych modeli językowych (LLM), które dostarczają wglądu w przyczyny źródłowe i autonomicznie konstruują nowe przypadki testowe na podstawie zachowań produkcyjnych i zidentyfikowanych nieprawidłowości, zapewniając tym samym pokrycie regresją adaptacyjną i inteligentną remediację.

System umożliwia jednoczesne wykonywanie testów z natychmiastową analizą logów opartą na AI, tworząc ciągłą pętlę zwrotną między operacjami a testami. Został zweryfikowany w kilku scenariuszach korporacyjnych, w tym na platformach SaaS opartych na mikroserwisach oraz ekosystemach SAP BTP. Wyniki empiryczne z czterech wdrożeń produkcyjnych oraz grupy beta liczącej 49 inżynierów wskazują na spadek średniego czasu do rozwiązania o nawet 30%, ponad 95% zgodności z SLA oraz znaczącą poprawę zarówno w zakresie pokrycia testów, jak i śledzenia wad. Bezwysiłkowe połączenie z narzędziami standardowymi w branży ilustruje jego zdolność do podłączania i używania.

Badania te przedstawiają kompleksową, niezależną od narzędzi i perspektywiczną metodologię inżynierii jakości, zgodną z zasadami agile i DevOps. Przyszłe przedsięwzięcia obejmują dynamiczną klasyfikację anomalii poprzez uczenie maszynowe, rozszerzenie na systemy mobilne i zorientowane na doświadczenie użytkownika oraz rozszerzone możliwości dużych modeli językowych do opracowywania testów specyficznych dla dziedziny i prognozowania awarii.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Rosnąca popularność paradygmatu agile w firmach programistycznych doprowadziła do rosnącego zainteresowania środowiskami ciągłej integracji. Zaletą takich systemów jest płynna integracja regularnych modyfikacji programów, co skutkuje przyspieszoną i opłacalną ewolucją oprogramowania. W konsekwencji będzie efektywnie zarządzać zadaniami takimi jak budowa procedur, realizacja testów oraz raportowanie wyników testów. Testowanie oprogramowania jest wdrażane od początku inżynierii oprogramowania. Praktyka testowania oprogramowania została wprowadzona w celu oceny jakości oprogramowania1. Testowanie obejmuje szereg działań mających na celu wykrycie i usunięcie potencjalnych błędów w oprogramowaniu przed jego wdrożeniem dla użytkowników końcowych. Testowanie oprogramowania to kosztowny etap w procesie tworzenia2. Koszt testowania i debugowania oprogramowania stanowi ponad 50 procent całkowitych kosztów rozwoju i wynosi 3,4. Koszt związany z testami regresyjnymi zależy od złożoności aplikacji oraz skali zestawu testów5.

Metodologia agile prowadzi do szybkich zmian w produkcji, co z kolei powoduje dużą liczbę problemów ze wsparciem wynikających z opinii. Zarządzanie problemami z obsługą klienta to bardzo istotna i kluczowa odpowiedzialność, o czym świadczy fakt, że 68% konsumentów wyraża gotowość do zapłacenia wyższej ceny za produkty i usługi firmy znanej z doskonałej obsługi klienta6. Według badania, 86% klientów, którzy otrzymują doskonałą obsługę, jest bardziej skłonnych stać się lojalnymi rzecznikami firmyw dłuższej perspektywie. Według badania, 89% kupujących jest bardziej skłonnych do ponownych zakupów, jeśli mieli pozytywne doświadczenia z obsługą klienta8. Według badania, 93% klientów jest skłonnych do ponownych zakupów u firm oferujących wyjątkową obsługę klienta9. Aby zapewnić doskonałą obsługę klienta, niezbędne jest szybkie i skuteczne rozwiązywanie zgłoszeń do obsługi na wysokim poziomie jakości. Element jakości jest kluczowy, gdy dążymy do szybszej dostawy, ponieważ koszty rozwiązywania problemów z wsparciem rosną wraz z czasem i poziomem eskalacji10.

Aby uzyskać wysoką jakość, konieczne jest zlokalizowanie i rozwiązanie problemów z wsparciem, jednocześnie zapewniając kompleksowe pokrycie testów regresji na zgłoszeniu. To zadanie jest złożone i powoduje wzrost trudności operacyjnych, zwłaszcza w szybkim wykrywaniu i rozwiązywaniu problemów ze wsparciem. Trudności ze wsparciem, obejmujące szeroki zakres problemów, takich jak spadek wydajności systemu czy nieprzewidziane awarie, często pojawiają się na etapie operacyjnym systemów oprogramowania. Jeśli te trudności nie zostaną szybko wykryte i rozwiązane, mogą prowadzić do długotrwałych okresów bezczynności, niezadowolenia konsumentów oraz problemów finansowych. Obecne metody wykorzystywania informacji o obserwowalności do testowania są często ograniczone przez procedury manualne, taktyki responsywne zamiast proaktywnych oraz brak integracji wykrywania anomalii z realizacją testów. Wyraźnie brakuje proaktywnego wykrywania problemów ze wsparciem przy użyciu danych obserwacji w czasie rzeczywistym oraz automatycznego wykonywania odpowiednich przypadków testowych, aby zapobiec prawdopodobnym awariom z wyprzedzeniem.

Brak kompleksowego, zintegrowanego rozwiązania prowadzi do wielu negatywnych konsekwencji dla utrzymania i niezawodności oprogramowania. Czynniki te obejmują długotrwałe okresy bezczynności systemu spowodowane opóźnieniem w identyfikacji problemów, zwiększoną pracę ręczną przy lokalizowaniu odpowiednich przypadków testowych oraz obniżone zaufanie do niezawodności systemu. Co więcej, brak dokładnego powiązania zidentyfikowanych nieprawidłowości z przypadkami testowymi prowadzi do niedoborów w zasięgu testów, co może prowadzić do nierozwiązanych istotnych problemów.

Podstawową przyczyną tej dysproporcji można przypisać rozproszonej strukturze istniejących systemów monitorowania i testowania. Wiele obecnych systemów nie ma możliwości płynnej integracji analizy danych obserwowalności z wykonywaniem odpowiednich przypadków testowych. Ponadto zależność od stałych regulacji i procedur ludzkich związanych z przypisywaniem nieprawidłowości do przypadków testowych utrudnia szybkie i precyzyjne rozwiązywanie nowych problemów.

Aby zrozumieć, jak branża radzi sobie z problemami wsparcia i prowadzi testy profilaktyczne, przeprowadziliśmy szczegółowe badanie badawcze, przeprowadzając wywiady z profesjonalistamiz tej dziedziny. Na podstawie danych z wywiadów podkreślono, że największą przeszkodą napotykaną podczas wdrażania jakiegokolwiek rozwiązania jest niewystarczający czas na zapewnienie jakości. Podczas rozmowy zwrócono uwagę na kilka obaw, w tym podnoszenie kwalifikacji osób, koszty utrzymania, niski zwrot z inwestycji oraz wybór i integrację narzędzi11. Informacje te zostały również zweryfikowane w raporcie Katalon "The State of Quality Report 2024"12.. Przed przedstawieniem jakichkolwiek rozwiązań problemów wymienionych w wywiadach przeprowadziliśmy porównawczą ocenę narzędzi, aby sprawdzić, czy istnieją narzędzia lub algorytmy odpowiadające na wspomniane problemy13,14. Obecnie brakuje nam niezbędnych narzędzi lub algorytmów specjalnie zaprojektowanych do rozwiązania trudności omawianych podczas wywiadów.

Prace te wprowadzają innowacyjną metodę wykorzystującą dane obserwowalności do wykrywania problemów z wsparciem na wczesnym etapie (nawet zanim zostaną one zgłoszone) oraz przeprowadzenia odpowiednich przypadków testowych, co zwiększa niezawodność i odporność systemów oprogramowania. Strategia ta opiera się na wykorzystaniu danych obserwowalności do identyfikacji nieprawidłowości, nawiązania powiązań z prawdopodobnymi problemami oraz inicjowania przeprowadzania ukierunkowanych przypadków testowych, które z dużym prawdopodobieństwem ujawnią przyczynę problemu. Proponowane rozwiązanie ma na celu zmniejszenie podziału między operacjami programistycznymi a testowaniem, umożliwiając proaktywną i szybką reakcję na potrzeby wsparcia. Proponowane rozwiązanie pozwala na tworzenie nowych przypadków testowych, jeśli brakuje ich w zestawie, co poprawia zasięg testów. Sugerowana strategia ma również na celu odpowiedź na obawy wyrażone w wywiadach oraz w raporcie Katalon 11,12,13,14.

Obserwowalność, w kontekście teorii sterowania, odnosi się do stopnia, w jakim stany wewnętrzne układu można wyprowadzić na podstawie jego zewnętrznych wyjść. W dziedzinie inżynierii oprogramowania pojęcie obserwowalności odnosi się do zdolności monitorowania i rozumienia stanu systemu oprogramowania poprzez wykorzystanie wyników takich jak logi, metryki, ślady oraz zdarzenia 15,16,17. Nasza analiza literatury obejmuje analizę obserwowalności i jej zastosowania w testowaniu oprogramowania. Jednak znaleźliśmy ograniczoną dostępną literaturę na ten temat. Dlatego uwzględniliśmy także dyskusje na temat innowacyjnych testów profilaktycznych i powiązanych badań. Nasz przegląd literatury jest dalej podzielony na 3 różne grupy.

Bogatinovski i in.18 przedstawiają CLog, kontekstową sieć neuronową i technikę klastrowania, zaprojektowaną do radzenia sobie z niestabilnymi danymi logowymi i niewystarczającym pokryciem awarii poprzez identyfikację istotnych podprocesów i wykrywanie awarii w nagłych przejściach kontekstowych. Busby i in.19 proponują metodologię opartą na logach do generowania anonimowych przypadków testowych, przewidując sekwencje użytkowników do replikacji bez danych osobowych; jednak różnice w współbieżności i poziomie loggera pozostają istotnymi ograniczeniami. Lee i Kang20 proponują wdrożenie architektury testowej do testowania linii produktów programowych, aby poprawić obserwowalność i kontrolowalność w obecności mechanizmów zmienności. Model QEX21 łączy dane z różnych źródeł testowania, aby dostarczyć jasnych, użytecznych informacji podczas wykonywania testów. Lal iKumar 22 podkreślają znaczenie możliwości widzenia i kontrolowania inteligentnych testów. Sugerują wykorzystanie automatyzacji opartej na AI, aby testy były szybsze, bardziej efektywne i dokładne. Briand i in.23 ilustrują zastosowanie programowania aspektowego w Javie do efektywnej instrumentacji kontraktów i inwariantów, podczas gdy Baral iOffutt 24 podkreślają problem błędnych twierdzeń testowych, które skutkują "ślepymi testami", które nie identyfikują nieprawidłowego zachowania.

Rott25 omawia, że nowoczesne analizy i wizualizacje w Teamscale kładą nacisk na proces testowania oprogramowania, umożliwiając testerom dostęp do przetworzonych artefaktów specyficznych dla wymaganych problemów i sytuacji. Collins i Lucena26 podkreślają znaczenie przeprowadzenia wielu testów w pipeline CI przed wdrożeniem produkcyjnym. Mówią, że testy warstwowe to dobry sposób, by upewnić się, że produkt jest wysokiej jakości i ograniczyć problemy ze wsparciem.

BugSwarm27 oferuje metodę analizy niepowodzeń testów CI poprzez powiązanie przyczyn źródłowych z ich odpowiednimi rozwiązaniami. Dudila iLetia, 28 lat, analizują metody testowania white-box i black-box, sugerując spójną strategię ograniczającą wysiłki związane z debugowaniem podczas procesu tworzenia. Fushihara i in.29 badali "testowe zapachy" w aplikacjach Pythona, analizując ich postęp poprzez modyfikacje kodu w celu usprawnienia zarządzania kodem testowym. SUPERNOVA30 to system do wyboru testów i zapobiegania błędom, który wykorzystuje dane, automatyzację i uczenie maszynowe do poprawy zapewnienia jakości. Araujo31 proponuje strategię utrzymania skoncentrowaną na starzeniu się oprogramowania. Strategia ta wykorzystuje konserwację korekcyjną, gdy zmiany kodu są możliwe, oraz strategie zapobiegawcze, gdy zmiany mogą powodować przestoje systemu, co zmniejsza liczbę awarii usług. Andrew i in.32 badają równoległe testowanie mutacji, proces, w którym klasy są wielokrotnie mutowane, testowane i ponownie ładowane, aż wszystkie warianty zostaną ocenione. Dunn i in.33 proponują metryki podatności bezpieczeństwa, które przydzielają wagi komponentom, podkreślając znaczenie dokładnego testowania. Na koniec Huo i in.34 używają sekwencyjnego indeksu zbiorów do wyszukiwania lokalizacji defektów i potwierdzania problemów. Pokazuje to, że przyczyny źródłowe często są powiązane z większością nieudanych przypadków testowych w aplikacjach programowych.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Architektura systemu i podsumowanie prototypu:

Badania te przedstawiają ulepszony i elastyczny system prototypowy PreventativeTestPro, który jest przykładem proaktywnego podejścia inżynieryjnego jakości, wykorzystującego dane obserwacji i duże modele językowe (LLM) do dalszego rozwiązywania problemów ze wsparciem. System dąży do rozwiązania nowoczesnych problemów dostarczania oprogramowania poprzez automatyzację wykrywania anomalii, analizy przyczyn źródłowych oraz inteligentnego wykonywania i opracowywania przypadków testowych dla nierozwiązanego pokrycia, wykorzystując syntetyczne monitorowanie, dane obserwacji oraz integrację z GenAI. Architektura jest modułowa i składa się z trzech kluczowych komponentów: Zbieracza i Analizatora Danych Obserwacji, Warstwy Inteligencji Napędzanej GenAI oraz Silnika Orkiestracji i Wykonania Testów, zgodnie ze szczegółami przedstawionymi na Rysunku 1.

figure-protocol-1
Rysunek 1: Wejście-wyjście proponowanego systemu. Dane obserwacji, wraz z wyjściem obserwatora, repozytorium testów i regułami mapowania, są dostarczane jako dane wejściowe obok stanowisk testowych BHRAMARI, które tworzą środowiska testowe oparte na AI, aby zwiększyć odporność przypadków testowych. Proponowany system generuje instrumentację anomalii, rekomendacje generowane przez AI, realizację odpowiednich przypadków testowych, dokumentację i raportowanie, a także identyfikację i tworzenie brakujących przypadków testowych. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 2 przedstawia architekturę sugerowanego podejścia. Rysunek ilustruje wejście, przetwarzanie i wyjście systemu. Zapewnia również kompleksowy obraz systemu, który następnie jest tłumaczony na wyjaśnienie poprawiające zrozumienie podstawowych cech.

figure-protocol-2
Rysunek 2: Architektura systemowa proponowanego systemu z zbieraczem i analizatorem danych o obserwowalności, warstwą inteligencji napędzaną GenAI oraz silnikiem orkiestracji i wykonywania testów. Ten rysunek ilustruje wewnętrzną architekturę systemu PreventativeTestPro, podzieloną na trzy warstwy: Warstwa Zbieracza Obserwacji agreguje dane z wielu źródeł, w tym zdarzeń przeglądarki, logów, plików HAR (HAR), logów backendowych, metryk i śladów. Warstwa Generative AI Intelligence wykorzystuje te dane do analizy przyczyn źródłowych, priorytetyzacji anomalii oraz autonomicznego tworzenia przypadków testowych (UI, API, manual) i dokumentacji za pomocą LLM. Moduł BHARAMARI ustanawia także nowe platformy testowe. Test Orchestration and Execution Engine mapuje rozbieżności na przypadki testowe, wykonuje testy równocześnie, ocenia wyniki oraz informuje zespoły inżynieryjne, systemy zgłoszeniowe i pulpity do monitorowania i rozwiązywania rozwiązań w czasie rzeczywistym. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Moduł Observability Data Collector and Analyzer pełni funkcję systemu sensorycznego platformy, nieustannie zbierając dane o ocenianej aplikacji na dużą skalę, w wielu aspektach. W przypadku monitorowania frontendu wdrażane są syntetyczne agenty monitorujące do monitorowania zdarzeń po stronie przeglądarki, takich jak struktury Document Object Model (DOM), działania użytkownika, takie jak kliknięcia, najechania i wejścia, a także pliki HAR rejestrujące informacje o żądaniach i odpowiedziach sieci i API. PreventativeTestPro jest również wbudowany w OBSERVER, aby zwiększyć możliwości przeglądarek. Monitorowanie backendu koncentruje się na analizie logów, w której żądane są i przetwarzane informacje o obserwowalności po stronie serwera, w tym logi aplikacji, komunikaty błędów, informacyjne i debug, logi śledzenia stosu i wyjątków, metryki wydajności takie jak czasy odpowiedzi oraz śledzenie za pomocą technologii takich jak OpenTelemetry czy New Relic. System będzie współpracował z syntetycznymi agentami, którzy symulują ruch i interakcje użytkowników, a kolektory logów kondensują przychodzące dane w czasie rzeczywistym. Zebrane dane są następnie normalizowane do formatów strukturalnych i przekazywane innym jednostkom przetwarzającym do dalszej analizy.

Istotą PreventativeTestPro jest warstwa inteligencji napędzana przez GenAI, która wykorzystuje duże modele językowe (LLM), takie jak GPT, do odczytu i analizy danych obserwowalności oraz kontekstualizacji i generowania odpowiedzi. Moduł prowadzi analizę przyczyn źródłowych: proces interpretacji logów i śladów przyczyn źródłowych w celu wyjaśnienia błędów technicznych w sposób zrozumiały, na przykład NullPointerException na konkretnej linii kodu oraz domniemaną przyczynę problemu, na przykład zmienną niezainicjalizowaną. W generowaniu przypadków testowych system wykorzystuje testy automatyczne generowane przez konwersję wzorców wyjątków lub sekwencji zdarzeń na wykonywalne skrypty testowe, np. testy Selenium lub API, ale także generuje czytelne procedury testowe, które pracownicy Kontroli Jakości mogą uruchamiać. Testy API ewoluowały poprzez transformację logów HAR i śledzenia w sekwencję żądań API z oczekiwanymi asercjami, a wszystkie generowane przypadki testowe są dodatkowo wzbogacane o efektywne platformy testowe poprzez integrację z BHRAMARI. W systemie rekomendacji sugeruje się dalsze ulepszenia, ulepszenia pokrycia testami oraz możliwości integracji CI/CD, w zależności od analizowanego zachowania systemu. Silnik AI wykorzystuje ustrukturyzowane dane obserwowalności poprzez inżynierię promptów i wzbogacanie kontekstu, aby prezentować kontekst logów z szablonami promptów, które przekazują strukturalne zapytania do LLM, a ostatecznie generuje wyniki w formie funkcjonalnej, takie jak fragmenty kodu, specyfikacje przypadków testowych oraz dokumentacja w języku naturalnym.

Moduł Test Orchestration and Execution Engine obsługuje priorytet testów, harmonogramowanie i wykonywanie, umożliwiając automatyczną walidację na podstawie szczegółów pokrycia zmian kodu, tagów oraz mapowania anomalii. Mapowanie i wybór testu polegają na powiązaniu anomalii w mapach lub wzorcach instrumentacji z znanymi przypadkami testowymi za pomocą silnika reguł mapowania, a następnie uruchamianie przypadków testowych zgodnie z ustalonym mapowaniem. Funkcje równoczesnego wykonywania testów pozwalają na jednoczesne przeprowadzanie wielu typów testów, takich jak testy funkcjonalne, wydajnościowe lub bezpieczeństwa w różnych środowiskach, oraz koordynację użycia Selenium, JMeter i ZAP jako instrumentów w potokach automatyzacji. Implementacja pętli zwrotnej dba o to, aby wyniki wykonania były rejestrowane, a w przypadku niepowodzenia testu zmiany są przekazywane systemom wsparcia, w tym Jira i Azure DevOps, aby je śledzić i rozwiązać.

Hipoteza:

H1 (Efektywność operacyjna): Zakłada się, że połączenie danych obserwowalności i inteligencji opartej na AI poprawi wskaźniki operacyjne, szczególnie skracając średni czas na rozwiązanie (H1a), średni czas analizy (H1b), średni czas wykrywania problemów produkcyjnych (H1c) oraz średni czas wdrożenia poprawek w produkcji (H1d). Te zmiany powinny ułatwić spełnienie wymagań Service Level Agreement (SLA) (H1e) poprzez przyspieszenie wykrywania, analizy i wdrażania, jednocześnie minimalizując przestoje systemu.

H2 (Skuteczność testowania): Uważa się również, że skuteczność testowania oprogramowania wzrośnie dzięki większemu zasięgowi testów (H2a), prowadzeniu przypadków testowych równolegle (H2b) oraz inteligentnemu priorytetyzowaniu testów (H2c). Rekomendacje generowane przez AI (H2d) również mają pomóc zarówno w testowaniu, jak i w procesie operacyjnym. To pomoże szybciej wykrywać błędy, przyspieszyć pętle informacji zwrotnej oraz wspierać praktyki kontroli jakości, które są zapobiegawcze i długotrwałe.

Zakres i odbiorcy:

Ten prototyp pokazuje ogólny projekt systemu, główną ideę oraz krok po kroku, jak skonfigurować i uruchomić framework PreventativeTestPro. Zawiera też szczegóły dotyczące ustawienia odpowiednich stanowisk testowych/próbek wejściowych oraz daje wskazówki, jak naprawić problemy. Treść jest przeznaczona dla inżynierów jakości oprogramowania, którzy znają już podstawy Javy i chcą nauczyć się stosować testy zapobiegawcze, aby uczynić oprogramowanie bardziej niezawodnym i efektywnym.

Konfiguracja środowiska:

Plik uzupełniający 1 zawiera krok po kroku opis i program wymagany do komunikacji z PreventativeTestPro. Obejmuje to instrukcje dotyczące instalacji niezbędnego środowiska, jak uruchomić i zatrzymać usługi narzędzia oraz jasne wyjaśnienie podstawowego zastosowania narzędzia. Aby uzyskać bardziej szczegółową dokumentację, wraz z instrukcjami obsługi zaawansowanych narzędzi, instrukcjami konfiguracji i innymi szczegółami organizacyjnymi, należy odwołać się do oficjalnych źródeł GitHub dedykowanych projektowi: konkretnej strony Wiki w lokalizacji https://github.com/sohambpatel/PreventativeTests/wiki oraz głównego README w https://github.com/sohambpatel/PreventativeTests?tab=readme-ov-file/readme.

Przykładowe dane wejściowe:

Przykładowe pliki wejściowe można znaleźć w repozytorium GitHub: https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/Inputs. Framework może natychmiast uruchomić gotowe przypadki testowe i zbiory danych tych plików. Są one używane jako dane referencyjne do sprawdzania ustawień środowiska oraz uzyskania tych samych rezultatów, które opisano w tym protokole.

Przykładowe wyniki:

Repozytorium GitHub (https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/SampleOutputs) zawiera konkretne próbki danych wyjściowych frameworku testów zapobiegawczych w formacie surowym. Dzięki tym plikom użytkownicy mogą bezpośrednio przeglądać układ i szczegóły generowanych raportów i metryk, co pokazuje rezultaty, jakie narzędzie osiągnęło podczas jego działania. Ten przewodnik jest istotny dla poznania pipeline'u danych oraz potwierdzenia przewidywanego zachowania ram podczas odtwarzania procesu eksperymentalnego.

Prototyp wykonawczy:

Ta sekcja zawiera szczegółowy, krok po kroku przewodnik po tym, jak korzystać z ram PreventativeTestPro. Aby pomóc użytkownikom odtworzyć przepływ pracy, każdy etap jest opisywany w kolejności. Ta sekcja przedstawia kroki wykonania w uporządkowanym formacie, aby ułatwić odtwarzanie wyników, wskazywać ważne punkty kontrolne oraz zapewniać, że ramy PreventativeTestPro mogą być konsekwentnie używane w różnych środowiskach eksperymentalnych lub operacyjnych.

W tym etapie GUI PreventativeTestPro może być użyte do wyboru najlepszego workflow testów profilaktycznych. Rysunek 3 przedstawia pięć opcji, z których każda oznacza inny etap procesu testowania: równoległe uruchamianie testów, tworzenie zestawu testów na podstawie wyników monitorowanych poprzez priorytetyzację istniejących przypadków testowych, tworzenie ręcznych przypadków testowych, tworzenie automatycznych przypadków testowych oraz znalezienie przyczyny źródłowej. Gdy użytkownik dokona wyboru, rozpoczyna się wyznaczony przepływ pracy. Następnie w późniejszych etapach można dodać dodatkowe tryby (takie jak generowanie testów sterowane przez AI lub analiza przyczyn źródłowych). Ten dobrze zorganizowany interfejs umożliwia przeprowadzanie badań profilaktycznych, które można powtarzać i rozkładać na mniejsze części.

figure-protocol-3
Rysunek 3: Interfejs użytkownika 1 systemu. Na tym rysunku przedstawiony jest interfejs użytkownika PreventativeTestPro, który pozwala wybrać spośród pięciu różnych sposobów przeprowadzania testów profilaktycznych: 1. Test zapobiegawczy, wykonywanie równoległe: rozpoczęcie testowania, 2. Test zapobiegawczy, finalizacja zestawu testów na podstawie monitorowania aplikacji syntetycznych, 3. Test zapobiegawczy, generowanie ręcznych przypadków testowych z użyciem GenAI, 4. Test zapobiegawczy, generowanie automatycznych przypadków testowych z użyciem GenAI, 5. Test zapobiegawczy, Analiza przyczyn źródłowych z użyciem GenAI. Można wybrać tylko jedną opcję naraz. Modułowa konstrukcja ułatwia przeprowadzanie testów profilaktycznych i dodaje możliwość tworzenia oraz diagnostyki testów opartych na AI. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 4 przedstawia interfejs Parallel Execution frameworka. W tym etapie użytkownik wprowadza adres URL aplikacji, którą chce przetestować, oraz absolutną ścieżkę do pliku właściwości, który zawiera ustawienia konfiguracyjne. Po ustawieniu danych użytkownik może jednocześnie rozpocząć testy, klikając przycisk Start Testing, który również monitoruje stronę testowaną i generuje logi bezpieczeństwa, wydajności, konsoli oraz JavaScript. Można przerwać trwające wykonanie, klikając przycisk Stop Testing. Przycisk Pobierz rekomendację pozwala uzyskać informacje oparte na AI z rejestrowanych logów. Taki projekt zapewnia, że wiele kategorii testów (funkcjonalnych, wydajnościowych i bezpieczeństwa) działa jednocześnie, co ułatwia szybsze wykrywanie problemów.

figure-protocol-4
Rysunek 4: Interfejs użytkownika 2 systemu. Ten rysunek przedstawia tryb Parallel Execution w ramach PreventativeTestPro. Użytkownik określa adres URL docelowej aplikacji oraz ścieżkę do pliku właściwości zawierającego szczegóły konfiguracji. Opcje obejmują Start Testing (do równoległego uruchamiania testów funkcjonalnych, bezpieczeństwa i wydajności oraz zapisywanie logów), Stop Testing (aby zatrzymać wykonywanie) oraz Get Recommendation (aby uzyskać wnioski oparte na AI z logów i metryk). Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 5 przedstawia interfejs finalizacji testów oparty na monitoringu w ramach PreventativeTestPro. W tym kroku użytkownik ustawia ścieżkę dla pliku wyjściowego monitorowania, zapytania ścieżki JSON, aby uzyskać węzły błędów lub wyjątków, oraz ścieżkę repozytorium testów do zapisu utworzonych przypadków. Po ustawieniu danych wejściowych użytkownik może najpierw uzyskać nazwy klas i metod, które do nich pasują, a następnie posortować przypadki testowe na podstawie znalezionej klasy i metody. Ten etap priorytetyzacji pokazuje, jak wykorzystać dane monitorujące do skutecznego klasyfikowania przypadków testowych.

figure-protocol-5
Rysunek 5: Interfejs użytkownika 3 systemu. Ten rysunek pokazuje, jak priorytetyzować zestaw testów w ramach PreventativeTestPro za pomocą syntetycznych wyników monitoringu. Użytkownik wpisuje ścieżkę do pliku wyjściowego monitoringu, ścieżkę JSON, aby uzyskać wyjątki/błędy, oraz ścieżkę do repozytorium testów (offline). Opcje Get Class/Method Name oraz Get Test Cases mogą być użyte do zamiany anomalii mapowania w przypadki testowe, które można uruchomić. Zapewnia to, że problemy z czasem wykonywania są uwzględniane w procesie testowania. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 6 przedstawia interfejs Manual Test Case Generation w PreventativeTestPro. W tym kroku użytkownik informuje program, gdzie znaleźć plik śledzenia stosu pokazujący anomalię, podając bezwzględną ścieżkę do pliku śledzenia stosu oraz ścieżkę do pliku właściwości konfiguracji. Po ustawieniu danych wejściowych można uruchomić opcję Generuj Przypadki Testowe, która zamienia anomalię w ustrukturyzowane ręczne przypadki testowe. Dzięki temu błędy wykonawcze, które wystąpiły wcześniej, są zawsze uwzględniane w procesie testowym. Framework ułatwia tworzenie przypadków testowych poprzez automatyzację procesu. To ogranicza ilość pracy manualnej, poprawia zasięg testów i zwiększa wiarygodność testów, a także zapobiega powtarzaniu się tego samego problemu. Ten krok jest bardzo ważnym łącznikiem między wykrywaniem problemów a zapewnieniem wysokiej jakości, zanim się pojawią.

figure-protocol-6
Rysunek 6: interfejs użytkownika 3 systemu. Ten rysunek pokazuje interfejs generowania przypadków testowych w PreventativeTestPro. Przekształca ślady stosu anomalii w ręczne przypadki testowe w Behavior Driven Development (BDD), które można wykorzystać. Użytkownik podaje ścieżki do pliku śledzenia stosu oraz pliku właściwości, a następnie klika "Generuj przypadki testowe", aby automatycznie tworzyć przypadki odpowiadające znalezionej awarii. Dzięki temu problemy w czasie działania są zawsze zamieniane w testy regresyjne, które można powtarzać. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rysunek 7 przedstawia interfejs Automated Test Case Generation firmy PreventativeTestPro. W tym kroku użytkownik podaje absolutną ścieżkę do pliku JSON JSON z obserwacji oraz ścieżkę do pliku konfiguracyjnego właściwości. Po kliknięciu przycisku Generuj Automatyczne Przypadki Testowe system przetwarza dane monitorujące i tworzy przypadki testowe, które można uruchomić i pokazać te same problemy, które zaobserwowano.

figure-protocol-7
Rysunek 7: Interfejs użytkownika 4 systemu. Ten rysunek pokazuje zautomatyzowany interfejs generowania przypadków testowych PreventativeTestPro, który tworzy testy uruchamiane na podstawie danych obserwowalności. Użytkownik podaje ścieżkę do pliku właściwości oraz pliku wyjściowego JSON obserwacji. Następnie klikają "Generuj zautomatyzowane przypadki testowe", aby tworzyć skrypty, które można uruchomić (w formatach Selenium i TestNG). Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

figure-protocol-8
Rysunek 8: Interfejs użytkownika 5 systemu. Ten rysunek przedstawia interfejs instrumentacji anomalii w PreventativeTestPro for Root Cause Analysis (RCA). Użytkownik podaje ścieżkę do pliku właściwości oraz pliku śledzenia stosu, a następnie wybiera RCA, aby rozpocząć analizę opartą na AI. Ten krok zmienia wykryte anomalie w ustrukturyzowane analizy diagnostyczne, co zapewnia, że błędy mogą być naprawiane w sposób powtarzalny i specyficzny dla problemu. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Rozwiązywanie problemów:

Tabela 1 pokazuje najważniejsze punkty rozwiązywania problemów, które dotyczą wyłącznie kodu aplikacji. Te punkty to szybki sposób, aby przypomnieć sobie, jak naprawić problemy na poziomie kodu, które pojawiają się podczas uruchamiania frameworka PreventativeTestPro. Dokumentacja projektu zawiera więcej informacji oraz instrukcje krok po kroku dla czytelników, którzy chcą uzyskać więcej pomocy w rozwiązywaniu problemów wpływających na ogólną funkcjonalność aplikacji. Pełne źródło można uzyskać pod linkiem: https://github.com/sohambpatel/PreventativeTests/wiki/How-to-use%3F. To dodatkowe źródło zapewnia, że użytkownicy nie tylko rozwiązują problemy kodistyczne, ale także uczą się rozwiązywać funkcje diagnostyczne, co pozwala im efektywniej korzystać z frameworka.

Zachowanie błęduPrzyczyna źródłowaJak to naprawić?
Aplikacja się nie zaczynaŚcieżka Java nie jest ustawionaW zmiennej środowiskowej ustaw JAVA_HOME
Serwer zawodzi przy uruchomieniuPort 8080/9090 w użyciu (szczególnie podczas korzystania z Dockera)Zaktualizuj mapowanie portów Dockera
Treści GenAI są zeroweToken mógł wygasnąćWygeneruj token i zaktualizuj właściwości config.properties zanim poda go jako wejście
Instancja przeglądarki generowana przez framework nie łączy się z sieciąAlbo serwer ZAP nie działa, albo dane poświadczenia ZAP są nieprawidłoweWŁĄCZ ZAP przed uruchomieniem aplikacji, jeśli jest uruchomiony i problem nadal występuje, zaktualizuj dane poświadczenia ZAP w config.properties zanim podasz to jako wejście

Tabela 1: Najczęściej proponowane błędy systemowe i szybkie rozwiązania. Ta tabela przedstawia typowe błędy specyficzne dla aplikacji, metody rozwiązywania problemów oraz szybkie rozwiązania, które można zastosować, aby je naprawić.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Początkowo dzieliliśmy się wynikami uzyskanymi z badań przypadków przeprowadzonych we współpracy z różnymi branżami w czasie rzeczywistym. Ponadto przedstawiliśmy wyniki uzyskane przez testerów beta, którzy wykorzystali ten framework i algorytm, wraz z końcowymi obserwacjami potencjalnych ryzyk dla ważności wyników.

Wyniki studiów przypadków branży:

Na podstawie naszych badań, które koncentrują się na praktycznych zastosowaniach i odpowiadają na pot...

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Badania te prezentują PreventativeTestPro, kompleksową platformę testową i obserwacyjną, która integruje syntetyczne monitorowanie, dane obserwowalności oraz automatyzację opartą na generatywnej sztucznej inteligencji w celu poprawy zapewnienia jakości oprogramowania. System składa się z trzech podstawowych modułów: zbieracza i analizatora danych obserwowalności, generatywnej warstwy inteligencji opartej na AI oraz silnika orkiestracji i wykonywania testów. Łącznie te komponenty tworzą pętlę zwrotną, w której zachowania ...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autorzy deklarują, że nie mają znanych konkurujących ze sobą interesów finansowych ani relacji osobistych, które mogłyby wpłynąć na prace opisane w tym artykule. Potwierdzamy, że Gemini był stosowany jedynie w kontekście dopracowywania gramatyki i przeformułowywania zdań, aby były łatwiejsze do czytania. Aby być poprawnym i etycznie słusznym, autorzy starannie zrewidowali wszystkie zmiany sugerowane przez AI, aby zachować pierwotne naukowe konotacje.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autor wyraża wdzięczność za znaczące wsparcie i współpracę udzieloną przez następujące organizacje podczas tych badań. Wspólne eksperymentalne studia przypadków z tymi firmami były kluczowe dla potwierdzenia proponowanego narzędzia i metody. Wdzięczność składana jest GazonTech, Lopa Engineering, Afour Technologies, QJ Technologies oraz SecureLayer7 za udostępnienie praktycznego otoczenia, technicznych wskazówek i cennych informacji podczas fazy eksperymentalnej. Ich aktywne zaangażowanie znacznie zwiększyło praktyczne znaczenie i użyteczność wyników badań. Autor wyraża głęboką wdzięczność za gotowość do udziału w badaniach naukowych oraz za zaangażowanie w innowacje i ciągły rozwój w dziedzinach inżynierii oprogramowania i cyberbezpieczeństwa.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Apache MavenFundacja Oprogramowania Apache3.9.6Narzędzie do zarządzania zależnościami i projektami dla projektów Java
ChatGPT (GPT-3.5 Turbo API)OpenAIhttps://platform.openai.com/api-keysDo generowania rekomendacji testowych opartych na AI na podstawie logów, generowania ręcznych przypadków testowych, generowania zautomatyzowanych przypadków testowych oraz analizy przyczyn podstawowych
Komputer (maszyna rozwojowa/testowa)Standardowy komputer stacjonarny/laptop-Używany do tworzenia, wykonywania i testowania PreventativeTestPro
Miejsce na dysku--Zalecane jest co najmniej 10 GB wolnej przestrzeni na dysku na logi, raporty i artefakty testowe
DockerDocker Inc.27 (https://docs.docker.com/desktop/setup/install/windows-install/) Wykorzystywane do konteneryzacji w celu zapewnienia powtarzalności w różnych środowiskach
GitGit SCMgit version 2.45.2.windows.1System kontroli wersji używany do tworzenia i współpracy
Repozytorium GitHubGitHubhttps://github.com/sohambpatel/PreventativeTestsPubliczne repozytorium zawierające kod źródłowy, dokumentację, zbiory danych i przykłady
Google ChromeGoogle140.0.7339.128Główna przeglądarka używana do syntetycznego monitorowania i testowania
JavaOracle / OpenJDK21.0.2Wykorzystywane do tworzenia oprogramowania i wdrażania PreventativeTestPro
System operacyjnyNiezależna platforma-Narzędzie działa na dowolnym systemie operacyjnym z zainstalowanymi Java i Maven (Windows, Linux, macOS)
OWASP ZAPFundacja OWASP2.14.0Narzędzie do skanowania i wykrywania luk bezpieczeństwa
Procesor--Intel i5 lub nowszy (lub równoważny) zalecany do wykonywania równoległego i przetwarzania AI
RAM--Minimalne 8 GB RAM zalecane do przeprowadzania testów i monitorowania w przeglądarce

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. A novel approach to multiple criteria based test case prioritization. Abid, R., Nadeem, A. 2017 13th International Conference on Emerging Technologies (ICET), Islamabad, Pakistan, , (2017).
  2. Khatibsyarbini, M., Isa, M. A., Jawawi, D. N., Tumeng, R. Test case prioritization approaches in regression testing: A systematic literature review. Inf Softw Technol. 93, 74-93 (2017).
  3. Enhanced weighted method for test case prioritization in regression testing using unique priority value. Ammar, A., Baharom, S., Ghani, A. A. A., Din, J. 2016 International Conference on Information Science and Security (ICISS), Pattaya, Thailand, , (1109).
  4. Using artificial bee colony for code coverage based test suite prioritization. Konsaard, P., Ramingwong, L. 2015 2nd International Conference on Information Science and Security (ICISS), Seoul, Korea, 10, Forthcoming.
  5. Rosero, R. H., Gómez, O. S., Rodríguez, G. Regression testing of database applications under an incremental software development setting. IEEE Access. 5, 18419-18428 (2017).
  6. Customer Service Expectations 2018. , Gladly. Available at: https://www.gladly.com/blog/2018-customer-service-expectations-survey/ (2018).
  7. Must-Know Customer Service Statistics. , Khoros. Available at: https://khoros.com/blog/must-know-customer-service-statistics (2025).
  8. State of the Connected Customer, 4th Ed. , Salesforce. Available at: https://c1.sfdcstatic.com/content/dam/web/en_us/www/documents/research/salesforce-state-of-the-connected-customer-4th-ed.pdf (2025).
  9. Customer Acquisition Study. , HubSpot. Available at: https://blog.hubspot.com/service/customer-acquisition-study (2025).
  10. IT Ticket Handling Best Practices. , Ivanti. Available at: https://www.ivanti.com/blog/it-ticket-handling-best-practices (2025).
  11. Patel, S., Patil, K., Chumchu, P. Quantitative data set on test prioritization and preventative tests. Mendeley Data. V2, (2023).
  12. State of Software Quality Report 2024. , Katalon. Available at: https://katalon.info/hubfs/download-content/ebook/State%20of%20Software%20Quality%20Report%202024.pdf (2025).
  13. Patel, S., Patil, K., Chumchu, P. OBSERVER: Observing Browser Synthetic Environments for Robotization, Verification, Efficiency, and Resilience. Softw Impacts. 24, 100752(2025).
  14. Patel, S., Patil, K., Chumchu, P. Comparative analysis of software solutions for preventative testing and test prioritization. Mendeley Data. V2, (2024).
  15. Intro to Synthetic Monitoring . , New Relic. Available at: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/using-monitors/intro-synthetic-monitoring (2025).
  16. Observability Glossary. , SolarWinds. Available at: https://www.solarwinds.com/resources/it-glossary/observability (2025).
  17. Patel, S., Patil, K., Chumchu, P. BHRAMARI: Bug driven highly reusable automated model for automated test bed generation and integration. Softw Impacts. 21, 100687(2024).
  18. Failure identification from unstable log data using deep learning. Bogatinovski, J., Nedelkoski, S., Wu, L., Cardoso, J., Kao, O. 2022 22nd IEEE International Symposium on Cluster, Cloud and Internet Computing (CCGrid), Taormina, Italy, , (2022).
  19. Creating test cases for testing software using anonymized log data. U.S. Patent. , US11709764B2. USPTO (2023).
  20. Towards test architecture based software product line testing. Lee, J., Kang, S. 2014 IEEE 38th Annual Computer Software and Applications Conference (COMPSAC), Vasteras, Sweden, , (2014).
  21. QEX: Automated testing observability and QA developer experience framework. Locke, H. L., Ting Keshia, Y. K., Yu, J. C. K., Chua, H. Y. 2023 IEEE Conference on Software Testing, Verification and Validation (ICST), Dublin, Ireland, , (1109).
  22. Intelligent testing in software industry. Lal, A., Kumar, G. 2021 12th International Conference on Computing Communication and Networking Technologies (ICCCNT), Kharagpur, India, , (2021).
  23. Instrumenting contracts with aspect-oriented programming to increase observability and support debugging. Briand, L. C., Dzidek, W. J., Labiche, Y. 2005 21st IEEE International Conference on Software Maintenance (ICSM), Budapest, Hungary, , (1109).
  24. An empirical analysis of blind tests. Baral, K., Offutt, J. 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), Porto, Portugal, , (1109).
  25. Rott, J. Test intelligence: How modern analyses and visualizations in Teamscale support software testing. 2022 1st International Workshop on Visualization in Testing of Hardware, Software, and Manufacturing (TestVis), Oklahoma City, OK, USA, , (2022).
  26. Collins, E. F., de Lucena, V. F. Software test automation practices in agile development environment: An industry experience report. 2012 7th International Workshop on Automation of Software Test (AST), Zurich, Switzerland, , (2012).
  27. BugSwarm: Mining and continuously growing a dataset of reproducible failures and fixes. Tomassi, D. A., Dmeiri, N., Wang, Y., Bhowmick, A., Liu, Y. C., Devan, P. T. 2019 IEEE/ACM International Conference on Software Engineering (ICSE), Montreal, Canada, , (2019).
  28. Towards combining functional requirements tests and unit tests as a preventive practice against software defects. Dudila, R., Letia, I. A. 2013 International Conference on Control Systems and Computer Science (ICCP), Sinaia, Romania, , (2013).
  29. Fushihara, Y., Aman, H., Amasaki, S., Yokogawa, T., Kawahara, M. A trend analysis of test smells in Python test code over commit history. 2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Durres, Albania, , (2023).
  30. SUPERNOVA: Automating test selection and defect prevention in AAA video games using risk-based testing and machine learning. Senchenko, A., Patterson, N., Samuel, H., Ispir, D. 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), Valencia, Spain, , (2022).
  31. A software maintenance methodology: An approach applied to software aging. Araujo, J., Melo, C., Oliveira, F., Pereira, P., Matos, R. 2021 IEEE International Systems Conference (SysCon), Vancouver, BC, Canada, , Forthcoming.
  32. Mutual Automobile Insurance Company. Mutation Testing in Parallel Threads. U.S. Patent. , US11163675B1. USPTO (2021).
  33. Machine learning-based decision-making for autonomous systems communication. U.S. Patent. , US11366748B1. USPTO (2022).
  34. Use sequential set index for root cause location and problem detection. U.S. Patent. Huo, Z. P., et al. , US11645142B1. USPTO (2023).
  35. Selenium WebDriver. , Selenium. https://www.selenium.dev (2025).
  36. The Katalon Platform. , Katalon. Available from: https://katalon.com (2025).
  37. Apache JMeter. , Apache Software Foundation. Available from: https://jmeter.apache.org (2024).
  38. OWASP ZAP (Zed Attack Proxy). , OWASP Foundation. Available from: https://www.zaproxy.org/ (2025).
  39. Xray by Xpand IT. Xray - Test Management for Jira. , Xray. Available from: https://www.getxray.app (2025).
  40. Tricentis Copilot. , Tricentis. Available from: https://www.tricentis.com/products/copilot/ (2025).
  41. SmartQ Tech Products. , SmartQ Technologies. Available from: https://www.thesmartq.com/smartq-tech-products/ (2025).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Hybrid TestingObservability AutomationGenerative AI TestingSoftware Quality EngineeringTest OrchestrationBlack Box TestingWhite Box TestingLog AnalysisRegression CoverageAnomaly Detection

Related Articles