Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Testy akceptacyjne Analiza systemów informatycznych Wykład 9

Podobne prezentacje


Prezentacja na temat: "Testy akceptacyjne Analiza systemów informatycznych Wykład 9"— Zapis prezentacji:

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


Pobierz ppt "Testy akceptacyjne Analiza systemów informatycznych Wykład 9"

Podobne prezentacje


Reklamy Google