You are on page 1of 14

Id do

Spis treci
Przykadowy rozdzia
Katalog ksiek

Dane testowe.
Teoria i Praktyka
Autor: Radosaw Smilgin, Anna Piaskowy
ISBN: 978-83-246-2520-8
Format: 158235, stron: 122

Katalog online
Zamw drukowany
katalog
Ksika, ktrej nie moe zabrakn w biblioteczce ambitnego programisty!

Twj koszyk
Dodaj do koszyka
Cennik i informacje
Zamw informacje
o nowociach
Zamw cennik
Czytelnia
Fragmenty ksiek
online

Kontakt
Helion SA
ul. Kociuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
Helion 19912010

Programowanie nierzadko uchodzi za sztuk magiczn, jednak nawet najbardziej pomysowa


aplikacja okae si bezuyteczna, gdy znajdzie si w niej cho jeden powany bd powodujcy,
e dziaanie programu bdzie niezgodne z oczekiwaniami twrcw i uytkownikw. Dlatego nie
mniej istotn kwesti jest naleyte sprawdzenie poprawnoci oprogramowania. Takie dziaanie
pozwoli nam zyska pewno, e otrzymane za jego pomoc wyniki bd w peni pokryway si
z przyjtymi zaoeniami. Zadanie to nie jest wcale tak banalne, jak mogoby si wydawa,
a zlekcewaenie etapu testw moe kosztowa znacznie wicej, ni gotowi jestemy zapaci.
Niestety, tematyce tej nie powica si zwykle odpowiednio duo uwagi, co mona atwo
stwierdzi, przegldajc dostpne na rynku opracowania dotyczce testowania aplikacji.
Chlubnym wyjtkiem jest tu ksika Dane testowe. Teoria i praktyka, w caoci powicona
metodologii przygotowywania i praktycznego wykorzystywania danych testowych, ktre
zapewniaj maksymaln niezawodno oraz bezpieczestwo dziaania programw. Autor
wprowadza Czytelnika w teoretyczne podstawy definiowania i generowania tego rodzaju danych,
lecz prezentuje rwnie przykady i moliwoci zastosowania opisywanych technik w praktyce.
Dziki temu kady programista i tester bdzie mg skrci czas sprawdzania poprawnoci
dziaania aplikacji i uniknie szeregu typowych bdw oraz zaniecha, popenianych zwykle
w tym nierzadko bardzo skomplikowanym procesie.
Podstawowe typy danych i zwizane z nimi bdy
Techniki projektowania testw
Definiowanie danych testowych
Zarzdzanie danymi i rozwizywanie problemw
Praktyczne przykady danych testowych i ich wykorzystanie
Sposoby pozyskiwania rzeczywistych danych
Samodzielne generowanie danych testowych

Spis treci
Wstp .............................................................................................. 7
Rozdzia 1. Komu potrzebne s dane testowe? ................................................... 9
Rozdzia 2. Testowanie i dane .......................................................................... 13
2.1. Dane wymagane oraz niewymagane ........................................................................ 13
2.1.1. Oznaczenie pl wymaganych ........................................................................ 13
2.1.2. Walidacja danych .......................................................................................... 14
2.1.3. Zagadnienia zwizane z wprowadzaniem danych ......................................... 17
2.2. Dane a przypadek testowy ....................................................................................... 19
2.3. Wybrane techniki projektowania przypadkw testowych ........................................ 20
2.3.1. Techniki programistyczne ............................................................................. 20
2.3.2. Techniki testerskie ........................................................................................ 21
2.3.3. Techniki oparte na dowiadczeniu ................................................................ 25
2.4. Proces definiowania danych .................................................................................... 26
2.5. Testowanie oparte na danych (Data Driven Testing) ............................................... 28
2.6. Zarzdzanie danymi ................................................................................................. 29
2.6.1. Dane testowe w procesie wytwarzania i testowania oprogramowania .......... 29
2.6.2. Dane testowe dla rnych typw testw ....................................................... 31
2.6.3. Dane testowe dla rnych typw aplikacji .................................................... 32
2.6.4. Dane testowe a testowanie w oparciu o ryzyko ............................................. 33
2.6.5. Zarzdzanie konfiguracj danych .................................................................. 34
2.7. Defekty danych ........................................................................................................ 35

