SlideShare une entreprise Scribd logo
1  sur  45
Analiza nowej Rekomendacji D
pod kątem metodologii testowania
Komisja Nadzoru Finansowego. Rekomendacja D., Rekomendacja 7., punkt 7.
Wersja 1.0
Wprowadzenie
 Nowa Rekomendacja D:
 dotyczy zarządzania obszarami technologii informacyjnej
i bezpieczeństwa środowiska teleinformatycznego w bankach
 ma zostać wprowadzona przez banki w Polsce do końca 2014 roku
 Rekomendacja D opisuje w rekomendacji 7 cykl życia
oprogramowania, a w punkcie 7. testowanie
Wprowadzenie
 Normy wskazane w Rekomendacji D:
 ISO/IEC 27000:2009 - Information technology - Security techniques -
Information security management systems
 Inne normy ISO (International Organization for Standardization)
 [opcja] ISO/IEC 25010:2011 Systems and software Quality Requirements
and Evaluation (SQuaRE)
 [opcja] ISO/IEC 12207:2008 Systems and software engineering – Software
life cycle processes
 [opcja] ISO/IEC 29119 Software Testing – w przygotowaniu
 Standardy wskazane w Rekomendacji D:
 Zarządzanie projektami proponowane przez PMI
(Project Management Institute)
 PMBoK (Project Management Body of Knowledge)
 PRINCE2 (PRojects IN Controlled Environments).
 Audyty:
 ISACA (Information Systems Audit and Control Association)
 COBIT (Control Objectives for Information and related Technology)
 GTAG (Global Technology Audit Guide)
 GAIT (Guide to the Assessment for IT Risk)
Wprowadzenie
Cykl życia oprogramowania
 Rekomendacja D opisuje cykl życia oprogramowania wyróżniając
podstawowe kroki:
 Strategia banku (7.1)
 Szczegółowe wymagania (7.2)
 Projektowanie (7.3)
 Analiza ryzyk (7.4)
 Rozwój oprogramowania
– wewnętrzny (7.5)
 Rozwój oprogramowania
– zewnętrzny (7.6)
 Testowanie (7.7)
 Wdrożenie (7.8)
 Wycofanie (7.15)
Cykl życia oprogramowania
 Rekomendacja D uwzględnia również dodatkowe działania:
 Zarządzanie środowiskami (7.9)
 Dokumentacja (7.10)
 Zarządzanie zmianą (7.11, 7.12, 7.13, 7.14)
Cykl życia oprogramowania
- wizualizacja
Strategia banku
(7.1)
Szczegółowe
wymagania
(7.2)
Projektowanie
(7.3)
Analiza ryzyk
(7.4)
Rozwój
oprogramowania -
wewnętrzny
(7.5)
Rozwój
oprogramowania -
zewnętrzny
(7.6)
Wdrożenie
(7.8)
Wycofanie
(7.15)
Zarządzanie środowiskami (7.9)
Dokumentacja (7.10)
Zarządzanie zmianą (7.11, 7.12, 7.13, 7.14)
Testowanie
(7.7)
Cykl życia oprogramowania
- Strategia banku (7.1)
 Zakłada się w rekomendacji rozwój systemu zgodny ze strategią
banku w zakresie obszarów technologii informacyjnej
i bezpieczeństwa środowiska teleinformatycznego
Cykl życia oprogramowania
- Szczegółowe wymagania (7.2)
 Dokument wskazuje na ważny element zapewnienia jakości
oprogramowania, zaczynający się od zapewnienia jakości wymagań
 Szczególnie dla projektów wytwarzanych zewnętrznie, wykrywanie
problemów wymagań (np. niejasności) na etapie (dopiero)
testowania może być kosztowne dla całej organizacji
 Reguła 1:10:100
Cykl życia oprogramowania
- Szczegółowe wymagania (7.2)
 Rekomendacja nakazuje uwzględnić w wymaganiach:
 funkcjonalność
 pojemność
 połączenia z innymi systemami
 wydajność i dostępność
 środowisko działania
 bezpieczeństwo
 zgodność z przepisami i standardami
Cykl życia oprogramowania
- Szczegółowe wymagania (7.2)
 Niskiej jakości wymagania to w konsekwencji:
 Niskiej jakości kod,
 Niskiej jakości scenariusze testowe,
 Niskiej jakości automaty testowe,
 Niskiej jakości oprogramowanie,
 Obniżony poziom bezpieczeństwa systemu,
 Wydłużony czas realizacji projektu,
 Wyższe koszty prowadzenia projektu.
Cykl życia oprogramowania
- Projektowanie (7.3)
 Projektowanie systemu z uwzględnieniem modyfikacji w
przyszłości (elastyczność), wynikających ze:
 Zmiany prawa,
 Strategii banku,
 Standardów w banku,
 Zmiany w otoczeniu i działania konkurencji banku.
Cykl życia oprogramowania
- Analiza ryzyka (7.4)
 Przeprowadzenie analizy ryzyka przed wdrożeniem nowego
systemu jak i przy każdej znaczącej zmianie
 Ocena wpływu zmiany na:
 Środowisko teleinformatyczne
 Procesy biznesowe
 „… ze szczególnym uwzględnieniem aspektów bezpieczeństwa”
Cykl życia oprogramowania
- Rozwój oprogramowania - wewnętrzny (7.5)
 Rekomendowane jest posiadanie (dobra praktyka) (1/2):
 Metodyki rozwoju oprogramowania (opisującej proces)
 Zarządzanie zmianą w systemie informatycznym z uwzględnieniem
