Platforma do kontroli jakości oprogramowania

Transkrypt

Platforma do kontroli jakości oprogramowania
Platforma do kontroli jakości
oprogramowania
Lubomir Stojek
Business Sevelopment Manager
HP SOFTWARE
© 2006 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
Większość firm nie testuje aplikacji
w ich cyklu życia
Harmonogramy testów są napięte i nigdy nie ma zasobów
Większość firm zaczyna inwestować czas i środki na testowanie nowych wdrożeń
czy podniesienie wersji – pozostają jednak te same bolączki gdyż...
90% firm nie testuje zmian
Nowe wdrożenie
Podniesienie
wersji
Nowy release
Zmiany
2
6 March 2013
Koszt naprawy błędu
1000
1000
800
600
400
200
200
1
0
Specyfikacja
10
Projekt
50
Kodowanie
Test
Wdrożenie
Testowanie oprogramowania w
oparciu o wymagania i ryzyka
pozwala znaleźć punkt optimum
Model Jakości Cyklu Życia Systemu - V
Zarządzanie w celu zapewnienia zgodności
Priorytetyzacja Funkcji w celu Minimalizacji Ryzyk i Usprawnienia Współpracy
Projekt
Wymagania
Biznesowe
Projekt
technic
zny
Weryfikacja
Wymagańon
Produkcja
Oprogramowania
Testy Modułowe
Testy Integracyjne
Testy Systemowe
Test
Testy wyd. UAT
Stan gotowości
Utrzymanie
aplikacji
Monitorowanie
Wkład
i
koszty
jakości
Tradycyjny
koszt
jakości
Podejście HP
time
5
V-Model
6
HP PPM Center Overview
Wyzwania dla Zarządzania Testami
Projekt B
Projekt A
Narzędzie – MSExcel
zespół QA–10 osób
Narzędzie– MS Word
zespół R=
QA128
– 5 osób
Testy – manualne +
automatyczne
128
Testy - G=
manualne
B= 128
Projekt C
Narzędzie – Lotus
Notes
Zespół QA – 35 osób
Testy – w większości
automatyczne
Projekt D
Narzędzie – MS
Outlook
R= 128
Zespół G=
QA128
– 2 osoby
Testy - B=
manualne
128
Model - CMM
Decentralizacja działań testowych
Brak współpracy pomiędzy zespołami
Brak spójnego powtarzalnego procesu
Ograniczona możliwość powtórnego korzystania ze
skryptów
7
6 March 2013
Efektywne Zarządzanie Testami
Podnosi Jakość
Projekt A
Projekt B
Projekt C
Project D
Centralny punkt kontroli wszystkich zasobów T
Usystematyzowanie procesu podnoszenia jakości
8
6 March 2013
Zmień Swoje Zasoby z 8-godzinnych
w 24-godzinne
“Automatyzacja nie jest miejscem gdzie oszczędzamy
większość pieniędzy. Większość oszczędności pochodzi z
nienadzorowanych, wielokrotnych wykonań testów!”
Brooks Betz, Deutsche Bank
=
+
Stwórz testy
podczas godzin
pracy
9
6 March 2013
Przygotuj
scenariusze
uruchomień
testów w nocy
proces testowania
24x7 +
zoptymalizowane
wykorzystanie
hardware’u
Proces Testowania
Planowanie Testów
Testy
Funkcjonalne
Zarządzanie Błędami
Zarządzanie
Wymaganiami
Testowymi
Testy Wydajnościowe
10
6 March 2013
HP Quality Center zarządzanie
wymaganiami – analiza pokrycia
HP Quality Center zarządzanie
wymaganiami
Zarządzanie wersjami i „baselinami”
Najważniejsze funkcje:
• Narzędzie do porównywania
wersji
• Zamrażanie wersji „baselines”
– wersja projektu zapisana w
danym punkcie czasu z
wszystkimi parametrami i całą
zwartością
• Funkcjonalność drukowania
raportów z zamrożonych wersji
• Porównywanie zamrożonych
wersji zarówno na ogólnym jak
i na szczegółowym poziomie
informacji
Public
Testowanie na bazie ryzyka
Priorytetyzacja testów w zależności od ich wpływu na kluczowe
Funkcje systemu
• Określenie ryzyk dla
danej funkcjonalności
oraz czasu
potrzebnego na testy
− Redukcja ryzyk i
skrócenie czasu
testów
13
6 March 2013
Master Plan
Projektowe podejście do testów
Dzień dzisiejszy na
planie projektu
Kamienie milowe
na wykresie
Gantt’a
Integracja z Business Process Model
Zgodność z formatami: Provision, Aris
Zaimportowany
proces BPM
Ścieżka
krytyczna dla
testerów
Łączenie wymagań z
elementami procesu
Zarządzanie błędami
Możliwość zgłaszania i śledzenia błędów podczas całego
cyklu życia testowanego systemu
Najważniejsze funkcje:
• Śledzenie błędów od etapu
wymagań przez wszystkie
pozostałe etapy QA
• Automatyczna notyfikacja
emailowa o nowych błędach
• Możliwość definicji
specjalnych procesów obsługi
błędów
• Współdzielenie błędów
pomiędzy projektami (QC
Premier)
• Dostęp do błędów
przypisanych dla
dostawcy zewnętrznego
16
6 March 2013
Public
Raporty, grafy i konsole
Zintegrowany moduł raportujący „Dashboard” z widokami
czasu rzeczywistego na statusy z naszego procesu QA
Najważniejsze funkcje:
• Moduł raportujący jako
integralna całość QC 10,
łącznie ze standardowymi
raportami, Excela i konsolą
główną
• Możliwość definiowania
własnych raportów oraz ich
współdzielenia
• Raporty pokrycia z
funkcjonalnością
uszczegółowiania
prezentowanych danych
• Możliwość
raportowanie dla
wielu dostawców
zewnętrznych
17
6 March 2013
Public
Efektywność z HP Quality Center
Początek
projektu
Testy
ręczne
Dokumentowanie
kroków testowych
Nagranie/
odtworzenie
Dokumentowanie
kroków testowych
Business
Process
Testing
Budowanie komponentów,
przebiegów
•
•
•
18
Aplikacja dostępna
Koniec projektu
Wykonywanie testów
Nagrywanie
testów
Mapowanie
obiektów
Wykonywanie
testów
Wykony
wanie
testów
Modyfikacja
testów
Modyfikacja
testów
Modyfikacja
testów
Niezbędne elementy do testów są budowane zanim aplikacja jest dostępna
Testy są wykonywane wcześniej, błędy wychwytywane są szybciej
Czas testowania jest znacznie zredukowany
6 March 2013
Proces Testowania
Planowanie Testów
Testy
Funkcjonalne
Zarządzanie Błędami
Zarządzanie
Wymaganiami
Testowymi
Testy Wydajnościowe
19
6 March 2013
Automatyzacja testów z HP QTP
Technologia „ActiveScreen”
Najłatwiejsze narzędzie na rynku dzięki ActiveScreen
Punkty kontrolne
• Kroki testowe
• Bardziej czytelny
• Łatwy w utrzymaniu
•
20
6 March
6 March
2013
2013
Automatyzujemy nasze testy
21
6 March 2013
Testy manualne a testy
automatyzowane
Testy manualne
Trudno powtarzalne
Nie zawsze
wystarczające
Kosztowne
Czasochłonne
22
6 March 2013
Testy
automatyzowane
Powtarzalne
Zwiększające
pokrycie
Przynoszące zwrot z
inwestycji
Uruchamiane bez
nadzoru
Kiedy się zwraca automatyzacja testów
•
Całkowity koszt wykonania testu
250
200
100
Manual
Automated
50
0
1 2 3 4 5 6 7 8 9 10
Ilość iteracji testowych
23
Przy testach
automatycznych koszt
się znaczącą zmniejsza
już po 3 iteracji
Jeśli myślimy o ciągłym
procesie testowania i
poprawy jakości
systemów IT to
automatyzacja jest
najlepszym
rozwiązaniem
•
150
February 2009
HP Software (c) - AM Wave Update Feb 24th 2009
Przy testach
manualnych ich koszt
jest liniowy dla każdej
iteracji
Proces Testowania
Planowanie Testów
Testy
Funkcjonalne
Zarządzanie Błędami
Zarządzanie
Wymaganiami
Testowymi
Testy Wydajnościowe
24
6 March 2013
25
Po co wykonywać testy wydajnościowe
i obciążeniowe?
•
Skutki awarii ważnej aplikacji mogą być kosztowne
•
Aby zapewnić wydajność i funkcjonalność w środowisku
produkcyjnym przy rzeczywistym obciążeniu
•
Aby wykryć potencjalne problemy (usterki) zanim
wystąpią u użytkownika
•
Aby zmniejszyć koszty i czas poświęcone na
development
•
Aby zoptymalizować koszty infrastruktury IT
25
6 March 2013
26
Rodzaje testów wydajnościowych
Component Testing
Load Testing
Stress Testing
Volume Testing
26
6 March 2013
Aby sprawdzić zachowanie i wydajność każdego
modułu (warstwy) systemu.
Aby sprawdzić przed wdrożeniem czy system
wydajnie pracuje przy przewidywanym obciążeniu.
Aby określić maksymalne obciążenie systemu. Aby
sprawdzić poprawność konfiguracji środowiska
systemu, w szczególności zachowanie systemu przy
nieoczekiwanym przeciążeniu.
Aby sprawdzić stabilność systemu przy dużych
wolumenach danych w długich okresach czasu.
27
Przykłady celów testu wydajnościowego
Czas odpowiedzi systemu
Jak długo trwa wykonanie zadania?
Stabilność
Jak zachowuje się system przy dużym
obciążeniu/przeciążeniu?
Dobieranie konfiguracji
Jaka konfiguracja zapewnia optymalną
wydajność
Planowanie obciążalności
Przy jakim obciążeniu wydajność
zaczyna spadać
Akceptacja
Czy stabilność systemu pozwala na
wdrożenie do produkcji?
Identyfikacja wąskich gardeł
Co jest prawdziwą przyczyną spadku
wydajności?
Regresja
Jak nowa wersja oprogramowania
wpływa na czas odpowiedzi systemu
27
6 March 2013
Ewaluacja systemu
Jaki serwer jest najlepszy dla 100
użytkowników?
28
Ograniczenia testowania manualnego
Uwaga, na 3
każdy klika
ponownie w
przycisk Szukaj
Czy są dostępne zasoby testowe?
• Ludzie
• Komputery, biurka
W jaki sposób synchronizować?
Jak zbierać i analizować dane?
Jak osiągnąć powtarzalność testów?
Koordynator
Serwer
aplikacji
Testerzy
Generowanie obciążenia
28
6 March 2013
Serwer bazy
danych
Testowany System
29
Zastosowanie oprogramowania
HP LoadRunner
Controller
Analysis
• Zasoby są ‘nieograniczone’
• Rolę testerów pełnią „Virtual Users”
• Niewiele komputerów może uruchamiać
wielu Vuserów
• Oprogramowanie Controller’a zarządza
Vuser’ami
• Zapewnia powtarzalność
• Oprogramowanie Analysis pozwala
analizować wyniki testu
Vusers
Virtual User
load generator
Serwer
aplikacji
Serwer bazy
danych
Testowany System
Generowanie obciążenia
29
6 March 2013
Jak działa LoadRunner?
LoadRunner VuGen
•
Nagrywa transmisję pomiędzy klientem aplikacji a serwerem po protokole
− np. “Sprawdź saldo” w serwisie internetowym
•
•
Podczas nagrania skryptu dodajemy transakcje i punkty weryfikacyjne
Po nagraniu parametryzujemy i korelujemy skrypt…
“Sprawdź saldo”
Przeglądarka HTML
Lub Aplikacja Win
Serwer
Skrypty
VUGen
30
6 March 2013
31
Monitory
Gdzie jest wąskie gardło w systemie?
Clients
Internet/Intranet
Web
servers
App
servers
LoadRunner dostarcza wiele rodzajów monitorów,
wspierających wykrywanie wąskich gardeł. Monitory:
są pasywne (non-intrusive) i bezagentowe
zbierają dane do analiz online/offline
pokazują rzeczywiste, dane zbierane w trakcie testu
zbierają dane do wykonania szczegółowej diagnostyki systemu po
testach (root cause analysis)
31
6 March 2013
Database
server
32
Wspierane technologie
Platforms:
NT, 2000, XP
Sun
HP
IBM
Linux
Web:
HTTP(S)
Web Services
CORBA
WAP
COM
RMI
LDAP
Winsock
Streaming
FTP
IIOP
POP3
iMode
RealPlayer
MS Media
Voice XML
SMTP
Middleware
Protocols:
CORBA
COM
EJBs
TUXEDO
Jolt
JDBC
MQSeries
ERP/CRM:
Oracle Apps.
SAP
Siebel
PeopleSoft
Clarify
Baan
Internet/Intranet
32
6 March 2013
Legacy:
3270
5250
VT100
Database
server
Web
servers
Clients
Databases:
Oracle
MS SQLServer
DB2
Sybase
Informix
ODBC
App
servers
Nowość w LR 9.0:
RDP
AJAX
33
Przykłady monitorów
O.S. Monitors:
•NT, 2000, XP
•Unix
•Linux
Network
Monitors:
•SNMP
•Network Delay
Middleware
Monitors:
•TUXEDO
•EJB
Firewall Monitors:
•CheckPoint
Clients
Internet/Intranet
Database
Monitors:
•Oracle
•SQLServer
•DB2
Web Server
Monitors:
•MS IIS
•iPlanet (NES)
•Apache
•Oracle 9iAS
Web
servers
App
servers
Database
server
Web App. Server Monitors:
•BroadVision
•Ariba
•Allaire ColdFusion
•ATG Dynamo
•SilverStream
•iPlanet (NAS)
•BEA WebLogic Server
•GemStone/J
•WebSphere
•MS ASP
33
6 March 2013
Diagnostyka HP cd...
35
Rezultat to zmierzona wydajność
Automatycznie generowane raporty wydajności pokazują statystyczny rozkład
zebranych wyników i wspierają procesy analizy i raportowania. Dostępne
monitory dostarczają metryki do śledzenia stanu elementów testowanego
systemu i wspierają proces strojenia systemu.
35
6 March 2013
Proces Testowania
Planowanie Testów
Testy
Funkcjonalne
Zarządzanie Błędami
Zarządzanie
Wymaganiami
Testowymi
Testy Wydajnościowe
36
6 March 2013
Korzyści
•
Zmniejszenie kosztów utrzymania testów,
•
Zmniejszenie kosztów utrzymania systemu,
dzięki poprawie jakości,
•
Centralizacja i ujednolicenie procesu testów,
•
Poprawa zarządzania procesem testowym,
•
Wsparcie Risk Based Testing,
•
Odciążenie pracowników,
•
Utworzenie unikatowego Centrum Testowego
- poprawa wizerunku medialnego,
•
Przejęcie zadań badania poprawności wdrożenia,
publikowania testów akceptacyjnych itd.,
•
Zmniejszenie ryzyka reklamacji ze strony
odbiorców systemów,
•
Poprawa dojrzałości procesów IT w zakresie
kontroli jakości,
Dziękujemy!
Czy są jeszcze jakieś pytania?
38
6 March 2013

Podobne dokumenty