Testy akceptacyjne Analiza systemów informatycznych Wykład 9

Slides:



Advertisements
Podobne prezentacje
Systemy czasu rzeczywistego
Advertisements

Programowanie Ekstemalne
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Programowanie Ekstremalne
FIT Środowisko Testów Integracyjnych
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Na Etapie Inżynierii Wymagań
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Lekkie metodyki programowania: Szansa czy zagrożenie?
Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Inżynieria oprogramowania II Wykład 5 Standardy serii ISO 9000
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Obliczalność i złożoność obliczeniowa
Model dojrzałości CMMI
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Budowa komputera Wstęp do informatyki Wykład 15
Zwinne metodyki programowania Copyright, 2006 © Jerzy R. Nawrocki Inżynieria oprogramowania.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Analiza i walidacja wymagań
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Copyright © Jerzy R. Nawrocki Wprowadzenie Analiza systemów informatycznych Wykład.
Inżynieria oprogramowania II Wykład 10 PRINCE2 i TSP
Modelowanie i architektura
Modelowanie i język UML
Dyscyplina i zwinność w projektach informatycznych
Dyscyplina i zwinność w projektach informatycznych (cz. 2)
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Bazy danych Wprowadzenie do informatyki Wykład 9
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C
Języki formalne i gramatyki
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Komputerowe systemy sterowania Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Metody formalne Copyright, 2005 © Jerzy R. Nawrocki Analiza systemów informatycznych.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Testowanie oprogramowania
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Komunikacja poprzez Internet
Dokumenty i prezentacje Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do.
Copyright © Jerzy R. Nawrocki Metody formalne Inżynieria oprogramowania II Wykład 5.
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Menadżer Programów Wewnętrznych, Pion Banków Komercyjnych
Translatory Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 11.
Gramatyki i translatory
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Dokumenty elektroniczne Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie do.
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Analiza ryzyka Analiza systemów inf. Wykład 14
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Od algebry Boole’a do komputera Copyright, 2007 © Jerzy R. Nawrocki Wprowadzenie.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Testowanie akceptacyjne.
Inżynieria oprogramowania
Jerzy Nawrocki Adam Wojciechowski
Zapis prezentacji:

Testy akceptacyjne Analiza systemów informatycznych Wykład 9 (c) Jerzy Nawrocki Requirements Eng., Lecture 11 Analiza systemów informatycznych Wykład 9 Testy akceptacyjne Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi/ Copyright, 2005  Jerzy R. Nawrocki Acceptance Testing

Model V Specyfikacja wymagań Testy akceptacyjne Projekt Testy integracyjne Kodowanie Testy jednostkowe J.Nawrocki, Testy akceptacyjne

Model V Specyfikacja wymagań Testy akceptacyjne Projekt Klient Specyfikacja wymagań Testy akceptacyjne Projekt Testy integracyjne Kodowanie Testy jednostkowe J.Nawrocki, Testy akceptacyjne

Programowanie Ekstremalne Programowanie sterowane testami Testy akceptacyjne: klient Autom. testy akceptacyjne Testy autom.: klient+tester Pomiary postępu bazujące na testach akceptacyjnych J.Nawrocki, Testy akceptacyjne

Programowanie Ekstremalne Testy akceptacyjne jako miara postępów J.Nawrocki, Testy akceptacyjne

Testy akceptacyjne Rodzaje testów Sum=0; for (i=0; i<n; i++) Black box testing (testowanie czarnej skrzynki) Sum=0; for (i=0; i<n; i++) Sum+= a[i]; White box testing (testowanie szklanej skrzynki) J.Nawrocki, Testy akceptacyjne

Rational Robot – narzędzie automatyzacji testowania Nagrywanie Odtwarzanie Dysk Robot Dysk J.Nawrocki, Testy akceptacyjne

Na czym polega automatyzacja testowania? Kup „egzekutora” testów. Nagraj testy. Odtwarzaj je, kiedykolwiek będziesz miał ochotę. To proste! „Just as there is more to software design than knowing a programming language, there is more to automating testing than knowing a testing tool.” -- M. Fewster & D. Graham J.Nawrocki, Testy akceptacyjne