wielkości danej zmiany (zmiana jako: cały projekt, zmiana w
produkcie, poprawka),
 Zarządzanie incydentami (pochodzącymi z produkcji, pochodzącymi
ze środowisk testowych),
 Zarządzanie środowiskami testowymi,
 Zarządzanie dokumentacją testową,
 Miary.
Cykl życia oprogramowania
- Rozwój oprogramowania - wewnętrzny (7.5)
 Rekomendowane jest posiadanie (dobra praktyka) (2/2):
 Standardów w rozwoju oprogramowania
 Architektura,
 Narzędzia programistyczne,
 Repozytoria,
 Standardy kodowania (preferowane języki) w tym zapewnienie
jakości poprzez dbałość o notację i komentowanie kodu,
 Zasady wykonywania testów i przeglądów kodu,
 Kryteria jakości kodu,
 Standard tworzenia dokumentacji,
 Zasady wersjonowania oprogramowania.
Cykl życia oprogramowania
- Rozwój oprogramowania - wewnętrzny (7.5)
 Rekomendacja wskazuje na konieczność wykonywania bieżących
testów i przeglądów kodu, zapewniających odpowiedni
stopień niezależności w przypadku rozwoju oprogramowania
realizowanego siłami własnymi.
Cykl życia oprogramowania
- Rozwój oprogramowania - zewnętrzny (7.6)
 Korzystanie z usług wiarygodnych partnerów
 Uwzględnienie w umowie stosowania przez dostawcę standardów i
metodyk rozwoju oprogramowania przyjętych w banku
 Wykonywanie testów przed wdrożeniem
 Przez dostawcę
 Przeprowadzenie testów w banku (bez względu na testy dostawcy)
 Dokładny opis "Współpraca z zewnętrznymi dostawcami usług" znajduje się w rekomendacji 10
Cykl życia oprogramowania
- Testowanie (7.7)
 Rekomendacja D zakłada zdefiniowanie przez organizację
metodologii testowania.
 Opis metodologii od strony 22
Cykl życia oprogramowania
- Wdrożenie (7.8)
 Zgodnie z rekomendacją D bank powinien zapewnić, aby procedury
przenoszenia nowego systemu informatycznego lub zmiany już
funkcjonującego systemu na środowisko produkcyjne
minimalizowały ryzyko wystąpienia przestojów w działalności
banku.
 Wskazana jest konieczność:
 zweryfikowania poprawności działania systemu i zgodności z
wymaganiami,
 monitorowania systemu (przez odpowiedni czas ) w celu identyfikacji
ewentualnych problemów.
Cykl życia oprogramowania
- Wdrożenie (7.8)
 Bank powinien podjąć decyzję dotyczącą zapewnienia
mechanizmów umożliwiających powrót do stanu sprzed wdrożenia
w przypadku wystąpienia sytuacji krytycznej
 Np. tworzenie kopii awaryjnych odpowiedniego obszaru środowiska
teleinformatycznego
Cykl życia oprogramowania
- Wycofanie (7.15)
 Rekomenduje się posiadanie sformalizowanych regulacji w zakresie
wycofywania z eksploatacji rozwiązań informatycznych
uwzględniających:
 podejmowanie decyzji,
 informowanie zainteresowanych stron,
 przeprowadzanie migracji danych,
 dokonywanie archiwizacji rozwiązań,
 aktualizację konfiguracji infrastruktury,
 bezpieczną eliminację wycofywanych z użytku komponentów
 aktualizację dokumentacji środowiska teleinformatycznego banku.
Metodologia testowania
Metodologia testowania
 Prezentowana metodologia testowania jest zgodna
z rekomendacją D
 Poprzez „metodologię testowania” rozumie się „metodologię
testowania środowiska teleinformatycznego” czyli testowania
systemu i infrastruktury
 Metodologia uwzględnia wspomniane w rekomendacji „dobre
praktyki” testowania, takie jak planowanie i testowanie atrybutów
jakościowych oprogramowania
Metodologia testowania
 Rekomendacja D w punkcie 5.2 zwraca uwagę na odpowiednią
separację obowiązków:
 w szczególności oddzielenie funkcji tworzenia lub modyfikowania
systemów informatycznych od ich testowania (poza testami
realizowanymi przez programistów w ramach wytwarzania
oprogramowania), administracji i użytkowania.
 sposób organizacji testów powinien zapewniać możliwie wysoki
stopień niezależności weryfikacji spełnienia przyjętych założeń
Uruchomienie testów
Metodologia testowania
…
Planowanie
Zarządzanie środowiskiem
Dane testowe
Scenariusze testowe
Outsourcing testowy
Funkcjonalność
Bezpieczeństwo
Wydajność
Dostępność
Raportowanie
Zgodność z
miarami jakości
oprogramowania
Metodologia testowania (1/4)
 [opcja] Planowanie
 Strategia testowania (dobór lub definicja)
 Zdefiniowanie miar jakości oprogramowania
 Kryterium odbioru oprogramowania
Metodologia testowania (2/4)
 Wytworzenie scenariuszy i danych w oparciu o wymagania
 Wymagania dostępne – tworzenie scenariuszy z uwzględnieniem:
 [opcja] Testowalność
 [opcja] Śledzenie wymagań (ang. Traceability)
 [opcja] Automatyzacja
 Brak wymagań lub wymagania niskiej jakości – tworzenie scenariuszy:
 przy wsparciu przedstawicieli obszaru bezpieczeństwa środowiska IT
 i/lub przy wykorzystaniu wiedzy eksperckiej