Rozdzia 3. Dane w przykadach ....................................................................... 37


3.1. Imi .......................................................................................................................... 37
3.1.1. Analiza .......................................................................................................... 37
3.1.2. Regulacje prawne .......................................................................................... 38
3.1.3. Przypadki testowe ......................................................................................... 39
3.2. Nazwisko ................................................................................................................. 40
3.2.1. Analiza .......................................................................................................... 40
3.2.2. Regulacje prawne .......................................................................................... 41
3.2.3. Przypadki testowe ......................................................................................... 42
3.3. Domeny internetowe ................................................................................................ 42
3.3.1. Analiza .......................................................................................................... 42
3.3.2. Regulacje ....................................................................................................... 43
3.3.3. Przypadki testowe ......................................................................................... 43

Dane testowe. Teoria i Praktyka


3.4. Polski adres poczty elektronicznej ........................................................................... 45
3.4.1. Analiza .......................................................................................................... 45
3.4.2. Regulacje ....................................................................................................... 45
3.4.3. Przypadki testowe ......................................................................................... 46
3.5. Numer telefonu stacjonarnego ................................................................................. 47
3.5.1. Analiza .......................................................................................................... 47
3.5.2. Regulacje ....................................................................................................... 48
3.5.3. Przypadki testowe ......................................................................................... 48
3.6. Numer telefonu komrkowego ................................................................................ 49
3.6.1. Analiza .......................................................................................................... 49
3.6.2. Regulacje ....................................................................................................... 49
3.6.3. Przypadki testowe ......................................................................................... 49
3.7. Wyksztacenie .......................................................................................................... 50
3.7.1. Analiza .......................................................................................................... 50
3.7.2. Regulacje ....................................................................................................... 50
3.7.3. Przypadki testowe ......................................................................................... 51
3.8. Pastwo ................................................................................................................... 51
3.8.1. Analiza .......................................................................................................... 51
3.8.2. Regulacje ....................................................................................................... 52
3.8.3. Przypadki testowe ......................................................................................... 52
3.9. Wojewdztwo .......................................................................................................... 52
3.9.1. Analiza .......................................................................................................... 52
3.9.2. Regulacje ....................................................................................................... 53
3.9.3. Przypadki testowe ......................................................................................... 53
3.10. Powiat ...................................................................................................................... 53
3.10.1. Analiza ........................................................................................................ 53
3.10.2. Regulacje ..................................................................................................... 54
3.10.3. Przypadki testowe ....................................................................................... 54
3.11. Gmina ...................................................................................................................... 55
3.11.1. Analiza ........................................................................................................ 55
3.11.2. Regulacje ..................................................................................................... 55
3.11.3. Przypadki testowe ....................................................................................... 55
3.12. Miejscowo ............................................................................................................ 56
3.12.1. Analiza ........................................................................................................ 56
3.12.2. Regulacje ..................................................................................................... 56
3.12.3. Przypadki testowe ....................................................................................... 56
3.13. Ulica ........................................................................................................................ 57
3.13.1. Analiza ........................................................................................................ 57
3.13.2. Regulacje ..................................................................................................... 57
3.13.3. Przypadki testowe ....................................................................................... 57
3.14. Kod pocztowy .......................................................................................................... 58
3.14.1. Analiza ........................................................................................................ 58
3.14.2. Regulacje ..................................................................................................... 58
3.14.3. Przypadki testowe ....................................................................................... 58
3.15. Data ......................................................................................................................... 59
3.15.1. Analiza ........................................................................................................ 59
3.15.2. Regulacje ..................................................................................................... 59
3.15.3. Przypadki testowe ....................................................................................... 59
3.16. PESEL ..................................................................................................................... 60
3.16.1. Analiza ........................................................................................................ 60
3.16.2. Regulacje ..................................................................................................... 61
3.16.3. Przypadki testowe ....................................................................................... 61

Spis treci

