Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


12.05.2022

Odszyfrowanie historii

Z inicjatywy prezesa IPN, dr. Karola Nawrockiego, powstało Biuro Nowych Technologii. Jego...
01.04.2022

Program partnerski

NGAGEFirma NFON, ogólnoeuropejski dostawca komunikacji głosowej w chmurze, ogłosił...
01.04.2022

SI w TFI PZU

Na platformie do inwestowania inPZU działa już nowa metoda identyfikacji tożsamości...
01.04.2022

Kooperacja w chmurze

To oparta na stworzonej przez NetApp technologii ONTAP i w pełni zarządzana przez...
01.04.2022

Nowe laptopy od Dynabook

Dynabook wprowadza do swojej oferty dwa laptopy z procesorami Intel Core 12. generacji,...
01.04.2022

Ryzen do stacji roboczych

AMD przedstawił nową gamę procesorów Ryzen Threadripper PRO 5000 serii WX.
31.03.2022

Serwery dla MŚP

Firma Lenovo wprowadziła nowe rozwiązania w zakresie infrastruktury IT Future Ready,...
31.03.2022

Innowacyjny kontroler SSD

Microchip zaprezentował nowe kontrolery SSD, które umożliwią obsługę napędów o pojemności...
31.03.2022

Wydajny jak Brother

Brother dodał do swojej oferty trzy nowe, atramentowe urządzenia wielofunkcyjne, które...

Istota testów oprogramowania w kontekście prawnym

Data publikacji: 03-02-2022 Autor: Charlotta Lendzion

Testowanie oprogramowania w kontekście zgodności prawnej z dnia na dzień zyskuje na znaczeniu. Choć temat ten nie jest dość często poruszany poza dostawcami oprogramowania, to warto zaznaczyć, że testy nie polegają tylko na sprawdzeniu, czy dane oprogramowanie spełnia swój cel biznesowy, ale również na weryfikacji, czy działa w zgodzie z obowiązującymi przepisami prawa.

 

Na zakres testów oprogramowania składa się wiele różnych czynności, do których zaliczamy przykładowo: planowanie, projektowanie testów oraz działań okołotestowych, tworzenie scenariuszy i przypadków testowych, weryfikacja i ocena warunków testowych oraz kryteriów zakończenia, przegląd i praca z dokumentacją, konfigurowanie środowisk czy chociażby raportowanie w pełnym tego słowa znaczeniu. Oczywiście nie są tu wymienione wszystkie czynności testowania, bo nie taki jest cel tego artykułu. Chodzi jedynie o przekrojowe spojrzenie na testy jako zespół czynności, nie tylko związanych z samymi testami, ale też jako organizację i realizację poszczególnych zadań, które muszą być wykonane. Ich realizacja dostarczy niezbędnych informacji w zakresie wytwarzanego oprogramowania i jego jakości.


Testy oprogramowania mają swój cel. Przeważnie wiąże się on ze znalezieniem defektów w oprogramowaniu. Mogą też pojawić się cele pośrednie, jak chociażby poprawianie i badanie jakości oprogramowania w celu uniknięcia wystąpienia defektów w przyszłości.

 

Znalezienie defektu w oprogramowaniu to bardzo kosztowny proces. Priorytetowym zadaniem testera jest szukanie defektu, a im szybciej go znajdzie, tym jego naprawa będzie tańsza. Przykładowo proces wytwarzania oprogramowania zakłada, że testy zostaną zrealizowane w określonym czasie, jednak na skutek przedłużającego się dewelopmentu czas trwania testów został skrócony o połowę. Znaleziono tylko kilka defektów, które nie zostały dobrze zweryfikowane po naprawie, co skutkowało decyzją biznesową o wdrożeniu do produkcji, by dotrzymać założonych terminów. Po wdrożeniu okazało się, że po zmianach w oprogramowaniu znajduje się defekt krytyczny, który uniemożliwia sprzedaż na platformie online.

 

W wielu organizacjach testy traktowane są z nienależytą powagą m.in. poprzez skracanie czasu na ich wykonanie, co z kolei przekłada się na zwiększenie ryzyka związanego z defektami. Ktoś mógłby powiedzieć, że przecież sam programista testuje (debuguje) oprogramowanie i potrafi stwierdzić, czy wszystko jest z nim w porządku. Niestety takie podejście jest niewłaściwe. Głównie dlatego, że nie bez powodu organizacje, zarówno średnie, jak i duże, sprawdzają oprogramowanie, korzystając z usług zewnętrznych firm, które weryfikują posiadanie odpowiednich procedur i reguł w zakresie dopuszczenia oprogramowania do produkcji. Realizacja testów przez osoby, które nie pisały danego oprogramowania, ma swój cel – obiektywność. Nie ma ludzi nieomylnych, a sprawdzanie po sobie nie da pożądanego rezultatu, gdyż w wielu przypadkach nie będziemy w stanie dostrzec własnych błędów. Tymczasem dany produkt powinien być jak najlepszy jakościowo. Błędy w oprogramowaniu czy niedziałające funkcje to tylko niewielki zakres, z jakim tester ma do czynienia w swojej pracy. Kolejnym elementem, w którym mogą pojawić się niejasności, jest dokumentacja. Mogłoby się wydawać, że wystarczy, by analityk, który tworzy dokumentację, skupił się na tym, co przekazuje i rekomenduje mu biznes. Przykładowo dział prawny przeważnie jedynie coś rekomenduje, ale ostatecznie to biznes podejmuje decyzję co do danego rozwiązania. Przy zmianach regulacyjnych analitycy opierają się wyłącznie na nowych przepisach, które wchodzą w życie. Dział prawny wskazuje, jak je rozumieć i jakie rozwiązania należy mieć na uwadze, a następnie tworzy się dokumentację.