Metodologia testowania (3/4)
 Uruchomienie testów
 Poziomy testów
 [opcja] Testowanie jednostkowe
 [opcja] Testowanie integracji modułów
 Testowanie systemu
 Testowanie integracyjne z innymi systemami
 Rodzaje testów
 Testowanie
regresywne
 [opcja] Testowanie
potwierdzające
 Typy testów: funkcje i charakterystyki
oprogramowania
 Funkcjonalne
 Bezpieczeństwo
 Wydajność
 Dostępność
 [opcja] Użyteczność
 [opcja] Inne
Metodologia testowania (4/4)
 Zarządzanie środowiskami
 w kontekście konfiguracji,
 w kontekście wersjonowania,
 w kontekście zasad wdrażania zmian (np. nowych wersji),
 w kontekście zarządzania danymi (np. ilość danych, problem danych
rzeczywistych).
 Raportowanie
 [opcja] Raport z testów - > miary jakości oprogramowania
 Zgłaszanie błędów
Metodologia testowania
- Planowanie
strategia banku,
wymagania,
wymagania
biznesowe, plan
projektu
Planowanie Plan testów
Metodologia testowania
- Planowanie
 Wejście: strategia banku, wymagania, wymagania biznesowe,
plan projektu
 Wyjście: plan testów
 Działania:
 wytworzenie planu testów
 dopasowanie planowania do strategii banku (7.1)
 adaptacja do istniejącej, lub zdefiniowanie nowej strategii testów
 estymacja czasu i budżetu
 z uwzględnieniem czasu potrzebnego na usunięcie wykrytych defektów
 określenie lub uwzględnienie miar jakości oprogramowania
Metodologia testowania
- Wytworzenie scenariuszy i danych w oparciu o wymagania
plan testów,
wymagania
Wytworzenie scenariuszy i
danych w oparciu o
wymagania
Scenariusze
testowe i dane
testowe
Metodologia testowania
- Wytworzenie scenariuszy i danych w oparciu o wymagania
 Wejście: plan testów, wymagania funkcjonalne
 Wyjście: scenariusze testowe i dane testowe
 Działania:
 wytworzenie scenariuszy testowych
 wytworzenie danych testowych
Metodologia testowania
- Zarządzanie środowiskiem
plan testów,
scenariusze testowe i
dane testowe,
konfiguracja, zasoby
sprzętowe,
zdefiniowany poziom
integracji
oprogramowania
Zarządzanie środowiskiem
Środowisko
testowe
Metodologia testowania
- Zarządzanie środowiskiem
 Wejście: plan testów, scenariusze testowe i dane testowe,
konfiguracja, zasoby sprzętowe, zdefiniowany poziom integracji
oprogramowania
 Wyjście: środowisko testowe
 Działania:
 Przygotowanie środowiska testowego odseparowanego od środowiska
programistycznego i produkcyjnego
Metodologia testowania
- Uruchomienie testów
plan testów,
środowisko
testowe,
oprogramowanie,
scenariusze
testowe i dane
testowe
Uruchomienie testów Wyniki testów
Metodologia testowania
- Uruchomienie testów
 Wejście: plan testów, środowisko testowe, oprogramowanie,
scenariusze testowe i dane testowe
 Wyjście: wyniki testów
 Działania:
 Wykonanie testów funkcjonalności
 Wykonanie testów bezpieczeństwa
 Wykonanie testów wydajności
 Wykonanie testów dostępności
 [opcja] Wykonanie testów użyteczności
 Wykonanie innych testów
Metodologia testowania
- Uruchomienie testów
 Rekomendacja: Udział docelowych odbiorców aplikacji w testach
funkcjonalnych i niefunkcjonalnych (tam gdzie możliwe)
 [opcja] Przy braku wymagań może nie być możliwości wytworzenia
scenariuszy. W takim wypadku kompensuje się brak specyfikacji
testowej poprzez testy eksploracyjne, bazujących na intuicji,
wiedzy eksperckiej oraz doświadczeniu testerów
Metodologia testowania
- Raportowanie
plan testów,
wymagania
funkcjonalne,
wymagania
biznesowe, wyniki
testów
Raportowanie Raport z testów
Metodologia testowania
- Raportowanie
 Wejście: plan testów, wymagania, wyniki testów
 Wyjście: raport jakości, raporty błędów
 Działania:
 Analiza wyników testów i wymagań
 Raportowanie jakości oprogramowania w wielu wymiarach
 Przygotowanie raportu z testów w oparciu o zdefiniowane miary
Metodologia testowania
- Raportowanie
 Ograniczenia:
 jakość raportowania ograniczona możliwościami wdrożonych narzędzi
raportowania błędów
 system zgłaszania błędów gwarantujący zapisanie wszystkich
incydentów
 precyzyjne (jednoznaczne) raportowanie błędów
 poufność informacji o błędach (szczególnie błędów bezpieczeństwa)
Testowanie w Rekomendacji D
 Testowanie dodatkowo opisane jest w następujących ustępach
Rekomendacji D:
 5.2 - izolacja procesu programowania od procesu testowania
 7.9 - separacja środowisk
 9.21 - testy penetracyjne infrastruktury teleinformatycznej
 9.24 - aktualizacje środowisk produkcyjnych
Podsumowanie
 Dokument prezentuje aspekt testowania zaprezentowany w
Rekomendacji D opublikowanej przez Komisję Nadzoru Bankowego
 Dokument proponuje wymaganą przez KNF metodologię testowania