5
3.17. NIP .......................................................................................................................... 62
3.17.1. Analiza ........................................................................................................ 62
3.17.2. Regulacje ..................................................................................................... 63
3.17.3. Przypadki testowe ....................................................................................... 63
3.18. REGON ................................................................................................................... 64
3.18.1. Analiza ........................................................................................................ 64
3.18.2. Regulacje ..................................................................................................... 64
3.18.3. Przypadki testowe ....................................................................................... 64
3.19. IBAN ....................................................................................................................... 66
3.19.1. Analiza ........................................................................................................ 66
3.19.2. Regulacje ..................................................................................................... 66
3.19.3. Przypadki testowe ....................................................................................... 66
3.20. Haso ....................................................................................................................... 67
3.20.1. Analiza ........................................................................................................ 67
3.20.2. Regulacje ..................................................................................................... 67
3.20.3. Przypadki testowe ....................................................................................... 67

Rozdzia 4. Dane generowane a dane rzeczywiste ............................................. 69


4.1. Dane rzeczywiste ..................................................................................................... 69
4.1.1. Pozyskiwanie danych rzeczywistych ............................................................. 69
4.1.2. Powizania midzy danymi rzeczywistymi ................................................... 71
4.2. Generacja danych .................................................................................................... 71
4.2.1. Generacja danych w oparciu o funkcj random ............................................. 71
4.2.2. Generacja danych z kodu .............................................................................. 73
4.2.3. Generacja danych z dokumentacji ................................................................. 73
4.2.4. Generacja danych w oparciu o wyroczni ..................................................... 74
4.3. Generowane czy rzeczywiste? ................................................................................. 75

Rozdzia 5. Podsumowanie ............................................................................... 77


Dodatek A Generator danych testowych .......................................................... 79
A.1. Interfejs aplikacji .................................................................................................... 79
A.1.2. Menu Plik ..................................................................................................... 80
A.1.3. Menu Projekt ................................................................................................ 81
A.1.4. Menu Narzdzia ........................................................................................... 82
A.1.5. Menu Pomoc ................................................................................................ 83
A.1.6. Pasek narzdzi .............................................................................................. 83
A.1.7. Pasek boczny ................................................................................................ 84
A.1.8. Lista elementw projektu ............................................................................. 84
A.2. Edytor baz danych .................................................................................................. 85
A.2.1. Menu Baza danych ....................................................................................... 86
A.2.2. Menu Rekordy .............................................................................................. 87
A.2.3. Pasek narzdzi .............................................................................................. 87
A.2.4. Pasek boczny ................................................................................................ 88
A.2.5. Lista rekordw bazy danych ......................................................................... 88
A.3. Generacja danych .................................................................................................... 88
A.3.1. Menu ............................................................................................................ 89
A.3.2. Pasek narzdzi .............................................................................................. 90
A.3.3. Lista rezultatw generowania ....................................................................... 90
A.4. Generowanie danych .............................................................................................. 90
A.4.1. Tryby generowania danych .......................................................................... 91
A.4.2. Typy danych ................................................................................................. 92
A.5. Umowa licencyjna .................................................................................................. 98
A.5.1. Udzielenie licencji ........................................................................................ 99
A.5.2. Opis innych uprawnie i ogranicze ............................................................ 99

Dane testowe. Teoria i Praktyka


A.5.3. Uaktualnienia (upgrade) .......................................................................... 100
A.5.4. Prawa autorskie .......................................................................................... 100
A.5.5. Podwjne noniki oprogramowania ........................................................... 101
A.5.6. Ograniczenia odpowiedzialnoci za szkod ............................................... 101
A.6. Instalacja oprogramowania ................................................................................... 101
A.7. Deinstalacja oprogramowania ............................................................................... 105
A.8. Tworzenie projektu ............................................................................................... 105

Sownik ........................................................................................ 113


Bibliografia .................................................................................. 115
Skorowidz ................................................................................... 117

Rozdzia 4.

Dane generowane
a dane rzeczywiste
4.1. Dane rzeczywiste
Najskuteczniejsze jako pozytywne dane testowe okazuj si dane rzeczywiste. Nic tak
nie sprawdzi systemu jak prawdziwe przypadki rodem z produkcji. I tak pierwsza
rzecz, jak wykonujemy podczas testowania, to sprawdzenie nowego systemu pod
ktem jego wsppracy z poprzednio zgromadzonymi danymi. To z kolei ma szczeglne znaczenie dla testw przygotowujcych system do migracji danych ze starego
systemu jeeli chcemy mie pewno , e dane skopiowane z poprzedniej wersji
systemu bd poprawnie dziaay w jego nowej odsonie.

