plik


�� 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 huny
Zarzadzanie jakoscia teoria i praktyka zajako
Teoria a praktyka procesu wtryskiwania tworzyw
Przemow do nich Teoria i praktyka wystapien publicznych obama

więcej podobnych podstron