DODATEK
– fragment listy kontrolnej dla nowej Rekomendacji 7
Pytanie TAK NIE *
Czy organizacja dba o ważny element cyklu życia oprogramowania
czyli o wysokiej jakości wymagania?
Czy organizacja posiada metodykę rozwoju oprogramowania?
Czy organizacja ma zdefiniowaną metodologię testowania?
Czy organizacja testuje oprogramowanie zarówno wytwarzane wewnętrznie
jak i dostarczane przez zewnętrznych dostawców w sposób gwarantujący
niezależność weryfikacji jakości?
Czy testy obejmują weryfikację wszystkich wymagań, w szczególności
dotyczących: funkcjonalności, wydajności, bezpieczeństwa
Czy zakres definiowanych wymagań obejmuje wszystkie
zakresy wymienione w punkcie 7.2 nowej Rekomendacji D?
…
*) każda odpowiedź NIE może sugerować konieczność wprowadzenia zmian
w organizacji pod kątem dopasowania się do Rekomendacji D.
Autorzy
 Radosław Smilgin, 21CN (testerzy.pl)
 definiowanie metodologii (procesów) testowania
 Radoslaw.Smilgin@testerzy.pl
 Wojciech Dworakowski, SecuRing
 audyt i testowanie bezpieczeństwa systemów teleinformatycznych
 Wojciech.Dworakowski@securing.pl
 Tomasz Watras, PGS Software S.A.
 outsourcing wytwarzania i testowania
 TWatras@pgs-soft.com

Contenu connexe

En vedette

Atopic dermatitis by Dr.Gamal Soltan
Atopic dermatitis by Dr.Gamal SoltanAtopic dermatitis by Dr.Gamal Soltan
Atopic dermatitis by Dr.Gamal Soltangamal sultan
 
INTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with DivanteINTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with DivanteDivante
 
E-Commerce Technology
E-Commerce TechnologyE-Commerce Technology
E-Commerce TechnologyDivante
 
Magento implementation - by Divante.co
Magento implementation - by Divante.coMagento implementation - by Divante.co
Magento implementation - by Divante.coDivante
 
E-Commerce Case Studies
E-Commerce Case StudiesE-Commerce Case Studies
E-Commerce Case StudiesDivante
 
Epidermólisis ampollosa
Epidermólisis ampollosaEpidermólisis ampollosa
Epidermólisis ampollosaJuan Meléndez
 
Disneycpcase
DisneycpcaseDisneycpcase
DisneycpcaseRia Bagla
 
Presentacion Herramientas Gerenciales Equipo 2
Presentacion Herramientas Gerenciales Equipo 2Presentacion Herramientas Gerenciales Equipo 2
Presentacion Herramientas Gerenciales Equipo 2rreysid
 
3ª SessãO ComentáRio Ao Trabalho Da Colega Maria José
3ª SessãO  ComentáRio Ao Trabalho Da Colega Maria José3ª SessãO  ComentáRio Ao Trabalho Da Colega Maria José
3ª SessãO ComentáRio Ao Trabalho Da Colega Maria JoséBibJoseRegio
 
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략석현 장
 
Mάτσου Πίτσου,Ελένη Παρσάλογλου
Mάτσου Πίτσου,Ελένη Παρσάλογλου Mάτσου Πίτσου,Ελένη Παρσάλογλου
Mάτσου Πίτσου,Ελένη Παρσάλογλου Iliana Kouvatsou
 
MARKETING PLAN OF AN APP
MARKETING PLAN OF AN APPMARKETING PLAN OF AN APP
MARKETING PLAN OF AN APPRAVI TEJA
 
The Deer Family
The Deer FamilyThe Deer Family
The Deer FamilyHarris
 
Agosto 2 Teleaprendizaje
Agosto 2 TeleaprendizajeAgosto 2 Teleaprendizaje
Agosto 2 TeleaprendizajeAdalberto
 

En vedette (20)

Atopic dermatitis: work in progress
Atopic dermatitis: work in progressAtopic dermatitis: work in progress
Atopic dermatitis: work in progress
 
Atopic dermatitis
Atopic dermatitisAtopic dermatitis
Atopic dermatitis
 
Atopic dermatitis by Dr.Gamal Soltan
Atopic dermatitis by Dr.Gamal SoltanAtopic dermatitis by Dr.Gamal Soltan
Atopic dermatitis by Dr.Gamal Soltan
 
Atopic dermatitis: mechanism of disease
Atopic dermatitis: mechanism of diseaseAtopic dermatitis: mechanism of disease
Atopic dermatitis: mechanism of disease
 
GERD
GERDGERD
GERD
 
INTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with DivanteINTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with Divante
 
E-Commerce Technology
E-Commerce TechnologyE-Commerce Technology
E-Commerce Technology
 
Magento implementation - by Divante.co
Magento implementation - by Divante.coMagento implementation - by Divante.co
Magento implementation - by Divante.co
 
E-Commerce Case Studies
E-Commerce Case StudiesE-Commerce Case Studies
E-Commerce Case Studies
 
Epidermólisis ampollosa
Epidermólisis ampollosaEpidermólisis ampollosa
Epidermólisis ampollosa
 
Disneycpcase
DisneycpcaseDisneycpcase
Disneycpcase
 
Presentacion Herramientas Gerenciales Equipo 2
Presentacion Herramientas Gerenciales Equipo 2Presentacion Herramientas Gerenciales Equipo 2
Presentacion Herramientas Gerenciales Equipo 2
 