4.1.1. Pozyskiwanie danych rzeczywistych


Dane pozyskuje si poprzez ich skopiowanie z istniejcych systemw, przez wyszukanie ich w sieci lub poprzez zakup na rynku.

4.1.1.1. Kopiowanie danych rzeczywistych


W przypadku kopiowania danych testowych naley mie na uwadze, e powinny by
one przechowywane z tak sam uwag i poziomem bezpieczestwa jak w przypadku
zwykych danych produkcyjnych. Nagoniony przez media przypadek, kiedy to z serwera testowego wykop.pl wycieky nazwy i hasa tysicy uytkownikw, wymusi nie
tylko zmiany hase w samym serwisie, ale rwnie w innych serwisach, takich jak
nasza-klasa.pl czy allegro.pl. Pokazuje to rwnie, czym moe si zakoczy brak
dbaoci o bezpieczestwo danych testowych. Popularn metod zabezpieczenia jest
czciowe kopiowanie danych, tak aby przypadkowy bd nie spowodowa nieodwracalnych skutkw. Czsto kopiowany jest jedynie fragment danych, a reszt uzupenia

70

Dane testowe. Teoria i Praktyka

si ustalonym wczeniej lub pseudolosowym cigiem znakw. Przykadowy adres


e-mail jan.kowalski@gmail.com mona zamieni na jan.kowalski@adresemail.com
lub na nazwa.uzytkownika@gmail.com.
Dziki takim technikom Jan Kowalski posiadajcy konto w Gmail nie bdzie naraony
na otrzymanie przypadkowo wysanej wiadomoci z serwera testowego. Przy wydostaniu si danych na zewntrz nie bdzie rwnie powizania midzy nazw uytkownika a przypisanym do niego hasem. Dziaania takie maj na celu ochron prywatnoci
uytkownikw.
Dane wraliwe dla organizacji mog by dodatkowo maskowane. Dziki algorytmom
kryptograficznym mog by szyfrowane w procesie kopiowania z produkcji do baz
danych testowych.
Cz danych nie powinna by w ogle kopiowana z serwerw produkcyjnych, aby
nie naraa firmy lub jej pracownikw na trudne sytuacje lub nawet niebezpieczestwo. Wyobramy sobie, e z korporacji wyciekaj dane pracownikw wraz z ich adresami i zarobkami. Moe to wywoa zazdro wrd wsppracownikw w firmie
lub te narazi pracownikw na zainteresowanie wiatka przestpczego.
Czsto nie ma koniecznoci kopiowania wszystkich danych, szczeglnie jeli dane
rzeczywiste mona atwo wygenerowa . Jeli wiemy, e najnisza pensja w firmie
wynosi X, a najwysza Y, to na potrzeby testw moemy wygenerowa losowe
wartoci z przedziau <X; Y> i przypisa je do rzeczywistych pracownikw.

4.1.1.2. Szukanie danych rzeczywistych w internecie


Dla rednio zaawansowanych uytkownikw internetu znalezienie danych w sieci nie
powinno by kopotem. Internet to wielki mietnik, w ktrym mona znale wszystko. Wystarczy odpowiednio szuka . Istnieje wiele serwerw, ktre przechowuj dane
lub nawet udostpniaj je za darmo. Pozyskujc dane, naley jednak mie na wzgldzie prawa autorskie ich twrcw oraz ochron danych osobowych. Istnieje pokusa,
aby kopiowa z internetu, chociaby dostpne tam adresy e-mailowe. Naley jednak
pamita , e s to dane, ktrych bez zgody posiadaczy nie mona przechowywa ani
tym bardziej przetwarza .

4.1.1.3. Kupowanie danych rzeczywistych