Testy ręczne czy automatyczne? Pracochłonność automatyzacji testów: 2 – 10 razy tyle co ręczne wykonanie testów (!) J.Nawrocki, Testy akceptacyjne

Rational Robot i testy przed kodowaniem Nagrywanie Odtwarzanie Uwagi: Przy nagrywaniu testów aplikacja powinna być już gotowa. Rational Robot zaprojektowano do testowania regresyjnego, nie do ‘testów przed kodowaniem’. Jedyną szansą na ‘testy przed kodowaniem’ jest SQABasic. J.Nawrocki, Testy akceptacyjne

Testowanie aplikacji HTML-owych StartBrowser [ URL$, ] [ WindowTag= Name$ ] Adres strony www Identyfikuje instancję przeglądarki Otwiera przeglądarkę, Umożliwia testowanie HTML-owe, Ściąga podaną stronę. StartBrowser "http://www.cs.put.poznan.pl/jnawrocki/models/", "WindowTag= Parent" J.Nawrocki, Testy akceptacyjne

Testowanie aplikacji HTML-owych Browser action$, recMethod$, parameters$ Back, Forward, NewPage, SetFrame, CloseWin, .. HTMLTitle=$, Name=$, "" .. Wait= % default time is 30s Wykonuje akcję za pomocą przeglądarki Browser NewPage, "" Wait for the topmost frame J.Nawrocki, Testy akceptacyjne

Testowanie aplikacji HTML-owych HTML action%, recMethod$, parameters$ Click, .. HTMLTitle=$, Name=$, "" .. Coords= x, y Wykonuje akcję myszką na znaczniku HTML-owym. HTML Click, "Name= Autor", "Coords= 10,12" J.Nawrocki, Testy akceptacyjne

Akcje użytkownika Weryfikacja SQABasic HTMLDocument Click, "Type=HTMLDocument;Index=1", "Coords=25,14 " Weryfikacja Result = HTMLTableVP (CompareData, "Type=HTMLTable;Index=1", "VP=Weryfikacja_daty") TestDatastore\DefaultTestScriptDatastore\TMS_Script\vp\test7.Weryfikacja_daty.base.grd J.Nawrocki, Testy akceptacyjne

Alternatywy dla Rational Robota httpUnit Opiera się na jUnit Dla programistów! J.Nawrocki, Testy akceptacyjne

Skrypty sterowane danymi Skrypty sterowane danymi = Dane wejściowe składowane w osobnym pliku (danych). countries, Sweden, USA, countries2 countries, France, Germany, test2 countries, Austria, Italy, test3 J.Nawrocki, Testy akceptacyjne

Skrypty sterowane danymi Control script OpenFile ‘ScribbleData’ For each record in ScribbleData Read INPUTFILE Read NAME1 Read NAME2 Read OUTPUTFILE Call ScribbleOpen (INPUTFILE) FocusOn ‘Scribble’ SelectOption ‘List/Add Item’ FocusOn ‘Add Item’ Type NAME1 LeftMouseClick ‘OK’ ... EndFor Dane wejściowe countries, Sweden, USA, countries2 countries, France, Germany, test2 countries, Austria, Italy, test3 J.Nawrocki, Testy akceptacyjne

Bardziej skomplikowany skrypt sterowany danymi Control script OpenFile ‘ScribbleData’ Read INPUTFILE Call ScribbleOpen (INPUTFILE) Go to next record (ie row) For each record in ScribbleData Read ADDNAME If ADDNAME <> Blank Then { FocusOn ‘Scribble’ SelectOption ‘List/Add Item’ FocusOn ‘Add Item’ Type ADDNAME LeftMouseClick ‘OK} Read MOVEFROM Read MOVETO ... EndFor Dane wejściowe countries Sweden USA 4 1 Norway 2 7 countries2 J.Nawrocki, Testy akceptacyjne

Skrypty sterowane danymi Additional automated regression test cases Software under test               Key automated regression test cases J.Nawrocki, Testy akceptacyjne