Dokumentacja trafia do testera, który zajmuje się testami zgodności prawnej, po czym okazuje się, że zmiany regulacyjne to nie tylko to, co napisane jest wprost w danym akcie prawnym, ale również pewien kontekst interpretacji, który nie został uszczegółowiony w dokumentacji.

 

W dzisiejszych czasach, gdy zmiany prawne są częste, a technologie rozwijają się w ogromnym tempie, samo przeczytanie ustawy, która coś zmienia, jest niewystarczające. Dopiero kontekst i interpretacja zmian w połączeniu z daną technologią pozwalają ocenić, czy konieczne będzie podjęcie dodatkowych czynności wchodzących w skład badania zgodności prawnej danego oprogramowania czy rozwiązania biznesowego.

 

> Testy oprogramowania a zgodność prawna

 

Ktoś mógłby powiedzieć, że przecież to prawnicy są od tego, aby wskazać, jak dane oprogramowanie powinno funkcjonować, by pozostać w zgodzie z prawem, i że nie należy to do obowiązków testera czy analityka. Nie jest to do końca prawda, gdyż analityk powinien wyjść poza zakres samej analizy i również przeczytać chociażby komentarze prawne do zmian w danych ustawach. Dotyczy to również testera. Testowanie  zgodności (ang. compliance testing) według ISTQB (International Software Testing Qualifications Board) to „testowanie mające na celu określenie zgodności modułu albo systemu, testowanie uregulowań oraz testowanie oparte na standardach”. Również w sylabusie ISTQB znajdziemy podobną informację na temat testowania akceptacyjnego zgodności z prawem, które jest określone jako „rodzaj testów akceptacyjnych przeprowadzanych w celu sprawdzenia, czy system jest zgodny z prawem, obowiązującymi umowami i przepisami”. Testy te nazywane są też inaczej legislacyjnymi. Skoro zatem od większości testerów przyjmowanych do pracy wymaga się certyfikatu ISTQB, to warto podkreślić, iż powinni oni być świadomi konieczności wykonywania takich testów i to według procedur zgodności lub wspólnie z obszarem jakości.

Dotyczy to szczególnie testów zgodności, jak i tych związanych ze zmianami regulacyjnymi, ochroną danych osobowych czy zakresem bezpieczeństwa.

 

Nie istnieje akt prawny regulujący wprost zakres związany z przeprowadzaniem testów, który obowiązywałby wszystkie podmioty na rynku. Wyjątkiem jest Ustawa z dnia 17 lutego 2005 r. o informatyzacji działalności podmiotów realizujących zadania publiczne, która ma zakres wskazujący na wymogi dotyczące testów. Ustawa ta zgodnie z art. 2 ust. 1, z zastrzeżeniem ust. 2–4, ma zastosowanie do podmiotów realizujących zadania publiczne określone przez ustawy:

 

  1. organów administracji rządowej, organów kontroli państwowej i ochrony prawa, sądów, jednostek organizacyjnych prokuratury, a także jednostek samorządu terytorialnego i ich organów,
  2. jednostek budżetowych i samorządowych zakładów budżetowych,
  3. funduszy celowych,
  4. samodzielnych publicznych zakładów opieki zdrowotnej oraz spółek wykonujących działalność leczniczą w rozumieniu przepisów o działalności leczniczej,
  5. Zakładu Ubezpieczeń Społecznych, Kasy Rolniczego Ubezpieczenia Społecznego,
  6. Narodowego Funduszu Zdrowia,
  7. państwowych lub samorządowych osób prawnych utworzonych na podstawie odrębnych ustaw w celu realizacji zadań publicznych,
  8. uczelni,
  9. federacji podmiotów systemu szkolnictwa wyższego i nauki,
  10. instytutów badawczych,
  11. instytutów działających w ramach Sieci Badawczej Łukasiewicz,
  12. jednostek organizacyjnych tworzonych przez Polską Akademię Nauk,
  13. Polskiej Komisji Akredytacyjnej,
  14. Rady Doskonałości Naukowej

 

– zwanych dalej „podmiotami publicznymi”.

 

Zgodnie z ustępem 2 przepis art. 13 ust. 2 pkt 1 stosuje się również do podmiotu, któremu podmiot publiczny powierzył lub zlecił realizację zadania publicznego, jeżeli w związku z realizacją tego zadania istnieje obowiązek przekazywania informacji do lub od podmiotów niebędących organami administracji rządowej. Natomiast zgodnie z artykułami 3 i 4 wskazany jest cały szereg podmiotów, co do których ustawa nie ma zastosowania, m.in. do spółek handlowych.

 

We wskazanej ustawie zdefiniowano, czym są testy akceptacyjne. Zgodnie z definicją testy akceptacyjne to „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”.

 

[...]

 

Prawnik, właściciel llegal.pl, stały mediator przy Sądzie Okręgowym w Gdańsku specjalizujący się w mediacjach z zakresu własności intelektualnej. Członkini Stowarzyszenia Praktyków Ochrony Danych SPOD, autorka książki o odpowiedzialności odszkodowawczej. Auditor wewnętrzny w zakresie bezpieczeństwa informacji oraz systemu zarządzania jakością. Certyfikowany tester oprogramowania ISTQB. Z branżą IT związana od 2012 roku. Obecnie w trakcie badań naukowych w ramach pracy doktorskiej z zakresu prawa nowych technologii.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"