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