Skrypty sterowane słowami kluczowymi Skrypty sterowane słowami kluczowymi = Skrypty sterowane danymi wzbogacone słowami kluczowymi reprezentującymi akcje użytkownika. Test file ScribbleOpen countries AddToList Sweden USA SaveAs countries2 For each TEST_ID OpenFile TEST_ID For each record in test file Read KEYWORD Call KEYWORD EndFor CloseFile TEST_ID Control script ScribbleOpen ... AddToList SaveAs Supporting scripts J.Nawrocki, Testy akceptacyjne

Skrypty współdzielone (c) Jerzy Nawrocki Skrypty współdzielone Requirements Eng., Lecture 11 Skrypt współdzielony = Skrypt wykorzystywany przez więcej niż jeden przypadek testowy. SQABasic Call ScribbleOpen (‘countries’) FocusOn ‘Scribble’ SelectOption ‘List/Add Item’ ... Call ScribbleSaveAs (‘countries2’) J.Nawrocki, Testy akceptacyjne Acceptance Testing

Automatyzacja wykonywania testów Skrypty automatyczne nie są podobne do skryptów ręcznych Nie automatyzuj testowania przez proste nagrywanie testów Automatyczne wykonywanie z ‘ręczną’ weryfikacją? Ile porównywać (wszystko czy tylko część)? Dynamiczne porównywanie i porównywanie po wykonaniu Wyniki porównania automatycznego muszą być ręcznie sprawdzane Dlaczego testy zawodzą drugi raz? J.Nawrocki, Testy akceptacyjne

Analiza wartości granicznych Czynności testowania Zidentyfikuj warunki testowania (‘co’ testować) i priorytety Zaprojektuj scenariusze testowe (‘jak’ testować) Zbuduj przypadki testowe (skrypty, dane etc.) Klasy równoważności Analiza wartości granicznych Przeprowadź testy Porównaj faktyczne wyniki z oczekiwanymi J.Nawrocki, Testy akceptacyjne

Proces testowania ręcznego Testowanie ręczne bez skryptów: Zidentyfikuj warunki testowania Wymyśl konkretne dane testowe Wprowadź dane Sprawdź, czy dobrze działa J.Nawrocki, Testy akceptacyjne

Proces testowania ręcznego Testowanie ręczne bez skryptów Nieprecyzyjne skrypty testów ręcznych: Przeczytaj co masz zrobić Wymyśl konkretne dane testowe Wprowadź dane Sprawdź, czy dobrze działa J.Nawrocki, Testy akceptacyjne

Przykład przypadku testowego Prerequisites: logged into the purchase order system as a data entry clerk; database system must contain the standard Data Set; no other new purchase order activity on the system. Step Input Exp.out Cond. 1 Create a new order for any one standard order, setting quantity to 100 Order confirmation message displayed VB10 VB23 2 Confirm the order Purchase order printed 3 Print a new orders report New orders report printed showing just this one new order 4 Cancel the order Purchase order cancellation notice printed V8 J.Nawrocki, Testy akceptacyjne

Proces testowania ręcznego Testowanie ręczne bez skryptów Nieprecyzyjne skrypty testów ręcznych Szczegółowe skrypty ręczne: Przeczytaj co masz zrobić Wprowadź dane Sprawdź, czy dobrze działa J.Nawrocki, Testy akceptacyjne

Szczegółowy skrypt ręczny 1 Click on Scribble icon Scribble opened, File menu enabled 2 Move mouse to File menu, click Options available: Open, New, Exit 3 Move mouse to Open option, Filenames displayed including click countries.dcm 4 Move mouse to countries.dcm Text plus List of 3 countries: Belgium, Netherlands, UK, File and List menus displayed . . . . . . J.Nawrocki, Testy akceptacyjne

Analiza wartości granicznych Czynności testowania Zidentyfikuj warunki testowania (‘co’ testować) i priorytety Zaprojektuj scenariusze testowe (‘jak’ testować) Zbuduj przypadki testowe (skrypty, dane etc.) Klasy równoważności Analiza wartości granicznych Przeprowadź testy Porównaj faktyczne wyniki z oczekiwanymi J.Nawrocki, Testy akceptacyjne

Księgarnia elektroniczna J.Nawrocki, Testy akceptacyjne

