��Dane testowe.
Idz do
Teoria i Praktyka
" Spis tre[ci
" PrzykBadowy rozdziaB
Autor: RadosBaw Smilgin, Anna Piaskowy
ISBN: 978-83-246-2520-8
Format: 158�235, stron: 122
Katalog ksi|ek
" Katalog online
" Zam�w drukowany
katalog
Ksi|ka, kt�rej nie mo|e zabrakn w biblioteczce ambitnego programisty!
Tw�j koszyk Programowanie nierzadko uchodzi za sztuk magiczn, jednak nawet najbardziej pomysBowa
aplikacja oka|e si bezu|yteczna, gdy znajdzie si w niej cho jeden powa|ny bBd powodujcy,
|e dziaBanie programu bdzie niezgodne z oczekiwaniami tw�rc�w i u|ytkownik�w. Dlatego nie
" Dodaj do koszyka
mniej istotn kwesti jest nale|yte sprawdzenie poprawno[ci oprogramowania. Takie dziaBanie
pozwoli nam zyska pewno[, |e otrzymane za jego pomoc wyniki bd w peBni pokrywaBy si
z przyjtymi zaBo|eniami. Zadanie to nie jest wcale tak banalne, jak mogBoby si wydawa,
Cennik i informacje
a zlekcewa|enie etapu test�w mo|e kosztowa znacznie wicej, ni| gotowi jeste[my zapBaci.
Niestety, tematyce tej nie po[wica si zwykle odpowiednio du|o uwagi, co mo|na Batwo
" Zam�w informacje
stwierdzi, przegldajc dostpne na rynku opracowania dotyczce testowania aplikacji.
o nowo[ciach
Chlubnym wyjtkiem jest tu ksi|ka Dane testowe. Teoria i praktyka , w caBo[ci po[wicona
" Zam�w cennik
metodologii przygotowywania i praktycznego wykorzystywania danych testowych, kt�re
zapewniaj maksymaln niezawodno[ oraz bezpieczeDstwo dziaBania program�w. Autor
wprowadza Czytelnika w teoretyczne podstawy definiowania i generowania tego rodzaju danych,
Czytelnia
lecz prezentuje r�wnie| przykBady i mo|liwo[ci zastosowania opisywanych technik w praktyce.
Dziki temu ka|dy programista i tester bdzie m�gB skr�ci czas sprawdzania poprawno[ci
" Fragmenty ksi|ek
dziaBania aplikacji i uniknie szeregu typowych bBd�w oraz zaniechaD, popeBnianych zwykle
online
w tym nierzadko bardzo skomplikowanym procesie.
" Podstawowe typy danych i zwizane z nimi bBdy
" Techniki projektowania test�w
" Definiowanie danych testowych
" Zarzdzanie danymi i rozwizywanie problem�w
" Praktyczne przykBady danych testowych i ich wykorzystanie
" Sposoby pozyskiwania rzeczywistych danych
" Samodzielne generowanie danych testowych
Kontakt
Helion SA
ul. Ko[ciuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
� Helion 1991 2010
Spis tre ci
Wst p .............................................................................................. 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 p�l wymaganych ........................................................................ 13
2.1.2. Walidacja danych .......................................................................................... 14
2.1.3. Zagadnienia zwi zane z wprowadzaniem danych ......................................... 17
2.2. Dane a przypadek testowy ....................................................................................... 19
2.3. Wybrane techniki projektowania przypadk�w testowych ........................................ 20
2.3.1. Techniki programistyczne ............................................................................. 20
2.3.2. Techniki testerskie ........................................................................................ 21
2.3.3. Techniki oparte na do wiadczeniu ................................................................ 25
2.4. Proces definiowania danych .................................................................................... 26
2.5. Testowanie oparte na danych (Data Driven Testing) ............................................... 28
2.6. Zarz dzanie danymi ................................................................................................. 29
2.6.1. Dane testowe w procesie wytwarzania i testowania oprogramowania .......... 29
2.6.2. Dane testowe dla r� nych typ�w test�w ....................................................... 31
2.6.3. Dane testowe dla r� nych typ�w aplikacji .................................................... 32
2.6.4. Dane testowe a testowanie w oparciu o ryzyko ............................................. 33
2.6.5. Zarz dzanie konfiguracj danych .................................................................. 34
2.7. Defekty danych ........................................................................................................ 35
Rozdzia 3. Dane w przyk adach ....................................................................... 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
4 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 kom�rkowego ................................................................................ 49
3.6.1. Analiza .......................................................................................................... 49
3.6.2. Regulacje ....................................................................................................... 49
3.6.3. Przypadki testowe ......................................................................................... 49
3.7. Wykszta cenie .......................................................................................................... 50
3.7.1. Analiza .......................................................................................................... 50
3.7.2. Regulacje ....................................................................................................... 50
3.7.3. Przypadki testowe ......................................................................................... 51
3.8. Pa stwo ................................................................................................................... 51
3.8.1. Analiza .......................................................................................................... 51
3.8.2. Regulacje ....................................................................................................... 52
3.8.3. Przypadki testowe ......................................................................................... 52
3.9. Wojew�dztwo .......................................................................................................... 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 tre ci 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. Has o ....................................................................................................................... 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. Powi zania mi dzy 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 Narz dzia ........................................................................................... 82
A.1.5. Menu Pomoc ................................................................................................ 83
A.1.6. Pasek narz dzi .............................................................................................. 83
A.1.7. Pasek boczny ................................................................................................ 84
A.1.8. Lista element�w 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 narz dzi .............................................................................................. 87
A.2.4. Pasek boczny ................................................................................................ 88
A.2.5. Lista rekord�w bazy danych ......................................................................... 88
A.3. Generacja danych .................................................................................................... 88
A.3.1. Menu ............................................................................................................ 89
A.3.2. Pasek narz dzi .............................................................................................. 90
A.3.3. Lista rezultat�w 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
6 Dane testowe. Teoria i Praktyka
A.5.3. Uaktualnienia ( upgrade ) .......................................................................... 100
A.5.4. Prawa autorskie .......................................................................................... 100
A.5.5. Podw�jne no niki oprogramowania ........................................................... 101
A.5.6. Ograniczenia odpowiedzialno ci za szkod ............................................... 101
A.6. Instalacja oprogramowania ................................................................................... 101
A.7. Deinstalacja oprogramowania ............................................................................... 105
A.8. Tworzenie projektu ............................................................................................... 105
S ownik ........................................................................................ 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
k tem jego wsp� pracy z poprzednio zgromadzonymi danymi. To z kolei ma szcze-
g�lne znaczenie dla test�w przygotowuj cych system do migracji danych ze starego
systemu je eli chcemy mie pewno , e dane skopiowane z poprzedniej wersji
systemu b d poprawnie dzia a y w jego nowej ods onie.
4.1.1. Pozyskiwanie danych rzeczywistych
Dane pozyskuje si poprzez ich skopiowanie z istniej cych system�w, przez wyszu-
kanie ich w sieci lub poprzez zakup na rynku.
4.1.1.1. Kopiowanie danych rzeczywistych
W przypadku kopiowania danych testowych nale y mie na uwadze, e powinny by
one przechowywane z tak sam uwag i poziomem bezpiecze stwa jak w przypadku
zwyk ych danych produkcyjnych. Nag o niony przez media przypadek, kiedy to z serwe-
ra testowego wykop.pl wyciek y nazwy i has a tysi cy u ytkownik�w, wymusi nie
tylko zmiany hase w samym serwisie, ale r�wnie w innych serwisach, takich jak
nasza-klasa.pl czy allegro.pl. Pokazuje to r�wnie , czym mo e si zako czy brak
dba o ci o bezpiecze stwo danych testowych. Popularn metod zabezpieczenia jest
cz ciowe kopiowanie danych, tak aby przypadkowy b d nie spowodowa nieodwra-
calnych skutk�w. Cz sto kopiowany jest jedynie fragment danych, a reszt uzupe nia
70 Dane testowe. Teoria i Praktyka
si ustalonym wcze niej lub pseudolosowym ci giem znak�w. Przyk adowy adres
e-mail jan.kowalski@gmail.com mo na zamieni na jan.kowalski@adresemail.com
lub na nazwa.uzytkownika@gmail.com.
Dzi ki takim technikom Jan Kowalski posiadaj cy konto w Gmail nie b dzie nara ony
na otrzymanie przypadkowo wys anej wiadomo ci z serwera testowego. Przy wydosta-
niu si danych na zewn trz nie b dzie r�wnie powi zania mi dzy nazw u ytkowni-
ka a przypisanym do niego has em. Dzia ania takie maj na celu ochron prywatno ci
u ytkownik�w.
Dane wra liwe dla organizacji mog by dodatkowo maskowane. Dzi ki algorytmom
kryptograficznym mog by szyfrowane w procesie kopiowania z produkcji do baz
danych testowych.
Cz danych nie powinna by w og�le kopiowana z serwer�w produkcyjnych, aby
nie nara a firmy lub jej pracownik�w na trudne sytuacje lub nawet niebezpiecze -
stwo. Wyobra my sobie, e z korporacji wyciekaj dane pracownik�w wraz z ich ad-
resami i zarobkami. Mo e to wywo a zazdro w r�d wsp� pracownik�w w firmie
lub te narazi pracownik�w na zainteresowanie wiatka przest pczego.
Cz sto nie ma konieczno ci kopiowania wszystkich danych, szczeg�lnie je li dane
rzeczywiste mo na atwo wygenerowa . Je li wiemy, e najni sza pensja w firmie
wynosi X, a najwy sza Y, to na potrzeby test�w mo emy wygenerowa losowe
warto ci z przedzia u <�X; Y> i przypisa je do rzeczywistych pracownik�w.
4.1.1.2. Szukanie danych rzeczywistych w internecie
Dla rednio zaawansowanych u ytkownik�w internetu znalezienie danych w sieci nie
powinno by k opotem. Internet to wielki mietnik, w kt�rym mo na znale wszyst-
ko. Wystarczy odpowiednio szuka . Istnieje wiele serwer�w, kt�re przechowuj dane
lub nawet udost pniaj je za darmo. Pozyskuj c dane, nale y jednak mie na wzgl -
dzie prawa autorskie ich tw�rc�w oraz ochron danych osobowych. Istnieje pokusa,
aby kopiowa z internetu, chocia by dost pne tam adresy e-mailowe. Nale y jednak
pami ta , e s to dane, kt�rych bez zgody posiadaczy nie mo na przechowywa ani
tym bardziej przetwarza .
4.1.1.3. Kupowanie danych rzeczywistych
Dane rzeczywiste s przechowywane przez r� ne instytucje i to od nich powinni my
je pozyskiwa . Na rynku istnieje tylko kilka firm, kt�re oferuj takie dane. Komercyjne
podmioty maj prawa do handlu danymi teleadresowymi czy demograficznymi. W za-
le no ci od naszych potrzeb nale y zdefiniowa typ danych, jakie chcemy pozyska ,
i okre li ich dostawc . Cz danych jest chroniona ustaw o ochronie danych oso-
bowych i musimy si upewni , e firmy oferuj ce takie dane maj do tego odpowied-
nie uprawnienia.
Kupuj c t ksi k , zakupili Pa stwo r�wnie bazy danych rzeczywistych typowych
dla Polski. Nie s to wszystkie dane, a jedynie takie, kt�re nie podlegaj ochronie danych
osobowych. S one cz ci do czonego do ksi ki generatora danych testowych.
Rozdzia 4. Dane generowane a dane rzeczywiste 71
4.1.2. Powi zania mi dzy danymi rzeczywistymi
Istniej powi zania pomi dzy niekt�rymi danymi rzeczywistymi. Zale no ci te mog
by silne lub jedynie iluzoryczne (tabela 4.1). Data urodzenia ma wp yw na PESEL,
jaki otrzymuje dana osoba, i jest to przyk ad silnej zale no mi dzy danymi. Z drugiej
strony istnieje mo liwe powi zanie mi dzy danymi nie na poziomie regulacji, a na
poziomie statystyki. Okazuje si np., e ulubione has o w systemach informatycznych
to imi u ytkownika. Mo na wi c powiedzie , e istnieje s abe powi zanie mi dzy
imieniem a has em.
4.2. Generacja danych
W zale no ci od dost pnych narz dzi, aplikacji, form zapisu wymaga czy te tech-
nik budowania interfejsu mo emy zastosowa r� ne rozwi zania w zakresie generacji
danych testowych.
4.2.1. Generacja danych w oparciu o funkcj random
Dane zazwyczaj tworzone s w oparciu o popularn i wyst puj c w wielu j zykach
programowania funkcj random. Umo liwia ona generowanie losowych znak�w i (lub)
warto ci w okre lonych formatach i o odpowiedniej d ugo ci. U ycie tej funkcji sta o
si ju podstaw wielu narz dzi do budowania danych testowych.
Dost pne w Polsce rozwi zania do produkcji danych nie s w 100% adekwatne do lo-
kalnych warunk�w. W wi kszo ci przypadk�w funkcjonuj wewn trzne rozwi zania
firmowe, pisane przez programist�w lub tester�w.
W internecie mo na znale setki rozwi za s u cych do generowania danych w forma-
tach typowych dla kraj�w anglosaskich. Popularnym przyk adem takiego rozwi zania jest
skrypt wyprodukowany przez Black Sheep Web Software o nazwie GenerateData.
Skrypt w wersji spolszczonej dost pny jest na stronie http://generatordanych.testerzy.pl.
Przewag tego rozwi zania nad innymi jest jego dost pno z poziomu przegl darki.
Najpopularniejsze funkcje generowania danych testowych to:
Generacja plik�w wynikowych w r� nych formatach, takich jak HTML, Excel,
XML, CSV, SQL.
Generacja r� nych typ�w danych:
Dane ludzi: nazwa u ytkownika, adres, numer telefonu, adres e-mail itp.
Dane tekstowe: losowe s owa.
72 Dane testowe. Teoria i Praktyka
Tabela 4.1.
Relacje mi dzy danymi rzeczywistymi
Rozdzia 4. Dane generowane a dane rzeczywiste 73
Dane definiowane przez u ytkownik�w:
dane przyrostowe,
zakres numer�w,
ci gi alfanumeryczne.
Mo liwo zapisu w asnych format�w danych itd.
Generacja umo liwia produkcj zr� nicowanych danych testowych. Przy du ej ilo ci
czasu mo e to pozwoli na obci enie aplikacji r� nego typu danymi.
Przy wytwarzaniu danych testowych istnieje powa ne ryzyko redundancji test�w. Losowy
dob�r danych nie daje nam pewno ci, e aplikacja zosta a sprawdzona przez ka d
wa n informacj wej ciow . Nie wiemy, czy zosta a pokryta ka da klasa r�wnowa -
no ci i ka da granica. Tracimy tylko czas na testowanie za pomoc danych tego sa-
mego lub pokrewnego typu.
4.2.2. Generacja danych z kodu
Niekt�re aplikacje generuj dane testowe automatycznie w oparciu o kod r�d owy.
Analiza statyczna kodu umo liwia odpowiednim skryptom okre lenie, jakie warto ci
mo e przyjmowa zmienna. Przyk adowo w j zyku C zadeklarowanie zmiennej jako
signed char powoduje, e mo e ona przyj warto od 128 do 127. Dzi ki temu
znamy warto ci graniczne dla zmiennej i mo emy w atwy spos�b pokry wszystkie
klasy r�wnowa no ci oraz sprawdzi dzia anie funkcji na granicach.
S ab stron generacji z kodu jest to, e nie jeste my w stanie automatycznie wykry ,
czy programista dobra poprawny typ zmiennej dla okre lonej warto ci.
Przyk ad
Ciekawe rozwi zanie oferuje firma Parasoft, kt�ra w swoim JTest generuje testy kompo-
nentowe w oparciu o monitorowanie pracy aplikacji. Dzi ki temu rejestrowane s dane
u yte 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 dotycz ce
pracy aplikacji, zapisane s w j zyku maszynowym lub te zamodelowane w spos�b
umo liwiaj cy przetwarzanie ich przez komputer. Istniej r�wnie aplikacje umo li-
wiaj ce okre lenie na bazie takiej dokumentacji wytycznych do danych testowych lub
nawet bezpo rednio je generuj ce. J zykiem modelowania, kt�ry idealnie si do tego
nadaje, jest np. UML (ang. Unified Modelling Language). Sk ada si on z szeregu dia-
gram�w, za pomoc kt�rych mo na zapisywa mi dzy innymi zachowanie aplikacji
i przep yw 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 u ywana przede wszystkim do generowania oczekiwanego rezultatu, ale
u ywa si jej r�wnie do generacji danych testowych. Wyrocznia jest oprogramo-
waniem lub je li wolimy sprz tem, kt�ry jest w stanie wygenerowa na wyj ciu
poprawny, oczekiwany rezultat. W praktyce wyroczniami s zazwyczaj poprzednie wersje
oprogramowania lub te specjalnie spreparowane uk ady logiczne (rysunek 4.1).
Rysunek 4.1. rodowisko pracy wyroczni testowej
Na wej ciu wyroczni i testowanego systemu podaje si te same informacje i sprawdza
si je na wyj ciu. Je li informacje s identyczne, to komparator klasyfikuje je jako
poprawne zachowanie testowanej aplikacji. W przypadku r� nicy mi dzy wyj ciem
wyroczni i testowanego systemu komparator klasyfikuje je jako potencjalny b d.
Gdy u ywamy wyroczni do generowania danych testowych, zak adamy, e system
ten dzia a dok adnie tak, jak powinien dzia a tworzony przez nas system. Podaj c na
wej ciu wyroczni zestaw danych, otrzymujemy na wyj ciu ich akceptacj lub te ko-
munikaty o b dach. W zale no ci od informacji zwrotnych z aplikacji dane klasyfi-
kujemy jako pozytywne lub negatywne. Mo emy je r�wnie podzieli na klasy r�wno-
wa no ci odpowiadaj ce wyj ciowemu sygna owi z aplikacji.
Rozdzia 4. Dane generowane a dane rzeczywiste 75
4.3. Generowane czy rzeczywiste?
Firma Grid-Tools przeprowadzi a badania maj ce na celu wykazanie, jakie dane testowe
daj najwi ksze pokrycie w testach. Przy tym samym zestawie przypadk�w testowych
przebadano kilka zestaw�w danych testowych i w rezultacie otrzymano nast puj ce
wyniki pokrycia:
Dane produkcyjne 18% pokrycia.
Bazy danych testowych 21% pokrycia.
Bazy danych testowych w narz dziu QTP Load Runner 24% pokrycia.
Okaza o si , e przydatno standardowych danych jest (delikatnie m�wi c) nieza-
dowalaj ca. Dane te s zazwyczaj nadmiarowe i zawieraj du liczb powtarzaj cych
si przypadk�w. Potrzebne s wi c generatory danych dopasowanych do konkretnego
projektu lub te odpowiednio spreparowane dane.
W teorii dane rzeczywiste s podzbiorem danych generowanych. Istnieje niewielkie
prawdopodobie stwo wygenerowania danych rzeczywistych przy wystarczaj co du ej
liczbie pr�b. W sko czonym czasie, jaki mamy na przetestowanie oprogramowania, nie
mo emy sobie pozwoli na ryzyko test�w w oparciu jedynie o dane generowane. Tabela
4.2 prezentuje r� nice i podobie stwa mi dzy omawianymi danymi.
Tabela 4.2. Dane rzeczywiste i generowane r� nice i podobie stwa
Rzeczywiste Generowane
Dane wyst puj ce w realnej pracy z aplikacj Losowe, przypadkowe, niesystematyczne
Zbi�r sko czony istnieje sko czona ilo Zbi�r niesko czony istnieje mo liwo
danych testowych niesko czonej generacji danych testowych
Dane pozytywne Dane pozytywne oraz dane negatywne
Wysoka skuteczno walidowania wymaga Wysoka skuteczno walidowania zabezpiecze
klienta w miejscach wprowadzania danych przez u ytkownika
Podstawa test�w funkcjonalnych Podstawa test�w funkcjonalnych,
i wydajno ciowych wydajno ciowych i u yteczno ciowych
Dane u ywane zazwyczaj w testach Dane u ywane zazwyczaj w testach
akceptacyjnych aplikacji eksploracyjnych aplikacji
W praktyce testy warto rozpocz od danych rzeczywistych, gdy pomagaj one wy-
kry podstawowe b dy funkcjonalno ci. Wi kszo danych wprowadzanych przez
u ytkownik�w to w a nie dane rzeczywiste. Warto je zastosowa , poniewa gwarantuj
najwy sze prawdopodobie stwo wykrycia defekt�w, kt�re mog ujawni si u ytkowni-
kom. Ma tu zastosowanie zasada Pareto, zgodnie z kt�r 80% u ytkownik�w u ywa
20% funkcjonalno ci aplikacji. Oznacza to, e wi kszo z nich b dzie wykonywa a
jedynie podstawowe operacje z aplikacj i nie b dzie zmusza a jej do popis�w ekwi-
librystycznych. W u yciu b d przede wszystkim te dane, kt�re s powszechne i po-
pularne.
76 Dane testowe. Teoria i Praktyka
Du e znaczenie ma r�wnie grupa odbiorc�w. Aplikacje pisane dla urz d�w zazwyczaj
b d traktowane z niewiar i dystansem. Dane b d wprowadzane do systemu techni-
k jednego lub dw�ch palc�w i z uwag , na jak taka technika pozwala. Obserwacje
u ytkownik�w pokazuj , e b dy aplikacji traktuj oni jako swoj pomy k i nie szukaj
alternatywnych rozwi za . Dobitnie pokazuje to przyk ad pewnej urz dniczki z ZUS-u,
kt�ra, obs uguj c aplikacj naliczaj c emerytury, znalaz a b d zwi zany z nietypowym
przypadkiem jej u ycia. W uproszczeniu polega o to na nieuwzgl dnieniu w regu ach
kalkulowania emerytur wytycznych dotycz cych pewnej w skiej grupy emeryt�w.
Pomimo e b d zosta znaleziony, nie zosta zg oszony do dzia u informatycznego.
Wyp aty by y kalkulowane r cznie, poza systemem informatycznym. Ten typ aplikacji
i rodzaj odbiorc�w wymusza przede wszystkim testy z danymi rzeczywistymi w wielu
mo liwych kombinacjach.
Z kolei oprogramowanie dedykowane specjalistom-informatykom b dzie na pewno
dok adnie sprawdzone. Pola aplikacji zostan z du ym prawdopodobie stwem zweryfi-
kowane pod k tem wszelkich mo liwych kombinacji znak�w, cyfr i liczb. W naturze
do wiadczonych u ytkownik�w le y konstruktywny pesymizm po czony z ch ci
udowodnienia, e aplikacja nie dzia a tak, jak powinna. Wida to chocia by w gorli-
wo ci, z jak punktowany jest Microsoft za ka dy b d w swoim flagowym produkcie
Windowsie. Do cigni cie fantazji u ytkownik�w wymaga w tym przypadku gene-
rowania danych testowych. Jedynie maszyna jest bowiem w stanie przygotowa dane,
kt�re mog zasymulowa ich inwencj .
Wyszukiwarka
Podobne podstrony:
11 06 2 MIĘDZY TEORIĄ A PRAKTYKĄW R Glover Teoria i praktyka hunyZarzadzanie jakoscia teoria i praktyka zajakoTeoria a praktyka procesu wtryskiwania tworzywPrzemow do nich Teoria i praktyka wystapien publicznych obamawięcej podobnych podstron