3ª SessãO ComentáRio Ao Trabalho Da Colega Maria José
3ª SessãO  ComentáRio Ao Trabalho Da Colega Maria José3ª SessãO  ComentáRio Ao Trabalho Da Colega Maria José
3ª SessãO ComentáRio Ao Trabalho Da Colega Maria José
 
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략
[포트폴리오]LG 휴대폰 G-FLEX 크리에이티브 전략
 
En el jardín
En el jardínEn el jardín
En el jardín
 
Mάτσου Πίτσου,Ελένη Παρσάλογλου
Mάτσου Πίτσου,Ελένη Παρσάλογλου Mάτσου Πίτσου,Ελένη Παρσάλογλου
Mάτσου Πίτσου,Ελένη Παρσάλογλου
 
MARKETING PLAN OF AN APP
MARKETING PLAN OF AN APPMARKETING PLAN OF AN APP
MARKETING PLAN OF AN APP
 
Greater Tumen Region Cross Border Tourism Routes Summary
Greater Tumen Region Cross Border Tourism Routes SummaryGreater Tumen Region Cross Border Tourism Routes Summary
Greater Tumen Region Cross Border Tourism Routes Summary
 
The Deer Family
The Deer FamilyThe Deer Family
The Deer Family
 
Agosto 2 Teleaprendizaje
Agosto 2 TeleaprendizajeAgosto 2 Teleaprendizaje
Agosto 2 Teleaprendizaje
 

Similaire à Analiza nowej Rekomendacji D pod kątem metodologii testowania

Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   PrezentacjaJakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacjaguestb2a82c
 
Bezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowychBezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowychPiotr Piotrowski
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnychguest84f9115
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxKatarzyna Javaheri-Szpak
 
Prezentacja+Ryzyko+2009+ +Dariusz+Lipski
Prezentacja+Ryzyko+2009+ +Dariusz+LipskiPrezentacja+Ryzyko+2009+ +Dariusz+Lipski
Prezentacja+Ryzyko+2009+ +Dariusz+Lipskidareklipski
 
Grill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwGrill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwDmitrij Żatuchin
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Future Processing
 
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał SzybalskiAutomated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał SzybalskiŁódQA
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieArtur Radosz
 
Audyt Wewnetrzny W Zakresie Bezpieczenstwa
Audyt Wewnetrzny W Zakresie BezpieczenstwaAudyt Wewnetrzny W Zakresie Bezpieczenstwa
Audyt Wewnetrzny W Zakresie BezpieczenstwaPawel Krawczyk
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaJakub Hajek
 
Konfiguracja GitLab CI/CD pipelines od podstaw
Konfiguracja GitLab CI/CD pipelines od podstawKonfiguracja GitLab CI/CD pipelines od podstaw
Konfiguracja GitLab CI/CD pipelines od podstawBrainhub
 

Similaire à Analiza nowej Rekomendacji D pod kątem metodologii testowania (20)

Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   PrezentacjaJakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
 
Bezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowychBezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowych
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych
 
CSA STAR i OCF
CSA STAR i OCFCSA STAR i OCF
CSA STAR i OCF
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
2
22
2
 
8
88
8
 
university day 1
university day 1university day 1
university day 1
 
3
33
3
 
Tester.pl - Numer 9
Tester.pl - Numer 9Tester.pl - Numer 9
Tester.pl - Numer 9
 
Prezentacja+Ryzyko+2009+ +Dariusz+Lipski
Prezentacja+Ryzyko+2009+ +Dariusz+LipskiPrezentacja+Ryzyko+2009+ +Dariusz+Lipski
Prezentacja+Ryzyko+2009+ +Dariusz+Lipski
 
Grill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwGrill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring www
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał SzybalskiAutomated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Wstęp do Agile
Wstęp do AgileWstęp do Agile
Wstęp do Agile
 
Audyt Wewnetrzny W Zakresie Bezpieczenstwa
Audyt Wewnetrzny W Zakresie BezpieczenstwaAudyt Wewnetrzny W Zakresie Bezpieczenstwa
Audyt Wewnetrzny W Zakresie Bezpieczenstwa
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
Konfiguracja GitLab CI/CD pipelines od podstaw
Konfiguracja GitLab CI/CD pipelines od podstawKonfiguracja GitLab CI/CD pipelines od podstaw
Konfiguracja GitLab CI/CD pipelines od podstaw
 