Dane rzeczywiste s przechowywane przez rne instytucje i to od nich powinnimy
je pozyskiwa . Na rynku istnieje tylko kilka firm, ktre oferuj takie dane. Komercyjne
podmioty maj prawa do handlu danymi teleadresowymi czy demograficznymi. W zalenoci od naszych potrzeb naley zdefiniowa typ danych, jakie chcemy pozyska ,
i okreli ich dostawc. Cz danych jest chroniona ustaw o ochronie danych osobowych i musimy si upewni , e firmy oferujce takie dane maj do tego odpowiednie uprawnienia.
Kupujc t ksik, zakupili Pastwo rwnie bazy danych rzeczywistych typowych
dla Polski. Nie s to wszystkie dane, a jedynie takie, ktre nie podlegaj ochronie danych
osobowych. S one czci doczonego do ksiki generatora danych testowych.

Rozdzia 4. i Dane generowane a dane rzeczywiste

71

4.1.2. Powizania midzy danymi rzeczywistymi


Istniej powizania pomidzy niektrymi danymi rzeczywistymi. Zalenoci te mog
by silne lub jedynie iluzoryczne (tabela 4.1). Data urodzenia ma wpyw na PESEL,
jaki otrzymuje dana osoba, i jest to przykad silnej zaleno midzy danymi. Z drugiej
strony istnieje moliwe powizanie midzy danymi nie na poziomie regulacji, a na
poziomie statystyki. Okazuje si np., e ulubione haso w systemach informatycznych
to imi uytkownika. Mona wic powiedzie , e istnieje sabe powizanie midzy
imieniem a hasem.

4.2. Generacja danych


W zalenoci od dostpnych narzdzi, aplikacji, form zapisu wymaga czy te technik budowania interfejsu moemy zastosowa rne rozwizania w zakresie generacji
danych testowych.

4.2.1. Generacja danych w oparciu o funkcj random


Dane zazwyczaj tworzone s w oparciu o popularn i wystpujc w wielu jzykach
programowania funkcj random. Umoliwia ona generowanie losowych znakw i (lub)
wartoci w okrelonych formatach i o odpowiedniej dugoci. Uycie tej funkcji stao
si ju podstaw wielu narzdzi do budowania danych testowych.
Dostpne w Polsce rozwizania do produkcji danych nie s w 100% adekwatne do lokalnych warunkw. W wikszoci przypadkw funkcjonuj wewntrzne rozwizania
firmowe, pisane przez programistw lub testerw.
W internecie mona znale setki rozwiza sucych do generowania danych w formatach typowych dla krajw anglosaskich. Popularnym przykadem takiego rozwizania jest
skrypt wyprodukowany przez Black Sheep Web Software o nazwie GenerateData.
Skrypt w wersji spolszczonej dostpny jest na stronie http://generatordanych.testerzy.pl.
Przewag tego rozwizania nad innymi jest jego dostpno z poziomu przegldarki.
Najpopularniejsze funkcje generowania danych testowych to:
Generacja plikw wynikowych w rnych formatach, takich jak HTML, Excel,

XML, CSV, SQL.


Generacja rnych typw danych:
Dane ludzi: nazwa uytkownika, adres, numer telefonu, adres e-mail itp.
Dane tekstowe: losowe sowa.

Tabela 4.1. Relacje midzy danymi rzeczywistymi

72
Dane testowe. Teoria i Praktyka

Rozdzia 4. i Dane generowane a dane rzeczywiste

73

Dane definiowane przez uytkownikw:


dane przyrostowe,
zakres numerw,
cigi alfanumeryczne.
Moliwo zapisu wasnych formatw danych itd.

Generacja umoliwia produkcj zrnicowanych danych testowych. Przy duej iloci


czasu moe to pozwoli na obcienie aplikacji rnego typu danymi.
Przy wytwarzaniu danych testowych istnieje powane ryzyko redundancji testw. Losowy
dobr danych nie daje nam pewnoci, e aplikacja zostaa sprawdzona przez kad
wan informacj wejciow. Nie wiemy, czy zostaa pokryta kada klasa rwnowanoci i kada granica. Tracimy tylko czas na testowanie za pomoc danych tego samego lub pokrewnego typu.

4.2.2. Generacja danych z kodu


