…Czyli jak dostarczać najwyższej jakości usługi testowe najbardziej wymagającym klientom na przykładzie branży farmaceutycznej.
Jednym z głównych zadań i odpowiedzialności osoby pracującej na stanowisku testerskim jest sprawdzenie, czy oprogramowanie działa zgodnie z oczekiwaniami Klienta. Aby jak najlepiej przygotować oraz wykonać odpowiednie testy (a także wszystkie inne aktywności związane z testowaniem) zdecydowanie warto posiadać odpowiednie kompetencje, wiedzę merytoryczną i znajomość narzędzi. Należy również znać i rozumieć wymagania Klienta oraz posiadać odpowiednią wiedzę domenową, by jak najefektywniej pracować w projekcie.
Znajomość i rozumienie wymagań Klienta oraz wiedza domenowa są składową kontekstu, który zgodnie z jedną z zasad testowania (1.3 Siedem zasad testowania, 6. Testowanie zależy od kontekstu, „Sylabus poziomu podstawowego ISTQB 2018”, wersja 3.1) należy uwzględniać.
Inaczej będą testowane aplikacje webowe, służące do zakupu biletu do teatru lub kina, a inaczej takie, które mogą mieć bezpośredni lub pośredni wpływ na życie lub zdrowie pacjenta.
Kontekstem jest również branża Klienta.
Istnieją branże związane z wysokim ryzykiem, które wymagają specyficznego podejścia do wytwarzania oprogramowania, a także jego testowania – może to być przykładowo ryzyko biznesowe (bankowość) lub ryzyko negatywnego wpływu na życie lub zdrowie ludzi czy zwierząt (sektor medyczny / farmaceutyczny).
Testując oprogramowanie dla Klienta z branży związanej z wysokim ryzykiem, jak na przykład branża farmaceutyczna, należy postępować zgodnie z GxP (ang. G – Good, x – anything, P – Practice, np. GLP to dobra praktyka laboratoryjna), czyli zbiorem dobrych praktyk, regulacji, przepisów i procesów dla danego obszaru.
W branży farmaceutycznej mamy do czynienia z tzw. walidacją systemów informatycznych. Walidacja w tym kontekście to potrzeba zapewnienia w udokumentowany sposób, że dany produkt (np. oprogramowanie) zostało dostarczone w odpowiedni sposób zgodnie z CSV (ang. Computerized system validation), polityką walidacji organizacji oraz regulacjami zewnętrznymi.
Kontekst testowania się zatem rozszerza – musimy nie „tylko” wiedzieć jak (oraz w jaki sposób) wykonać testy, ale i jak (i w jaki sposób) je udokumentować, by spełnić wysokie wymagania i oczekiwania Klienta.
O czym należy pamiętać testując w projektach walidowanych – kilka przykładów
Cel walidacji
Po pierwsze, każda osoba pracująca w projekcie, powinna rozumieć czym jest walidacja i jaki jest jej cel.
Samo dostosowanie się do planu walidacji organizacji i wypełnienie należytych aktywności zgodnie z procesami i normami to bardzo ważny aspekt, jednak w mojej opinii nie najważniejszy. Najważniejszy jest użytkownik końcowy oraz jego bezpieczeństwo, dlatego głównym celem walidacji to absolutne zminimalizowanie ryzyka, że dostarczone oprogramowanie wyrządzi jakąkolwiek szkodę i doprowadzi do np. uszczerbku na zdrowiu.
Warto w tym momencie przypomnieć znaną sprawę wadliwego oprogramowania maszyny do radioterapii Therac-25. Przez błąd oprogramowania, pacjenci otrzymali nieprawidłowe, zbyt wysokie, dawki promieniowania, który niestety doprowadziły do śmierci pięciorga z nich.
Pracując przy wytwarzaniu oprogramowania w branży farmaceutycznej (lub medycznej) jesteśmy zobligowani do tego, żeby zrobić wszystko co w naszej mocy, by sytuacje podobne do ww sprawy Therac-25 nigdy nie miały miejsca.
Walidacja, czyli potrzeba udokumentowania poszczególnych aktywności, nam w tym pomaga. Dzięki temu minimalizujemy ryzyko, że na pewnym etapie wytwarzania oprogramowania coś zostanie pominięte lub zaimplementowane w niewłaściwy sposób i wadliwy system zostanie wydany na produkcję.
Poznanie standardów testowania w danej organizacji
Po drugie, każda dojrzała organizacja może mieć zdefiniowane również własne procesy obligatoryjne oraz zbiór rekomendowanych dobrych praktyk (np. testowania i dokumentowania aktywności związanych z wytwarzaniem oprogramowania).
Zbiór dobrych praktyk testowania i dokumentowania lub innego rodzaju rekomendacja organizacji, może dać nam istotne wskazówki do tego w jaki sposób między innymi należy przygotować testy, cykle testowe oraz test sety, jakie elementy powinien zawierać przypadek testowy, w jaki sposób testy wykonywać, jak raportować i odpowiednio zarządzać defektami, jakiego narzędzia kwalifikowanego należy używać i w jaki sposób sprawić by produkty procesu testowego były istotne z punktu widzenia walidacji (np. tzw. electronic records).
Każdy tester powinien być zaznajomiony z tego typu dobrymi praktykami oraz wszelkimi procesami, standardami i normami obowiązującymi w organizacji Klienta.
Podział zadań w projekcie
Kolejnym ważnym punktem jest odpowiednie zdefiniowanie ról i obowiązków w projekcie. Szczególnie w przypadku ryzykownych, dużych projektów walidowanych istotne jest, by w zespole testerskim był również kompetentny Test Manager, który zapewni dostarczenie jak najwyższej jakości produktów procesu testowego, spełniających restrykcyjne wymagania Klienta.
Analiza ryzyka
W projektach walidowanych niezmiernie istotne jest również właściwe przeanalizowanie poszczególnych (grup) wymagań i oszacowanie ich ryzyka. Pozwala to odpowiednio priorytetyzować pracę na każdym etapie tworzenia oprogramowania w danym projekcie, jest też szczególnie istotne w testowaniu oprogramowania. Test Manager może użyć takiej analizy ryzyka w celu ustalenia odpowiedniej strategii testowania. Dzięki temu jest w stanie zaproponować najlepsze podejście do testowania, zapewnić odpowiednie pokrycie wymagań testami i upewnić się, że produkt końcowy projektu spełni oczekiwania użytkowników.
Wyżej wspomniane przykłady, o czym należy pamiętać nie wyczerpują w pełni tematu. Wciąż istotne są wiedza domenowa, wiedza i doświadczenie w szeroko pojętym testowaniu oprogramowania, umiejętność stosowania różnych technik, narzędzi, itp.
Należy pamiętać, że projekty walidowane wiążą się z dużą odpowiedzialnością osób przy nich pracujących, dlatego niezmiernie istotne jest zaangażowanie kompetentnych Testerów i Test Managerów
W Sii od wielu lat budujemy odpowiednie kompetencje współpracując z największymi Klientami z branży farmaceutycznej i dostarczając im jak najwyższej jakości usługi testowe. Obecnie niemal 150 Inżynierów Testów (pełniących w projektach funkcje zarówno Testerów Manualnych, Testerów Automatyzujących i Test Managerów) pomaga w codziennym efektywnym dostarczaniu systemów wysokiego ryzyka.
Zostaw komentarz