Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJustyn Bazylewicz Został zmieniony 11 lat temu
1
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 Copyright, 2005 Jerzy R. Nawrocki Acceptance Testing
2
Model V Specyfikacja wymagań Testy akceptacyjne Projekt
Testy integracyjne Kodowanie Testy jednostkowe J.Nawrocki, Testy akceptacyjne
3
Model V Specyfikacja wymagań Testy akceptacyjne Projekt
Klient Specyfikacja wymagań Testy akceptacyjne Projekt Testy integracyjne Kodowanie Testy jednostkowe J.Nawrocki, Testy akceptacyjne
4
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
5
Programowanie Ekstremalne
Testy akceptacyjne jako miara postępów J.Nawrocki, Testy akceptacyjne
6
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
7
Rational Robot – narzędzie automatyzacji testowania
Nagrywanie Odtwarzanie Dysk Robot Dysk J.Nawrocki, Testy akceptacyjne
8
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
9
Testy ręczne czy automatyczne?
Pracochłonność automatyzacji testów: 2 – 10 razy tyle co ręczne wykonanie testów (!) J.Nawrocki, Testy akceptacyjne
10
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
11
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 " "WindowTag= Parent" J.Nawrocki, Testy akceptacyjne
12
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
13
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
14
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
15
Alternatywy dla Rational Robota
httpUnit Opiera się na jUnit Dla programistów! J.Nawrocki, Testy akceptacyjne
16
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
17
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
18
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
19
Skrypty sterowane danymi
Additional automated regression test cases Software under test Key automated regression test cases J.Nawrocki, Testy akceptacyjne
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
30
Księgarnia elektroniczna
J.Nawrocki, Testy akceptacyjne
31
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
32
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
33
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
34
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
35
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
36
Budowanie przypadków testowych
int LiczbaCyfr(int n) [1-9] [10-99] [ ] ... [.. –1] 1, 9 10, 99 100, 999, 255, 256 215 Analiza wartości granicznych -1 Klasy równoważności J.Nawrocki, Testy akceptacyjne
37
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
38
Automatyczne wykonywanie testów
Skuteczność Ekonomiczność Modyfikowalność Reprezentatywność J.Nawrocki, Testy akceptacyjne
39
Automatyczne wykonywanie testów
Skuteczność Ekonomiczność Modyfikowalność Reprezentatywność J.Nawrocki, Testy akceptacyjne
40
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
41
? Pytania? J.Nawrocki, Testy akceptacyjne (c) Jerzy Nawrocki
Requirements Eng., Lecture 11 ? J.Nawrocki, Testy akceptacyjne Acceptance Testing
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.