Niektre aplikacje generuj dane testowe automatycznie w oparciu o kod rdowy.
Analiza statyczna kodu umoliwia odpowiednim skryptom okrelenie, jakie wartoci
moe przyjmowa zmienna. Przykadowo w jzyku C zadeklarowanie zmiennej jako
signed char powoduje, e moe ona przyj warto od 128 do 127. Dziki temu
znamy wartoci graniczne dla zmiennej i moemy w atwy sposb pokry wszystkie
klasy rwnowanoci oraz sprawdzi dziaanie funkcji na granicach.
Sab stron generacji z kodu jest to, e nie jestemy w stanie automatycznie wykry ,
czy programista dobra poprawny typ zmiennej dla okrelonej wartoci.
Przykad
Ciekawe rozwizanie oferuje firma Parasoft, ktra w swoim JTest generuje testy komponentowe w oparciu o monitorowanie pracy aplikacji. Dziki temu rejestrowane s dane
uyte podczas pracy z aplikacj i tworzy si z nich bazy danych testowych.

4.2.3. Generacja danych z dokumentacji


Zdarza si, e dokumenty projektowe, takie jak wymagania czy wytyczne dotyczce
pracy aplikacji, zapisane s w jzyku maszynowym lub te zamodelowane w sposb
umoliwiajcy przetwarzanie ich przez komputer. Istniej rwnie aplikacje umoliwiajce okrelenie na bazie takiej dokumentacji wytycznych do danych testowych lub
nawet bezporednio je generujce. Jzykiem modelowania, ktry idealnie si do tego
nadaje, jest np. UML (ang. Unified Modelling Language). Skada si on z szeregu diagramw, za pomoc ktrych mona zapisywa midzy innymi zachowanie aplikacji
i przepyw danych przez ni.

74

Dane testowe. Teoria i Praktyka

4.2.4. Generacja danych w oparciu o wyroczni


W testowaniu znana jest technika generowania danych w oparciu o wyroczni testow.
Jest to metoda uywana przede wszystkim do generowania oczekiwanego rezultatu, ale
uywa si jej rwnie do generacji danych testowych. Wyrocznia jest oprogramowaniem lub jeli wolimy sprztem, ktry jest w stanie wygenerowa na wyjciu
poprawny, oczekiwany rezultat. W praktyce wyroczniami s zazwyczaj poprzednie wersje
oprogramowania lub te specjalnie spreparowane ukady logiczne (rysunek 4.1).

Rysunek 4.1.
rodowisko pracy wyroczni testowej

Na wejciu wyroczni i testowanego systemu podaje si te same informacje i sprawdza


si je na wyjciu. Jeli informacje s identyczne, to komparator klasyfikuje je jako
poprawne zachowanie testowanej aplikacji. W przypadku rnicy midzy wyjciem
wyroczni i testowanego systemu komparator klasyfikuje je jako potencjalny bd.
Gdy uywamy wyroczni do generowania danych testowych, zakadamy, e system
ten dziaa dokadnie tak, jak powinien dziaa tworzony przez nas system. Podajc na
wejciu wyroczni zestaw danych, otrzymujemy na wyjciu ich akceptacj lub te komunikaty o bdach. W zalenoci od informacji zwrotnych z aplikacji dane klasyfikujemy jako pozytywne lub negatywne. Moemy je rwnie podzieli na klasy rwnowanoci odpowiadajce wyjciowemu sygnaowi z aplikacji.

Rozdzia 4. i Dane generowane a dane rzeczywiste

75

4.3. Generowane czy rzeczywiste?


Firma Grid-Tools przeprowadzia badania majce na celu wykazanie, jakie dane testowe
daj najwiksze pokrycie w testach. Przy tym samym zestawie przypadkw testowych
przebadano kilka zestaww danych testowych i w rezultacie otrzymano nastpujce
wyniki pokrycia:
Dane produkcyjne 18% pokrycia.
Bazy danych testowych 21% pokrycia.
Bazy danych testowych w narzdziu QTP Load Runner 24% pokrycia.

