Słowo wstępu
Ogólne rozporządzenie o ochronie danych osobowych (RODO/GDPR) to dyrektywa, która uaktualnia i ujednolica przepisy o ochronie danych osobowych w całej Unii Europejskiej. RODO zostało zatwierdzone przez Parlament Europejski 14 kwietnia 2016 r. i wchodzi w życie 25 maja 2018 r.
Rozporządzenie to zastępuje unijną dyrektywę o ochronie danych z 1995 r. Nowa dyrektywa skupia się na zapewnieniu większej przejrzystości działalności przedsiębiorstw w obszarze przetwarzania danych osobowych i rozszerzeniu praw do prywatności osób, których dane te dotyczą. Regulacje zawarte w ogólnym rozporządzeniu o ochronie danych mają zastosowanie do danych wytworzonych przez obywateli UE (niezależnie od tego, czy przedsiębiorstwo gromadzące te dane ma siedzibę na terytorium UE) oraz wszystkich osób, których dane są przechowywane na terytorium UE, niezależnie od tego, czy faktycznie są oni obywatelami UE.
Dane osobowe to każda informacja dotycząca osoby fizycznej, pozwalająca na określenie jej tożsamości. W związku z tym samo imię i nazwisko nie będzie stanowiło danych osobowych, do momentu powiązania ich z nazwą firmy, w której osoba pracuje czy adresem zamieszkania. Dodatkowo RODO określa dane wrażliwe, tj. dotyczące zdrowia, poglądów politycznych czy orientacji seksualnej, które powinny być szczególnie chronione. Przetwarzanie danych osobowych to każda czynność związana z ich użyciem, czyli zapisywanie, kopiowanie czy przechowywanie w formie cyfrowej.
Zgodnie z zapisami RODO firmy nie mogą przechowywać ani wykorzystywać danych osobowych bez wyraźnej zgody zainteresowanej osoby. W przypadku wykrycia naruszenia ochrony danych, przedsiębiorstwo jest zobowiązane na mocy rozporządzenia do powiadomienia w ciągu 72 godzin wszystkich osób, których to naruszenie dotyczy, oraz organu nadzorczego.
Ponadto przedsiębiorstwa, które na dużą skalę przetwarzają dane lub monitorują osoby, których dane dotyczą, muszą wyznaczyć inspektora ochrony danych. Inspektor ochrony danych jest odpowiedzialny za zapewnienie przestrzegania przez przedsiębiorstwo zasad RODO. Jeżeli przedsiębiorstwo nie przestrzega RODO w momencie jego wejścia w życie, konsekwencje prawne mogą obejmować kary pieniężne w wysokości do 20 milionów euro lub 4 procent rocznego globalnego obrotu.
Dane, dane i jeszcze raz dane
Jak wskazuje sama nazwa, nowe rozporządzenie dotyczy danych. Testowanie nie może się bez takowych obejść – zastanówmy się zatem, jak wspomniane zmiany prawne wpłyną na korzystanie i zarządzanie danymi testowymi.
Pierwszą najważniejszą rzeczą jest – koniec kopiowania danych produkcyjnych. Oczywistym dla każdego testera jest to, że dane testowe muszą być jak najbardziej spójne i podobne do danych produkcyjnych. Częstym (choć nie zawsze zalecanym) rozwiązaniem było do tej pory kopiowanie faktycznych baz danych z produkcji i wykorzystanie ich w celach testowych. Jednakże w obliczu wejścia RODO przestaje to być takie oczywiste. W przypadku większości danych, takie kopiowanie byłoby łamaniem nowych przepisów. Co zatem należy zrobić?
Można tu zastosować dwa rozwiązania. Jednym z nich jest użycie nieprawdziwych (syntetycznych) danych, jednak stworzonych w oparciu o te same zasady, co dane produkcyjne, na przykład z użyciem generatora danych. Generowanie danych syntetycznych może być dla wielu firm najbardziej efektywnym czasowo, opłacalnym i bezpiecznym rozwiązaniem, ponieważ nie niesie za sobą tak dużego ryzyka naruszenia wymagań rozporządzenia. Z użyciem takich danych mogą się jednak wiązać inne problemy. Ponieważ dane te mogą w mniejszym stopniu odzwierciedlać dane produkcyjne, powstaje ryzyko niepokrycia wszystkich przypadków testowych i przeoczenia istotnych defektów aplikacji.
Jeśli – z jakichś powodów – konieczne jest użycie prawdziwych danych, nie oznacza to od razu łamania prawa. Danych takich można użyć, jednak pod jednym, bardzo konkretnym warunkiem: wymagane jest maskowanie danych. Z punktu widzenia testowania, ekstrakcja danych i ich maskowanie stanowi pewne istotne wyzwanie. Większość nowoczesnych aplikacji biznesowych składa się z wielu rozproszonych komponentów, które są ze sobą połączone, a każdy z nich może przechowywać dane we własnej bazie danych. Synchronizacja wydobycia odpowiednich danych i maskowania jest trudna ze względu na redundancję (podstawowe dane, takie jak nazwisko i adres, są najprawdopodobniej przechowywane w wielu bazach danych). Co więcej, ponowne umieszczenie zamaskowanych danych we wszystkich odpowiednich komponentach systemu w skoordynowany sposób jest jeszcze bardziej problematyczne. Zazwyczaj warstwa integracyjna systemu obsługuje całą synchronizację danych pomiędzy komponentami. Aby wyodrębnić, zamaskować i ponownie wczytać dane testowe, należy zasadniczo ponownie utworzyć logikę warstwy integrującej system.
Istotnym jest także fakt, iż RODO wymaga, aby identyfikacja osób, których dane dotyczą, nie była w ogóle możliwa bez dodatkowych informacji przechowywanych w innym miejscu niż dane maskowane. Proces ten wymaga o wiele większego zabezpieczenia niż wcześniej wymagane czynności mające na celu zapewnienie zgodności z przepisami, a zatem szczególnie w przypadku klientów posiadających dużą ilość złożonych danych, maskowanie danych może stać się czasochłonnym i kosztownym zadaniem.
Biorąc pod uwagę to, iż dane syntetyczne nie zawsze mogą zostać użyte (na przykład w systemach “legacy”, gdzie istnieje potrzeba użycia danych z ostatnich 20 lat), oraz to, że użycie danych produkcyjnych (nawet maskowanych) wiąże się z dużym wysiłkiem i ryzykiem, optymalnym wariantem wydaje się korzystanie z obu tych rozwiązań w zależności od potrzeb.
Nie tylko dane
Poza zwróceniem uwagi na dane, ich przetwarzanie i wykorzystanie, istotnym elementem wdrażania RODO jest przyjrzenie się metodom i procesom. Szczególną uwagę należy poświęcić praktykom zarządzania danymi testowymi, które potrzebują prostego i elastycznego procesu. W ramach opracowania odpowiednich procesów i procedur należy przeanalizować i udokumentować źródła pochodzenia danych oraz ich docelowe miejsce przechowywania. Ma to służyć zapewnieniu, że żadne rzeczywiste dane osobowe nie są narażone na kontakt z testerami oprogramowania, menedżerami testów, użytkownikami biznesowymi i innymi członkami zespołu wytwórczego podczas fazy opracowywania, utrzymania i testowania oprogramowania.
Ważne jest także sprawdzenie, czy nigdzie nie istnieją kopie zapasowe danych wykorzystanych w przeszłości. Aby uniknąć późniejszych problemów, może okazać się konieczne wykonanie szczegółowego przeglądu istniejących środowisk testowych, repozytoriów danych, czy skryptów.
Aby usystematyzować i określić procesy powiązane z danymi, warto powołać osobny zespół, którego zadaniem byłoby sformułowanie strategii wdrożenia RODO dla całego przedsiębiorstwa, a następnie określenie spójnych i ustandaryzowanych procesów a następnie przydział ról i odpowiedzialności związanych z pozyskiwaniem, przetwarzaniem i zarządzaniem danymi, w tym danymi testowymi.
Po stronie zespołu testowego konieczne będzie uwzględnienie przepisów zawartych w RODO podczas tworzenia strategii testowej oraz planu testów.
Bezpieczeństwo
Oprócz przyjrzenia się danym testowym i powiązanym z nimi procesom, istotne jest zadbanie o bezpieczeństwo aplikacji. Możemy uniknąć wykorzystania danych osobowych w trakcie testowania, to jednak nie zapewni ich ochrony podczas pracy w środowisku produkcyjnym. Ochrona danych wymaga opracowania reguł bezpieczeństwa i weryfikacji zabezpieczeń, wdrożenia procedur uwierzytelniania i autoryzacji w naszym systemie, aby żadna niepowołana osoba nie była w stanie dotrzeć do chronionych danych. W zależności od podejścia poszczególnych przedsiębiorstw do testowania bezpieczeństwa może pojawić się potrzeba poszerzenia kompetencji zespołu, bądź zatrudnienia zewnętrznej firmy w celu dokonania audytu bezpieczeństwa.
Wniosek – Chroń dane!
W wielu przypadkach dane są najcenniejszym i najbardziej wrażliwym elementem systemów, z którymi pracujemy. Bez danych niemożliwe jest również rzetelne przeprowadzenie testów. Biorąc pod uwagę te fakty oraz wymagania wynikające z RODO, my – testerzy – musimy zadbać o to, aby dane były odpowiednio traktowane – począwszy od przygotowania danych testowych zgodnie z przepisami (czyli przy użyciu danych syntetycznych lub maskowanych), po zapewnienie bezpieczeństwa aplikacji. Nawet jeśli w danej organizacji testerzy nie są bezpośrednio zaangażowani czy odpowiedzialni za czynności związane z wdrażaniem RODO, powinni być świadomi przepisów i ogólnych aspektów dotyczących zapewnienia bezpieczeństwa. W przypadku naruszenia prawa, nie tylko tego właśnie wprowadzanego, ale i innych obowiązujących w danym obszarze biznesowym, niezbędna jest eskalacja i podjęcie adekwatnych czynności naprawczych. Na przykład, jeśli niezamaskowane dane osobowe będą zawarte w defektach wykrytych podczas testów akceptacyjnych lub w zgłoszeniach z produkcji, należy natychmiast odizolować wrażliwe dane i zgłosić problem kierownictwu celem eliminacji podobnych przypadków w przyszłości.
Make things as simple as possible, but not simpler – A. Einstein