Na szczęście akty prawne, pisane przez rządzących, nie obowiązują w normalnych projektach informatycznych. Jednak czytając je, możemy zrozumieć, jak urzędnicy widzą rolę testów akceptacyjnych. Ta lektura pokazuje stan ich wiedzy o kontroli jakości.
Jak urzędnik rozumie testowanie akceptacyjne? Definicja
"testy akceptacyjne – udokumentowane wartości danych wejściowych wprowadzanych do systemu teleinformatycznego i powiązanych z nimi wartości oczekiwanych danych wyjściowych, opisujące zestawy poprawnych odpowiedzi systemu teleinformatycznego na podawane dane wejściowe, pozwalające na sprawdzenie poprawności wdrożenia oprogramowania interfejsowego;"
Komentarz: dokument musi być zrozumiały przez urzędników, którzy testy akceptacyjne muszą przeprowadzić. Prawda jest taka, że coś w tym zdaniu nie zagrało. Mała poprawka: "testy akceptacyjne – sprawdzenie poprawności wdrożenia oprogramowania interfejsowego, wynikające z poprawnych odpowiedzi systemu teleinformatycznego, na podawane dane wejściowe. Jest to przekazanie do systemu teleinformatycznego udokumentowanych wartości danych wejściowych oraz odczytanie powiązanych z nimi wartości oczekiwanych danych wyjściowych."
Jednak nie "testy akceptacyjne" a "badanie"?
Niby ustawa opisuje testy akceptacyjne, ale kiedy już do nich przechodzimy, pojawia się definicja "badania".
"W celu zapewnienia interoperacyjności systemów teleinformatycznych używanych do realizacji zadań publicznych przeprowadza się, […] badanie poprawności wdrożenia rozwiązań […], w oprogramowaniu interfejsowym przy wykorzystaniu testów akceptacyjnych udostępnionych przez podmiot publiczny, […], zwane dalej "badaniem"."
W dużym uproszczeniu, "badania" przeprowadza ten, kto system wytworzył, a „testy akceptacyjne” wykonuje podmiot, który to wytworzenie zlecił.
"1. W celu zapewnienia interoperacyjności systemów teleinformatycznych używanych do realizacji zadań publicznych przeprowadza się, […], badanie poprawności wdrożenia rozwiązań, […].
2. Badanie przeprowadza, na własny koszt, twórca oprogramowania interfejsowego albo inny podmiot posiadający autorskie prawa majątkowe do oprogramowania interfejsowego, które ma być wykorzystywane do realizacji zadania publicznego, zwany dalej "podmiotem uprawnionym":
1) przed udostępnieniem po raz pierwszy oprogramowania interfejsowego do realizacji tego zadania;
2) po modyfikacji oprogramowania interfejsowego w zakresie, […]. a, dokonanej od czasu poprzedniego badania.
3. Podmiot uprawniony:
1) informuje podmiot publiczny o rodzaju, wersji, dacie wytworzenia i charakterystyce techniczno-funkcjonalnej oprogramowania interfejsowego poddawanego badaniu;
2) składa podmiotowi publicznemu oświadczenie o wyniku badania"
Badanie kończy się "oświadczeniem", a więc czymś, co możemy uznać za formę raportu z testów. Podmiot publiczny może nie ufać badaniom, więc dokonuje testów akceptacyjnych.
"4. W celu potwierdzenia wyniku badania podmiot publiczny może przeprowadzić weryfikację tego badania, wykorzystując testy akceptacyjne udostępnione podmiotowi uprawnionemu. Podmiot publiczny informuje podmiot uprawniony o wyniku weryfikacji."
Jeśli badanie i testy akceptacyjne mają różne wyniki, to wytwórca musi za to zapłacić.
"5. W razie niezgodności wyniku weryfikacji z wynikiem badania dokonanego przez podmiot uprawniony rozstrzyga wynik weryfikacji. W tym przypadku koszty weryfikacji ponosi podmiot uprawniony."
Ciekawe rozwiązanie, które z jednej strony jest polem do nadużyć, a z drugiej zachęca wytwórcę do pokazania prawdziwych wyników.
Kto planuje testy i robi dokumentację testerską? Minister.
W projekcie informatycznym, odpowiadający za niego kierownik testów, wykonuje plan testów akceptacyjnych. W projekcie publicznym minister wydaje na ten temat rozporządzenie.
"Minister właściwy do spraw informatyzacji określił, w drodze rozporządzenia:
1) metodykę, warunki i tryb sporządzania testów akceptacyjnych,
2) sposób postępowania w zakresie badania oraz weryfikacji badania, w tym sposób dokumentowania wyników badania oraz weryfikacji badania,
3) rodzaje oprogramowania interfejsowego podlegającego badaniu,
[…]
5) wzór oświadczenia o wyniku badania oraz wyniku weryfikacji badania – uwzględniając konieczność wprowadzenia jednolitych warunków przygotowania
rzetelnego zestawu testów akceptacyjnych oraz dokonania obiektywnej oceny oprogramowania interfejsowego"
I na koniec…
"Oprogramowanie interfejsowe może być używane do realizacji zadań publicznych, jeżeli uzyskało pozytywny wynik badania."
Język, który został użyty w ustawie, nie ma nic wspólnego z językiem używanym w produkcji i akceptacji oprogramowania. Proces jest sprowadzony do naprawdę skrótowego opisu i ciężko oprzeć się wrażeniu, że nie niesie szczególnej wartości dla urzędników zaangażowanych w testy. Można powiedzieć: jaka ustawa takie testy, jakie testy taka informatyzacja.