Okazao si, e przydatno standardowych danych jest (delikatnie mwic) niezadowalajca. Dane te s zazwyczaj nadmiarowe i zawieraj du liczb powtarzajcych
si przypadkw. Potrzebne s wic generatory danych dopasowanych do konkretnego
projektu lub te odpowiednio spreparowane dane.
W teorii dane rzeczywiste s podzbiorem danych generowanych. Istnieje niewielkie
prawdopodobiestwo wygenerowania danych rzeczywistych przy wystarczajco duej
liczbie prb. W skoczonym czasie, jaki mamy na przetestowanie oprogramowania, nie
moemy sobie pozwoli na ryzyko testw w oparciu jedynie o dane generowane. Tabela
4.2 prezentuje rnice i podobiestwa midzy omawianymi danymi.
Tabela 4.2. Dane rzeczywiste i generowane rnice i podobiestwa
Rzeczywiste

Generowane

Dane wystpujce w realnej pracy z aplikacj

Losowe, przypadkowe, niesystematyczne

Zbir skoczony istnieje skoczona ilo


danych testowych

Zbir nieskoczony istnieje moliwo


nieskoczonej generacji danych testowych

Dane pozytywne

Dane pozytywne oraz dane negatywne

Wysoka skuteczno walidowania wymaga


klienta

Wysoka skuteczno walidowania zabezpiecze


w miejscach wprowadzania danych przez uytkownika

Podstawa testw funkcjonalnych


i wydajnociowych

Podstawa testw funkcjonalnych,


wydajnociowych i uytecznociowych

Dane uywane zazwyczaj w testach


akceptacyjnych aplikacji

Dane uywane zazwyczaj w testach


eksploracyjnych aplikacji

W praktyce testy warto rozpocz od danych rzeczywistych, gdy pomagaj one wykry podstawowe bdy funkcjonalnoci. Wikszo danych wprowadzanych przez
uytkownikw to wanie dane rzeczywiste. Warto je zastosowa , poniewa gwarantuj
najwysze prawdopodobiestwo wykrycia defektw, ktre mog ujawni si uytkownikom. Ma tu zastosowanie zasada Pareto, zgodnie z ktr 80% uytkownikw uywa
20% funkcjonalnoci aplikacji. Oznacza to, e wikszo z nich bdzie wykonywaa
jedynie podstawowe operacje z aplikacj i nie bdzie zmuszaa jej do popisw ekwilibrystycznych. W uyciu bd przede wszystkim te dane, ktre s powszechne i popularne.

76

Dane testowe. Teoria i Praktyka

Due znaczenie ma rwnie grupa odbiorcw. Aplikacje pisane dla urzdw zazwyczaj
bd traktowane z niewiar i dystansem. Dane bd wprowadzane do systemu technik jednego lub dwch palcw i z uwag, na jak taka technika pozwala. Obserwacje
uytkownikw pokazuj, e bdy aplikacji traktuj oni jako swoj pomyk i nie szukaj
alternatywnych rozwiza. Dobitnie pokazuje to przykad pewnej urzdniczki z ZUS-u,
ktra, obsugujc aplikacj naliczajc emerytury, znalaza bd zwizany z nietypowym
przypadkiem jej uycia. W uproszczeniu polegao to na nieuwzgldnieniu w reguach
kalkulowania emerytur wytycznych dotyczcych pewnej wskiej grupy emerytw.
Pomimo e bd zosta znaleziony, nie zosta zgoszony do dziau informatycznego.
Wypaty byy kalkulowane rcznie, poza systemem informatycznym. Ten typ aplikacji
i rodzaj odbiorcw wymusza przede wszystkim testy z danymi rzeczywistymi w wielu
moliwych kombinacjach.
Z kolei oprogramowanie dedykowane specjalistom-informatykom bdzie na pewno
dokadnie sprawdzone. Pola aplikacji zostan z duym prawdopodobiestwem zweryfikowane pod ktem wszelkich moliwych kombinacji znakw, cyfr i liczb. W naturze
dowiadczonych uytkownikw ley konstruktywny pesymizm poczony z chci
udowodnienia, e aplikacja nie dziaa tak, jak powinna. Wida to chociaby w gorliwoci, z jak punktowany jest Microsoft za kady bd w swoim flagowym produkcie
Windowsie. Docignicie fantazji uytkownikw wymaga w tym przypadku generowania danych testowych. Jedynie maszyna jest bowiem w stanie przygotowa dane,
ktre mog zasymulowa ich inwencj.

You might also like