Warunki testowania (test conditions) Kupno pojedynczej książki Kupno książek, które będą wysłane w kilku paczkach Nieefektywny zakup książki Sprawdzenie co się dzieje z kupionymi książkami Dodanie swojej recenzji Zapłata kartą płatniczą Zapłata czekiem . . . J.Nawrocki, Testy akceptacyjne

Priorytety Kupno pojedynczej książki Kupno książek, które będą wysłane w kilku paczkach Nieefektywny zakup książki Sprawdzenie co się dzieje z kupionymi książkami Dodanie swojej recenzji Zapłata kartą płatniczą Zapłata czekiem . . . J.Nawrocki, Testy akceptacyjne

Projekt scenariusza testowego Nieefektywny zakup książki: 1 Klient wkłada do koszyka książki 2 Klient wyjmuje z koszyka wszystkie włożone książki Nieefektywny zakup książki: 1 Klient wkłada do koszyka książki 2 Klient wyjmuje z koszyka wszystkie włożone książki 3 Klient wkłada do koszyka książkę 4 Klient wyjmuje z koszyka J.Nawrocki, Testy akceptacyjne

Projekt scenariuszy w oparciu o przypadki użycia Zakup książki 1. Klient przegląda książki dostępne w księgarni. 2. Klient wkłada do koszyka wybraną książkę. 3. Klient przechodzi do sfinalizowania zakupu. 4. System prosi o podanie adresu i danych do faktury. 5. Klient podaje adres i dane do faktury. 6. System prosi o wybranie sposobu zapłaty. 7. Klient płaci za książkę w wybrany sposób. 8. System dziękuje za zakup i informuje o przesyłce. Wyjątki 3a. Klient chce rozważyć możliwość zakupu jeszcze jednej książki. 3a1. Następuje powrót do kroku 1. 3b. Klient chce zrezygnować z zakupu książki, którą ma w koszyku. 3b1. Klient wyjmuje książkę z koszyka J.Nawrocki, Testy akceptacyjne

Projekt scenariuszy w oparciu o przypadki użycia Zakup książki 1. Klient przegląda książki dostępne w księgarni. 2. Klient wkłada do koszyka wybraną książkę. 3. Klient przechodzi do sfinalizowania zakupu. 4. System prosi o podanie adresu i danych do faktury. 5. Klient podaje adres i dane do faktury. 6. System prosi o wybranie sposobu zapłaty. 7. Klient płaci za książkę w wybrany sposób. 8. System dziękuje za zakup i informuje o przesyłce. Wyjątki 3a. Klient chce rozważyć możliwość zakupu jeszcze jednej książki. 3a1. Następuje powrót do kroku 1. 3b. Klient chce zrezygnować z zakupu książki, którą ma w koszyku. 3b1. Klient wyjmuje książkę z koszyka ... J.Nawrocki, Testy akceptacyjne

Budowanie przypadków testowych int LiczbaCyfr(int n) [1-9] [10-99] [100-999] ... [.. –1] 1, 9 10, 99 100, 999, 255, 256 215 Analiza wartości granicznych -1 Klasy równoważności J.Nawrocki, Testy akceptacyjne

Atrybuty przypadków testowych Na ile skuteczny w wykrywaniu defektów? Na ile reprezentatywny? (im większa reprezentatywność tym mniej ich potrzeba) Na ile ekonomiczny? Na ile modyfikowalny? (pielęgnacja) J.Nawrocki, Testy akceptacyjne

Automatyczne wykonywanie testów Skuteczność Ekonomiczność Modyfikowalność Reprezentatywność J.Nawrocki, Testy akceptacyjne

Automatyczne wykonywanie testów Skuteczność Ekonomiczność Modyfikowalność Reprezentatywność J.Nawrocki, Testy akceptacyjne

Podsumowanie Testy akceptacyjne są tworzone pod dyktando klienta Testy akceptacyjne są b.dobrym miernikiem postępów Testy akceptacyjne pasują do przypadków użycia Testy akceptacyjne można automatyzować, ale trzeba uważać At last! J.Nawrocki, Testy akceptacyjne

? Pytania? J.Nawrocki, Testy akceptacyjne (c) Jerzy Nawrocki Requirements Eng., Lecture 11 ? J.Nawrocki, Testy akceptacyjne Acceptance Testing