Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Testy akceptacyjne Copyright, 2005 Jerzy R. Nawrocki Analiza systemów informatycznych.

Podobne prezentacje


Prezentacja na temat: "Testy akceptacyjne Copyright, 2005 Jerzy R. Nawrocki Analiza systemów informatycznych."— Zapis prezentacji:

1 Testy akceptacyjne Copyright, 2005 Jerzy R. Nawrocki Analiza systemów informatycznych Wykład 9

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

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

4 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

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

6 J.Nawrocki, Testy akceptacyjne Rodzaje testów Sum=0; for (i=0; i

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

8 J.Nawrocki, Testy akceptacyjne Na czym polega automatyzacja testowania? To proste! 1. Kup egzekutora testów. 2. Nagraj testy. 3. Odtwarzaj je, kiedykolwiek będziesz miał ochotę. 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

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

10 J.Nawrocki, Testy akceptacyjne Rational Robot i testy przed kodowaniem 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.

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

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

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

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

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

16 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

17 J.Nawrocki, Testy akceptacyjne Skrypty sterowane danymi 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 countries, Sweden, USA, countries2 countries, France, Germany, test2 countries, Austria, Italy, test3 Dane wejściowe Control script

18 J.Nawrocki, Testy akceptacyjne Bardziej skomplikowany skrypt sterowany danymi 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 41 Norway 2 7 countries2 Control script

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

20 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. ScribbleOpen countries AddToList Sweden USA SaveAs countries2 Test file For each TEST_ID OpenFile TEST_ID For each record in test file Read KEYWORD Call KEYWORD EndFor CloseFile TEST_ID EndFor Control script ScribbleOpen... AddToList... SaveAs... Supporting scripts

21 J.Nawrocki, Testy akceptacyjne Skrypty współdzielone 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)

22 J.Nawrocki, Testy akceptacyjne 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?

23 J.Nawrocki, Testy akceptacyjne Czynności testowania Zidentyfikuj warunki testowania (co testować) i priorytety Zaprojektuj scenariusze testowe (jak testować) Zbuduj przypadki testowe (skrypty, dane etc.) Przeprowadź testy Porównaj faktyczne wyniki z oczekiwanymi

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

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

26 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. StepInputExp.outCond. 1 Create a new order for any one standard order, setting quantity to 100 Order confirmation message displayed VB10 VB23 2 Confirm the orderPurchase order printed VB10 3 Print a new orders reportNew orders report printed showing just this one new order VB10 VB23 4 Cancel the orderPurchase order cancellation notice printed V8

27 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: 1.Przeczytaj co masz zrobić 2.Wprowadź dane 3.Sprawdź, czy dobrze działa

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

29 J.Nawrocki, Testy akceptacyjne Czynności testowania Zidentyfikuj warunki testowania (co testować) i priorytety Zaprojektuj scenariusze testowe (jak testować) Zbuduj przypadki testowe (skrypty, dane etc.) Przeprowadź testy Porównaj faktyczne wyniki z oczekiwanymi

30 J.Nawrocki, Testy akceptacyjne Księgarnia elektroniczna

31 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...

32 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...

33 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 książkę

34 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

35 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...

36 J.Nawrocki, Testy akceptacyjne Budowanie przypadków testowych int LiczbaCyfr(int n) 0 [1-9] [10-99] [ ]... [.. –1] 1, 9 10, , 999, 255,

37 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)

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

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

40 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ć

41 J.Nawrocki, Testy akceptacyjne Pytania?


Pobierz ppt "Testy akceptacyjne Copyright, 2005 Jerzy R. Nawrocki Analiza systemów informatycznych."

Podobne prezentacje


Reklamy Google