Analiza nowej Rekomendacji D pod kątem metodologii testowania

  • 1. Analiza nowej Rekomendacji D pod kątem metodologii testowania Komisja Nadzoru Finansowego. Rekomendacja D., Rekomendacja 7., punkt 7. Wersja 1.0
  • 2. Wprowadzenie  Nowa Rekomendacja D:  dotyczy zarządzania obszarami technologii informacyjnej i bezpieczeństwa środowiska teleinformatycznego w bankach  ma zostać wprowadzona przez banki w Polsce do końca 2014 roku  Rekomendacja D opisuje w rekomendacji 7 cykl życia oprogramowania, a w punkcie 7. testowanie
  • 3. Wprowadzenie  Normy wskazane w Rekomendacji D:  ISO/IEC 27000:2009 - Information technology - Security techniques - Information security management systems  Inne normy ISO (International Organization for Standardization)  [opcja] ISO/IEC 25010:2011 Systems and software Quality Requirements and Evaluation (SQuaRE)  [opcja] ISO/IEC 12207:2008 Systems and software engineering – Software life cycle processes  [opcja] ISO/IEC 29119 Software Testing – w przygotowaniu
  • 4.  Standardy wskazane w Rekomendacji D:  Zarządzanie projektami proponowane przez PMI (Project Management Institute)  PMBoK (Project Management Body of Knowledge)  PRINCE2 (PRojects IN Controlled Environments).  Audyty:  ISACA (Information Systems Audit and Control Association)  COBIT (Control Objectives for Information and related Technology)  GTAG (Global Technology Audit Guide)  GAIT (Guide to the Assessment for IT Risk) Wprowadzenie
  • 5. Cykl życia oprogramowania  Rekomendacja D opisuje cykl życia oprogramowania wyróżniając podstawowe kroki:  Strategia banku (7.1)  Szczegółowe wymagania (7.2)  Projektowanie (7.3)  Analiza ryzyk (7.4)  Rozwój oprogramowania – wewnętrzny (7.5)  Rozwój oprogramowania – zewnętrzny (7.6)  Testowanie (7.7)  Wdrożenie (7.8)  Wycofanie (7.15)
  • 6. Cykl życia oprogramowania  Rekomendacja D uwzględnia również dodatkowe działania:  Zarządzanie środowiskami (7.9)  Dokumentacja (7.10)  Zarządzanie zmianą (7.11, 7.12, 7.13, 7.14)
  • 7. Cykl życia oprogramowania - wizualizacja Strategia banku (7.1) Szczegółowe wymagania (7.2) Projektowanie (7.3) Analiza ryzyk (7.4) Rozwój oprogramowania - wewnętrzny (7.5) Rozwój oprogramowania - zewnętrzny (7.6) Wdrożenie (7.8) Wycofanie (7.15) Zarządzanie środowiskami (7.9) Dokumentacja (7.10) Zarządzanie zmianą (7.11, 7.12, 7.13, 7.14) Testowanie (7.7)
  • 8. Cykl życia oprogramowania - Strategia banku (7.1)  Zakłada się w rekomendacji rozwój systemu zgodny ze strategią banku w zakresie obszarów technologii informacyjnej i bezpieczeństwa środowiska teleinformatycznego
  • 9. Cykl życia oprogramowania - Szczegółowe wymagania (7.2)  Dokument wskazuje na ważny element zapewnienia jakości oprogramowania, zaczynający się od zapewnienia jakości wymagań  Szczególnie dla projektów wytwarzanych zewnętrznie, wykrywanie problemów wymagań (np. niejasności) na etapie (dopiero) testowania może być kosztowne dla całej organizacji  Reguła 1:10:100
  • 10. Cykl życia oprogramowania - Szczegółowe wymagania (7.2)  Rekomendacja nakazuje uwzględnić w wymaganiach:  funkcjonalność  pojemność  połączenia z innymi systemami  wydajność i dostępność  środowisko działania  bezpieczeństwo  zgodność z przepisami i standardami
  • 11. Cykl życia oprogramowania - Szczegółowe wymagania (7.2)  Niskiej jakości wymagania to w konsekwencji:  Niskiej jakości kod,  Niskiej jakości scenariusze testowe,  Niskiej jakości automaty testowe,  Niskiej jakości oprogramowanie,  Obniżony poziom bezpieczeństwa systemu,  Wydłużony czas realizacji projektu,  Wyższe koszty prowadzenia projektu.
  • 12. Cykl życia oprogramowania - Projektowanie (7.3)  Projektowanie systemu z uwzględnieniem modyfikacji w przyszłości (elastyczność), wynikających ze:  Zmiany prawa,  Strategii banku,  Standardów w banku,  Zmiany w otoczeniu i działania konkurencji banku.
  • 13. Cykl życia oprogramowania - Analiza ryzyka (7.4)  Przeprowadzenie analizy ryzyka przed wdrożeniem nowego systemu jak i przy każdej znaczącej zmianie  Ocena wpływu zmiany na:  Środowisko teleinformatyczne  Procesy biznesowe  „… ze szczególnym uwzględnieniem aspektów bezpieczeństwa”
  • 14. Cykl życia oprogramowania - Rozwój oprogramowania - wewnętrzny (7.5)  Rekomendowane jest posiadanie (dobra praktyka) (1/2):  Metodyki rozwoju oprogramowania (opisującej proces)  Zarządzanie zmianą w systemie informatycznym z uwzględnieniem wielkości danej zmiany (zmiana jako: cały projekt, zmiana w produkcie, poprawka),  Zarządzanie incydentami (pochodzącymi z produkcji, pochodzącymi ze środowisk testowych),  Zarządzanie środowiskami testowymi,  Zarządzanie dokumentacją testową,  Miary.
  • 15. Cykl życia oprogramowania - Rozwój oprogramowania - wewnętrzny (7.5)  Rekomendowane jest posiadanie (dobra praktyka) (2/2):  Standardów w rozwoju oprogramowania  Architektura,  Narzędzia programistyczne,  Repozytoria,  Standardy kodowania (preferowane języki) w tym zapewnienie jakości poprzez dbałość o notację i komentowanie kodu,  Zasady wykonywania testów i przeglądów kodu,  Kryteria jakości kodu,  Standard tworzenia dokumentacji,  Zasady wersjonowania oprogramowania.
  • 16. Cykl życia oprogramowania - Rozwój oprogramowania - wewnętrzny (7.5)  Rekomendacja wskazuje na konieczność wykonywania bieżących testów i przeglądów kodu, zapewniających odpowiedni stopień niezależności w przypadku rozwoju oprogramowania realizowanego siłami własnymi.
  • 17. Cykl życia oprogramowania - Rozwój oprogramowania - zewnętrzny (7.6)  Korzystanie z usług wiarygodnych partnerów  Uwzględnienie w umowie stosowania przez dostawcę standardów i metodyk rozwoju oprogramowania przyjętych w banku  Wykonywanie testów przed wdrożeniem  Przez dostawcę  Przeprowadzenie testów w banku (bez względu na testy dostawcy)  Dokładny opis "Współpraca z zewnętrznymi dostawcami usług" znajduje się w rekomendacji 10
  • 18. Cykl życia oprogramowania - Testowanie (7.7)  Rekomendacja D zakłada zdefiniowanie przez organizację metodologii testowania.  Opis metodologii od strony 22
  • 19. Cykl życia oprogramowania - Wdrożenie (7.8)  Zgodnie z rekomendacją D bank powinien zapewnić, aby procedury przenoszenia nowego systemu informatycznego lub zmiany już funkcjonującego systemu na środowisko produkcyjne minimalizowały ryzyko wystąpienia przestojów w działalności banku.  Wskazana jest konieczność:  zweryfikowania poprawności działania systemu i zgodności z wymaganiami,  monitorowania systemu (przez odpowiedni czas ) w celu identyfikacji ewentualnych problemów.
  • 20. Cykl życia oprogramowania - Wdrożenie (7.8)  Bank powinien podjąć decyzję dotyczącą zapewnienia mechanizmów umożliwiających powrót do stanu sprzed wdrożenia w przypadku wystąpienia sytuacji krytycznej  Np. tworzenie kopii awaryjnych odpowiedniego obszaru środowiska teleinformatycznego
  • 21. Cykl życia oprogramowania - Wycofanie (7.15)  Rekomenduje się posiadanie sformalizowanych regulacji w zakresie wycofywania z eksploatacji rozwiązań informatycznych uwzględniających:  podejmowanie decyzji,  informowanie zainteresowanych stron,  przeprowadzanie migracji danych,  dokonywanie archiwizacji rozwiązań,  aktualizację konfiguracji infrastruktury,  bezpieczną eliminację wycofywanych z użytku komponentów  aktualizację dokumentacji środowiska teleinformatycznego banku.
  • 23. Metodologia testowania  Prezentowana metodologia testowania jest zgodna z rekomendacją D  Poprzez „metodologię testowania” rozumie się „metodologię testowania środowiska teleinformatycznego” czyli testowania systemu i infrastruktury  Metodologia uwzględnia wspomniane w rekomendacji „dobre praktyki” testowania, takie jak planowanie i testowanie atrybutów jakościowych oprogramowania
  • 24. Metodologia testowania  Rekomendacja D w punkcie 5.2 zwraca uwagę na odpowiednią separację obowiązków:  w szczególności oddzielenie funkcji tworzenia lub modyfikowania systemów informatycznych od ich testowania (poza testami realizowanymi przez programistów w ramach wytwarzania oprogramowania), administracji i użytkowania.  sposób organizacji testów powinien zapewniać możliwie wysoki stopień niezależności weryfikacji spełnienia przyjętych założeń
  • 25. Uruchomienie testów Metodologia testowania … Planowanie Zarządzanie środowiskiem Dane testowe Scenariusze testowe Outsourcing testowy Funkcjonalność Bezpieczeństwo Wydajność Dostępność Raportowanie Zgodność z miarami jakości oprogramowania
  • 26. Metodologia testowania (1/4)  [opcja] Planowanie  Strategia testowania (dobór lub definicja)  Zdefiniowanie miar jakości oprogramowania  Kryterium odbioru oprogramowania
  • 27. Metodologia testowania (2/4)  Wytworzenie scenariuszy i danych w oparciu o wymagania  Wymagania dostępne – tworzenie scenariuszy z uwzględnieniem:  [opcja] Testowalność  [opcja] Śledzenie wymagań (ang. Traceability)  [opcja] Automatyzacja  Brak wymagań lub wymagania niskiej jakości – tworzenie scenariuszy:  przy wsparciu przedstawicieli obszaru bezpieczeństwa środowiska IT  i/lub przy wykorzystaniu wiedzy eksperckiej
  • 28. Metodologia testowania (3/4)  Uruchomienie testów  Poziomy testów  [opcja] Testowanie jednostkowe  [opcja] Testowanie integracji modułów  Testowanie systemu  Testowanie integracyjne z innymi systemami  Rodzaje testów  Testowanie regresywne  [opcja] Testowanie potwierdzające  Typy testów: funkcje i charakterystyki oprogramowania  Funkcjonalne  Bezpieczeństwo  Wydajność  Dostępność  [opcja] Użyteczność  [opcja] Inne
  • 29. Metodologia testowania (4/4)  Zarządzanie środowiskami  w kontekście konfiguracji,  w kontekście wersjonowania,  w kontekście zasad wdrażania zmian (np. nowych wersji),  w kontekście zarządzania danymi (np. ilość danych, problem danych rzeczywistych).  Raportowanie  [opcja] Raport z testów - > miary jakości oprogramowania  Zgłaszanie błędów
  • 30. Metodologia testowania - Planowanie strategia banku, wymagania, wymagania biznesowe, plan projektu Planowanie Plan testów
  • 31. Metodologia testowania - Planowanie  Wejście: strategia banku, wymagania, wymagania biznesowe, plan projektu  Wyjście: plan testów  Działania:  wytworzenie planu testów  dopasowanie planowania do strategii banku (7.1)  adaptacja do istniejącej, lub zdefiniowanie nowej strategii testów  estymacja czasu i budżetu  z uwzględnieniem czasu potrzebnego na usunięcie wykrytych defektów  określenie lub uwzględnienie miar jakości oprogramowania
  • 32. Metodologia testowania - Wytworzenie scenariuszy i danych w oparciu o wymagania plan testów, wymagania Wytworzenie scenariuszy i danych w oparciu o wymagania Scenariusze testowe i dane testowe
  • 33. Metodologia testowania - Wytworzenie scenariuszy i danych w oparciu o wymagania  Wejście: plan testów, wymagania funkcjonalne  Wyjście: scenariusze testowe i dane testowe  Działania:  wytworzenie scenariuszy testowych  wytworzenie danych testowych
  • 34. Metodologia testowania - Zarządzanie środowiskiem plan testów, scenariusze testowe i dane testowe, konfiguracja, zasoby sprzętowe, zdefiniowany poziom integracji oprogramowania Zarządzanie środowiskiem Środowisko testowe
  • 35. Metodologia testowania - Zarządzanie środowiskiem  Wejście: plan testów, scenariusze testowe i dane testowe, konfiguracja, zasoby sprzętowe, zdefiniowany poziom integracji oprogramowania  Wyjście: środowisko testowe  Działania:  Przygotowanie środowiska testowego odseparowanego od środowiska programistycznego i produkcyjnego
  • 36. Metodologia testowania - Uruchomienie testów plan testów, środowisko testowe, oprogramowanie, scenariusze testowe i dane testowe Uruchomienie testów Wyniki testów
  • 37. Metodologia testowania - Uruchomienie testów  Wejście: plan testów, środowisko testowe, oprogramowanie, scenariusze testowe i dane testowe  Wyjście: wyniki testów  Działania:  Wykonanie testów funkcjonalności  Wykonanie testów bezpieczeństwa  Wykonanie testów wydajności  Wykonanie testów dostępności  [opcja] Wykonanie testów użyteczności  Wykonanie innych testów
  • 38. Metodologia testowania - Uruchomienie testów  Rekomendacja: Udział docelowych odbiorców aplikacji w testach funkcjonalnych i niefunkcjonalnych (tam gdzie możliwe)  [opcja] Przy braku wymagań może nie być możliwości wytworzenia scenariuszy. W takim wypadku kompensuje się brak specyfikacji testowej poprzez testy eksploracyjne, bazujących na intuicji, wiedzy eksperckiej oraz doświadczeniu testerów
  • 39. Metodologia testowania - Raportowanie plan testów, wymagania funkcjonalne, wymagania biznesowe, wyniki testów Raportowanie Raport z testów
  • 40. Metodologia testowania - Raportowanie  Wejście: plan testów, wymagania, wyniki testów  Wyjście: raport jakości, raporty błędów  Działania:  Analiza wyników testów i wymagań  Raportowanie jakości oprogramowania w wielu wymiarach  Przygotowanie raportu z testów w oparciu o zdefiniowane miary
  • 41. Metodologia testowania - Raportowanie  Ograniczenia:  jakość raportowania ograniczona możliwościami wdrożonych narzędzi raportowania błędów  system zgłaszania błędów gwarantujący zapisanie wszystkich incydentów  precyzyjne (jednoznaczne) raportowanie błędów  poufność informacji o błędach (szczególnie błędów bezpieczeństwa)
  • 42. Testowanie w Rekomendacji D  Testowanie dodatkowo opisane jest w następujących ustępach Rekomendacji D:  5.2 - izolacja procesu programowania od procesu testowania  7.9 - separacja środowisk  9.21 - testy penetracyjne infrastruktury teleinformatycznej  9.24 - aktualizacje środowisk produkcyjnych
  • 43. Podsumowanie  Dokument prezentuje aspekt testowania zaprezentowany w Rekomendacji D opublikowanej przez Komisję Nadzoru Bankowego  Dokument proponuje wymaganą przez KNF metodologię testowania
  • 44. DODATEK – fragment listy kontrolnej dla nowej Rekomendacji 7 Pytanie TAK NIE * Czy organizacja dba o ważny element cyklu życia oprogramowania czyli o wysokiej jakości wymagania? Czy organizacja posiada metodykę rozwoju oprogramowania? Czy organizacja ma zdefiniowaną metodologię testowania? Czy organizacja testuje oprogramowanie zarówno wytwarzane wewnętrznie jak i dostarczane przez zewnętrznych dostawców w sposób gwarantujący niezależność weryfikacji jakości? Czy testy obejmują weryfikację wszystkich wymagań, w szczególności dotyczących: funkcjonalności, wydajności, bezpieczeństwa Czy zakres definiowanych wymagań obejmuje wszystkie zakresy wymienione w punkcie 7.2 nowej Rekomendacji D? … *) każda odpowiedź NIE może sugerować konieczność wprowadzenia zmian w organizacji pod kątem dopasowania się do Rekomendacji D.
  • 45. Autorzy  Radosław Smilgin, 21CN (testerzy.pl)  definiowanie metodologii (procesów) testowania  Radoslaw.Smilgin@testerzy.pl  Wojciech Dworakowski, SecuRing  audyt i testowanie bezpieczeństwa systemów teleinformatycznych  Wojciech.Dworakowski@securing.pl  Tomasz Watras, PGS Software S.A.  outsourcing wytwarzania i testowania  TWatras@pgs-soft.com