Testy akceptacyjne wg ustawy

Testy akceptacyjne wg ustawy
Ustawa o informatyzacji działalności podmiotów realizujących zadania publiczne, została ponownie poprawiona w marcu 2021. Można w niej znaleźć ciekawe opisy i wyczytać z nich zrozumienie ustawodawcy dla testowania akceptacyjnego.

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. 

Źródła:
http://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20050640565
http://isap.sejm.gov.pl/isap.nsf/download.xsp/WDU20050640565/U/D20050565Lj.pdf

To powinno Cię zainteresować