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