Wszelkie prawa zastrzeżone. Nieautoryzowane ...68 Testowanie oprogramowania. Podröcznik dla...

18

Transcript of Wszelkie prawa zastrzeżone. Nieautoryzowane ...68 Testowanie oprogramowania. Podröcznik dla...

  • Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

    Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

    Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

    Redaktor prowadzący: Ewelina BurskaProjekt okładki: Studio Gravite/Olsztyn Obarek, Pokoński, Pazdrijowski, Zaprucki

    Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

    Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/szteopMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

    ISBN: 978-83-246-9308-5

    Copyright © Helion 2014

    Printed in Poland.

    • Kup książkę• Poleć książkę • Oceń książkę

    • Księgarnia internetowa• Lubię to! » Nasza społeczność

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteophttp://helion.pl/ro/szteophttp://helion.plhttp://ebookpoint.pl/r/4CAKF

  • Spis tre ciPrzedmowa ......................................................................................................... 5

    Wst p ................................................................................................................. 7

    Rozdzia 1. Ogólna teoria testowania ................................................................. 111.1. Techniki testowania ................................................................................................. 131.2. Miara jako ci oprogramowania ............................................................................... 171.3. rodowisko testowe i produkcyjne .......................................................................... 231.4. Replikacja b dów ................................................................................................... 281.5. U mnie b d nie wyst puje ...................................................................................... 301.6. Symulatory aplikacji oraz generatory danych .......................................................... 311.7. Dokumentowanie testów ......................................................................................... 341.8. Kontrola wersji oprogramowania ............................................................................ 351.9. Obs uga zg osze ..................................................................................................... 391.10. Testowanie obs ugi wyj tków w kodzie ................................................................ 431.11. Narz dzia wsparcia pracy testera ........................................................................... 511.12. Presja czasu ........................................................................................................... 521.13. Profil profesjonalnego testera ................................................................................ 541.14. Testowanie w oknie czasu ..................................................................................... 581.15. Jak wygl da realizacja projektu w praktyce? ......................................................... 601.16. Testowanie w cyklu ycia oprogramowania .......................................................... 62

    Rozdzia 2. Poziomy wykonywania testów .......................................................... 652.1. Testy modu owe ...................................................................................................... 662.2. Testy integracyjne .................................................................................................... 672.3. Testy systemowe ...................................................................................................... 712.4. Testy akceptacyjne .................................................................................................. 72

    Rozdzia 3. Typy testów ..................................................................................... 733.1. Testy funkcjonalne .................................................................................................. 733.2. Testy niefunkcjonalne .............................................................................................. 74

    3.2.1. Testy wydajno ci ............................................................................................ 743.2.2. Testy bezpiecze stwa aplikacji ...................................................................... 913.2.3. Testy przeno no ci kodu — testy instalacji .................................................. 1173.2.4. Testy ergonomii systemu informatycznego .................................................. 118

    3.3. Testy regresywne ................................................................................................... 125

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 4 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    Rozdzia 4. Wprowadzenie do projektowania testów ......................................... 1294.1. Projektowanie testu w oparciu o technik czarnej skrzynki ................................... 131

    4.1.1. Warto ci brzegowe ....................................................................................... 1314.1.2. Przej cia pomi dzy stanami .......................................................................... 1344.1.3. Projektowanie testu w oparciu o przypadki u ycia ....................................... 135

    4.2. Projektowanie testu w oparciu o technik bia ej skrzynki ..................................... 1364.3. Projektowanie testu w oparciu o do wiadczenie testera ........................................ 1404.4. Przypadki testowe w uj ciu praktycznym ............................................................... 140

    Rozdzia 5. Psychologiczne aspekty procesu testowania ................................... 149

    Rozdzia 6. Syndrom zniech cenia testami ....................................................... 153

    Rozdzia 7. Testowanie us ug sieciowych ......................................................... 1657.1. Narz dzie SoapUI — klient us ugi sieciowej ........................................................ 1657.2. Symulator serwera us ug sieciowych — SoapUI Mock Services .......................... 1717.3. Monitor TCP — Apache TCPMon ........................................................................ 177

    Rozdzia 8. Wprowadzenie do automatyzacji testów .......................................... 183

    Dodatek A Generowanie sumy kontrolnej ......................................................... 187

    Dodatek B Membrane SOAP Monitor ............................................................... 189

    Dodatek C Wireshark — analizator ruchu sieciowego ....................................... 195

    Dodatek D Generowanie danych testowych ...................................................... 197

    O autorze ........................................................................................................ 207

    Skorowidz ..................................................................................................... 209

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • Rozdzia 2.

    Poziomy wykonywaniatestów

    Proces wytwarzania oprogramowania podzielony jest na fazy, w których wykonujesi specyficzne dla ka dego z etapów testy.

    Testy dzieli si na poziomy:

    testy modu owe (jednostkowe),

    testy integracyjne wewn trzne,

    testy systemowe,

    testy integracyjne zewn trzne,

    testy akceptacyjne (odbiorcze).

    Rysunek 2.1 przedstawia piramid poziomu testów. Testy wykonywane s zgodniez oddoln interpretacj infografiki, tj. od testów modu owych a po testy akceptacyjne.

    Rysunek 2.1.Piramidapoziomu testów

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 66 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    2.1. Testy modu oweTesty modu owe wykonuje si na etapie wytwarzania kodu. Uczestnikami tego ro-dzaju testów s najcz ciej programi ci, którzy w fazie implementacji poddaj weryfika-cji w asny kod. Wspomniane testy musz odnosi si do niewielkich i ci le wyizolowa-nych fragmentów kodu. Polegaj one na wykonywaniu wybranego fragmentu instrukcjiw celu zweryfikowania, czy realizuje ona swoj funkcj zgodnie z za o eniami. Pro-gramista przygotowa metod , która konwertuje numer NRB (Numer Rachunku Ban-kowego) na IBAN (ang. International Bank Account Number — pol. Mi dzynarodowyNumer Rachunku Bankowego). Wspomniana metoda b dzie wielokrotnie u ywanaw ró nych miejscach systemu. Test modu owy polega b dzie na wywo ywaniu owejmetody z podaniem jako parametru wej ciowego numeru NRB i weryfikacji otrzyma-nego wyniku. Wywo anie metody mo e odbywa si z poziomu rodowiska deweloper-skiego bez zastosowania GUI. Na tym koniec. Testy modu owe powinny odnosi sido ma ych podmiotów, a ich wynik powinien by zale ny od innych elementów, którepotencjalnie maj znale si w gotowej aplikacji. Testy modu owe nie powinny wnikaw szczegó y procesu biznesowego. Analizie i ocenie podlega jedynie ma y i wyizolowa-ny fragment kodu. W przypadku kiedy nabierzemy zaufania do testowanych frag-mentów kodu, mo emy rozpocz sk adanie ich do postaci gotowego produktu lubwi kszego komponentu.

    Testy modu owe wykonuje si zwykle w rodowisku deweloperskim z dost pem dokodu ród owego. Wymaga to od testera — o ile nie jest programist — umiej tno ciczytania i wykonywania kodu oraz pisania w asnych skryptów (fragmentów kodu). By-wa, i przetestowanie pewnego modu u wymaga zaanga owania elementów pobocznych,np. symulatora us ugi sieciowej.

    Dlaczego nale y wykonywa testy modu owe?B dy wykryte we wczesnej fazie produkcji oprogramowania kosztuj znacznie mniejani eli poprawa oraz usuwanie ich skutków w kolejnych fazach wytwarzania lubu ytkowania produkcyjnego aplikacji. Wykryte problemy usuwane s natychmiast,przez co minimalizuje si ryzyko propagacji negatywnego wp ywu wadliwego koduna pozosta e modu y np. poprzez odziedziczenie wady. B dy wykryte w tej fazie zwyklenie znajduj odzwierciedlenia w postaci formalnego zg oszenia, co przyspiesza udo-skonalanie kodu i nie niesie ze sob ryzyka krytycznych uwag osób trzecich. Jest tobardzo bezpieczna i efektywna forma testów w asnego kodu. Kompilator nie weryfikujeintencji programisty. Zatem pomimo i kod zosta skompilowany, nie mo na go uzna zapoprawny bez przeprowadzenia testu jednostkowego. Od o enie procesu testowaniado momentu z o enia w ca o wszystkich elementów niesie ze sob znaczne ryzyko, inie uda si uruchomi aplikacji lub pewnych funkcjonalno ci za pierwszym razem.B dy, które zostan ujawnione, mog mie przyczyn g boko ukryt w kodzie. Prze-szukiwanie „rozdmuchanych” róde w celu wyizolowania przyczyny problemu b dzieczasoch onne i zapewne irytuj ce. Testy modu owe pozwalaj na wyeliminowanie ty-powych problemów w podstawowej cie ce obs ugi systemu. Im mniej problemówzostanie przeniesionych z fazy implementacji do fazy formalnych testów, tym szybciejgotowy produkt zostanie przekazany do odbiorcy, a jego jako wzro nie.

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • Rozdzia 2. Poziomy wykonywania testów 67

    2.2. Testy integracyjneU podstaw testów integracyjnych le y opieranie jednego procesu biznesowego na wieluró nych systemach, podsystemach i aplikacjach. Heterogeniczno ostatecznie ofero-wanego u ytkownikowi ko cowemu rozwi zania wymusza przeprowadzenie pe negotestu biznesu w oparciu o scalone rodowisko. Aby by o to mo liwe, uprzednio nale yzweryfikowa interakcj pomi dzy poszczególnymi modu ami. Zwie czenie sukce-sem owych prac stanowi podstaw do traktowania wszystkich modu ów jako jedensystem. Niezachwiane przekonanie o spójno ci systemu otwiera drog do pe nych testówfunkcjonalnych w ca o ciowym uj ciu obs ugi biznesu.

    Testy integracyjne to szczególny rodzaj dzia a podejmowanych w celu zbadania ko-operacji oraz wzajemnego oddzia ywania dwóch lub wi cej modu ów systemu. Przezdesygnat „modu ” nale y rozumie zupe nie autonomiczny produkt lub fragment kodu,który ostatecznie jest ci le spojony z g ówn architektur systemu.

    Testy integracyjne maj wykaza :

    czy modu y poprawnie wspó pracuj , tj. czy nie wyst pi y przeszkody naturytechnologicznej oraz czy wzajemnie wiadczone us ugi spe niaj oczekiwania(logika);

    jak zachowuj si poszczególne elementy w sytuacji awarii, b dówlub niestabilnej pracy w przypadku dysfunkcji jednego z nich (wzajemneoddzia ywanie);

    czy kojarzone wzajemnie elementy realizuj za o ony proces biznesowy(logika biznesu);

    czy infrastruktura techniczna zapewnia optymalne warunki pracydla skomplikowanego systemu (wielomodu owego);

    czy nie ma luk w logice biznesu, tj. czy nie ujawni y si problemy i/lub potrzeby,które nie zosta y przewidziane na etapie projektowania rozwi zania.

    Prace integracyjne rozpoczynaj si ju w momencie czenia kodu dwóch lub wi cejmodu ów tej samej aplikacji (integracja wewn trzna). Owe komponenty mog byprzygotowane przez zupe nie niezale nych programistów, a finalnie podlegaj integra-cji. Nadmienione elementy mog w mniejszym lub wi kszym stopniu ulega integra-cji. Rol testera jest zweryfikowanie relacji pomi dzy nimi. Zdarza si , i programistatkwi w przekonaniu, e integrowane elementy maj ladowy wp yw na prac pozo-sta ych fragmentów kodu. Niemniej jednak w uj ciu ca o ciowym b d w jednym z nichpowa nie rzutuje na prac ca ego systemu. Iluzoryczne przekonanie o nik ej zale no-ci lub wr cz przezroczysto ci kodu integrowanego z dotychczasowymi funkcjonal-

    no ciami aplikacji bywa zgubne w skutkach. Takowe prace nale y podejmowa jaknajbli ej kodu, tj. na etapie prac programistycznych i testów wewn trznych. Rysunek 2.2przedstawia szkolny schemat blokowy modu ów jednej aplikacji. Programista X przy-gotowa blok B. Chc c wykona jego testy, musi zintegrowa go z blokiem A lub za-symulowa jego dzia anie. Programista Y wykona blok A, który z za o enia ma pra-cowa z blokami B i C. Modu owe testy integracyjne polegaj na czeniu ze sobfragmentów kodu, które wchodz w bezpo redni interakcj . Programista lub tester

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 68 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    Rysunek 2.2.Schemat wzajemnegooddzia ywania blokówjednej aplikacji

    uruchomi blok A i sprawdzi, czy to, co „wysy a” do elementu C, jest poprawne. Inte-gruj c bloki A, B i C, weryfikujemy ich wzajemn kooperacj , mimo i nie realizujone pe nej funkcjonalno ci z punktu widzenia u ytkownika ko cowego.

    Kolejnym momentem w procesie produkcji oprogramowania, w którym wykonywanes testy integracyjne, jest zestawianie odr bnych modu ów na etapie weryfikacji funkcjo-nalnej. Jest to arcyciekawa sytuacja z uwagi na to, i kod odpowiadaj cy za odr bnefazy obs ugi biznesu mo e by zrealizowany przez zupe nie niezale ne podmioty.Zwykle jako podstawa do przygotowania „wtyczki” dla obcego systemu musi wystar-czy dokumentacja dostarczona przez potencjalnego integratora, tj. klienta, który b -dzie „spina wszystko w ca o ”. Nadmieniony materia mo e zawiera definicj pli-ków wymiany danych (np. TXT, XML, CSV itp.), opis us ugi sieciowej, np. WSDL,schemat udost pnionych obiektów na bazie danych w postaci perspektyw, przyk adywywo ania upublicznionych procedur etc. Niezale nie od wybranego rozwi zania do-st p do niego bywa znacznie utrudniony lub wr cz niemo liwy. Oczywi cie owa sy-tuacja ju na etapie kodowania stanowi powa ne perturbacje, lecz prawdziwe trudno-ci ujawniaj si dopiero w momencie testów jako ciowych.

    Rozwa my hipotetyczn sytuacj w oparciu o rysunek 2.3. Pe ny proces biznesowywymaga zaanga owania trzech aplikacji. Testy integracyjne b d odbywa y si na stykuproduktu C i B oraz B i A. Biznes (funkcjonalno ) natomiast b dzie weryfikowanyprzy u yciu wszystkich bloków A, B oraz C. Aplikacja C stanowi graficzny interfejsu ytkownika, posiadaj cy nik logik biznesow , a zarazem bardzo rozbudowanemo liwo ci prezentacji i obs ugi danych. G ówny mechanizm realizacji zadanego bizne-su spoczywa na programie B. Tym niemniej mog wyst pi sytuacje, w których podsys-tem B b dzie musia posi kowa si wsparciem programu A. Reasumuj c, w realizacjlogiki mog by zaanga owane bloki B oraz A. Natomiast aplikacja C jest inicjatoremprzetwarzania, a zarazem konsumentem wyniku, tj. prezentacji rezultatu. Systemyo z o onej architekturze najcz ciej poddawane s realnej próbie dopiero w rodowi-sku testowym zamawiaj cego. Odbiorca oprogramowania ma przewag nad wykonaw-cami poszczególnych komponentów w postaci nieskr powanego dost pu do wszyst-kich elementów. Drug kwesti jest pos ugiwanie si danymi bardzo zbli onymi dorzeczywistych np. poprzez w czenie w proces testowania kopii bazy z produkcji. Po-wy sze zabiegi urealniaj testy funkcjonalne (pe nego biznesu) poprzez pos ugiwaniesi niemal e faktycznymi danymi zgromadzonymi w du ym wolumenie. Obs uga pe nego

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • Rozdzia 2. Poziomy wykonywania testów 69

    Rysunek 2.3.Schemat interakcjitrzech niezale nychaplikacji

    procesu biznesowego w fazie prac integracyjnych lub ostatecznych testów odbior-czych mo e ujawni luki w opracowanej koncepcji. Zdarza si , i w wyniku testówzidentyfikowane s problemy, które nie by y przewidziane w projekcie. Owe problemymog prze o y si na zmian rozwi zania. Dok adniej rzecz ujmuj c: na jego dopra-cowanie, na przyk ad poprzez dopisanie drobnych funkcjonalno ci, modyfikacj za o ewst pnych etc. Testy integracyjne stanowi pierwszy etap weryfikacji, czy przyj terozwi zanie oraz jego implementacja zaspakajaj potrzeby biznesowe (w ca o ciowymuj ciu procesu).

    Pierwszym, a zarazem najmniej k opotliwym scenariuszem jest integrowanie modu ów(ca ych programów), które wykonane s przez jednego producenta. W teorii wskaza-ne testy powinny by wykonane bez wi kszych problemów, a ewentualne przeszkodyw postaci b dów w implementacji lub niejasno ci w dokumentacji rozwi zane wewn trzorganizacji. Praktyka dowidzi, i niestety równie ten scenariusz naznaczony jestpewnymi zak óceniami w trakcie realizacji projektu testowego. Wynika to g ówniez organizacji pracy oraz nie do ko ca jasnej i zdrowej rywalizacji pomi dzy zespo amiwewn trz korporacji. Wskaza em korporacj , gdy poj cie klienta zewn trznego orazwewn trznego jest szeroko stosowane w du ych przedsi biorstwach. Poj cie samo w so-bie nie kryje niczego z ego, aczkolwiek zauwa alne s problemy w relacjach pomi dzyzespo ami wynikaj ce z zawi ej, a bywa, e i naci ganej interpretacji tego terminu.Generalnie idealizuj c, mo na przyj , i funkcjonuj ce procedury formalne w pe nizabezpieczaj potrzeb kooperacji ró nych zespo ów w celu osi gni cia ostatecznegorezultatu.

    Nieco mniej przyjemn sytuacj jest nieposiadanie jednego lub wi cej komponentów„na w asno ”, kiedy s one udost pnione grzeczno ciowo przez klienta. Jest to sto-sunkowo dobre rozwi zanie, aczkolwiek uzale nione od dobrej woli wspó pracy. Pewn

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 70 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    trudno ci dla procesu integracji mog by ewentualne niedoci gni cia w kodzie podrugiej stronie, ale w a nie po to si wykonuje testy integracji, aby owe problemywyeliminowa . Generalnie „my” czy partner po przeciwnej stronie musimy czeka naewentualne modyfikacje kodu w celu kontynuowania procesu integracji. Niemniejjednak jest to dobra droga. Wymaga ona zaanga owania zasobów klienta jako po red-nika, lecz uzyskujemy warto dodan w postaci wczesnego rozminowania pola. Bujnawyobra nia podpowiada, co mo e si sta , je eli podejmiemy prób zintegrowaniadwóch programów bez wcze niejszego „docierania” ich razem.

    Najtrudniejsz sytuacj jest konieczno wyprodukowania modu u klienckiego do obce-go systemu bez dost pu do tego zasobu. Zaiste gros trudno ci ujawni si w momen-cie uruchamiania kodu i testów funkcjonalnych. Du o zale y od roli, jak dla testowanejfunkcjonalno ci pe ni zewn trzny system. Bywa, i brak dost pu do drugiego pro-gramu w minimalnym stopniu ograniczy testy. Bywa równie , i zupe nie je unie-mo liwi. Za ó my, i testowana funkcjonalno realizuje jaki biznes zdefiniowanyw 10 logicznych krokach, gdzie kroki 2., 5. oraz 8. wymagaj po czenia z us ug sie-ciow w celu pobrania/przeliczenia jakich danych. W takich okoliczno ciach przete-stujemy tylko krok nr 1. Drugi ju wymaga interakcji z web service (WS). W tymmomencie wyklarowa a si potrzeba za lepienia wywo ywanej metody WS przez naszaplikacj , tak aby mog a ona przej do kroku nr 3 itd. Trzeba wyprodukowa symu-lator systemu zewn trznego. Temat za lepiania da do zewn trznych aplikacji b dzieomówiony szerzej w dalszej cz ci ksi ki.

    Do typowych problemów (b dów) wykrywanych w procesie integracji nale y zaliczy :

    Niespójno wysy anego schematu XML z oczekiwaniami klienta lub serweranp. w wyniku przygotowania klienta WS w oparciu o nieaktualny opis us ugi(WSDL) lub b d w kodzie.

    Tre danych przekazywana w pliku wymiany danych zawiera znaki specjalne,na które negatywnie reaguje druga aplikacja. Przyk adowa nazwa jakiejorganizacji, fundacji mo e zawiera cudzys ów, który eksportowany jestdo tre ci pola. Dokumentacja opisuj ca pliki wymiany mo e nie opisywaszczegó ów lub wyj tków.

    Zderzenie dwóch technologii lub nawet ró nych wersji tych samych serwerówmo e powodowa problemy natury integracyjnej.

    Bywaj sytuacje, i w jakich okoliczno ciach jedna ze stron b dzie przekracza aczas odpowiedzi na danie (ang. time out).

    Wyobrazi mo na sobie sytuacj , e obrót danymi odbywa si za pomoc plikuwymiany danych, w którym koniec linii ustalony jest na znak LF, a w wynikupo redniego dzia ania jakiego programiku, który kopiuje plik z miejsca A do B,zajdzie niejawna konwersja znaku ko ca linii na CRLF. Próba odczytania takiegozbioru zako czy si niepowodzeniem. Czy taki scenariusz mo na przewidziew testach funkcjonalnych? W praktyce jedna aplikacja wygeneruje poprawnie LF,a druga poprawnie odrzuci znak CRLF. Gdzie jest b d?! Mo e w jakim„starym” programiku, którego nie brali my pod uwag na etapie testów?

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • Rozdzia 2. Poziomy wykonywania testów 71

    Testy integracyjne stanowi dobr okazj do masowego wczytywania plików,wymiany danych przez funkcje WS itp. Bywa, i b dy, np. przepe nieniebufora, przekroczenie zakresu zmiennej itp., ujawniaj si dopiero przy„ogromnej” ilo ci danych.

    Integracja systemu ujawnia wszelkie ró nice w rozumieniu funkcji, jakie mape ni ka dy z elementów, w tym po której stronie maj by obs ugiwaneokre lone wyj tki.

    Luki w opracowanej koncepcji rozwi zania, na podstawie której by a wykonanaimplementacja.

    Wiele innych problemów…

    2.3. Testy systemowePrzedmiotem testów systemowych jest ca a aplikacja lub jej samodzielny fragment,który znajduje odwzorowanie w projekcie, tj. wchodzi w zakres projektu. Najodpo-wiedniejsz form testów funkcjonalnych jest zastosowanie techniki czarnoskrzynko-wej. Niemniej jednak technika bia ej skrzynki z powodzeniem mo e by wykorzystywa-na jako uzupe nienie g ównego w tku testów. Kluczem do sukcesu jest prowadzenietestów w rodowisku testowym jak najbardziej zbli onym do produkcyjnych warun-ków funkcjonowania aplikacji. Weryfikacja aplikacji w warunkach mo liwie wiernieodwzorowuj cych docelowe rodowisko pracy zmniejsza ryzyko przeoczenia b dówi problemów, które mog wynika z ró nic w specyfice obu rodowisk. Wi cej infor-macji na temat rodowiska testów znajduje si w rozdziale po wi conym owej tema-tyce w niniejszej ksi ce.

    Równie istotne jest to, kto wykonuje testy systemowe. Najlepiej by oby, aby czyni toniezale ny zespó testerów, tzn. taki, który zachowuje du autonomiczno wobeczespo u programistycznego w aspekcie rodowiska testów oraz zasobów ludzkich.

    Testy systemowe (ang. system testing) winny ujmowa wymagania zarówno niefunk-cjonalne, jak i funkcjonalne. Jest to faza, w której ocenia si globalnie produkt beznadmiernego nacisku na zg bianie wewn trznej architektury i instrukcji kodu aplikacji.

    Testy systemowe odnosz si do aplikacji w uj ciu ca o ciowym. Oznacza to, i zo-bowi zani jeste my do weryfikacji wszystkich funkcji wraz z analiz korelacji po-mi dzy nimi. Za ó my, i otrzymali my do testów aplikacj lub nowy modu , któryadministruje fakturami VAT. Testy systemowe wymagaj zweryfikowania wszystkichcie ek obs ugi owego dokumentu, m.in. wystawienia FV, korekty, wydruku, filtro-

    wania, generowania do pliku PDF, akceptacji etc.

    Tego rodzaju testy mog ujawni potrzeb zastosowania za lepek lub symulatorówzewn trznych systemów, z którymi nasza aplikacja b dzie wchodzi we wspó zale -no lub wyst powa jedynie jako klient.

    Specyfika i zakres testów systemowych stawia ten rodzaj weryfikacji w roli bardzodobrego kandydata do automatyzacji czynno ci (testów).

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 72 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    Testy systemowe to:

    testy funkcjonalne,

    testy wydajno ciowe,

    testy regresywne,

    testy ergonomii,

    testy instalacji,

    testy bezpiecze stwa.

    2.4. Testy akceptacyjneTesty odbiorcze wykonywane s bezpo rednio przez zamawiaj cego w oparciu o w asnezasoby lub poprzez zlecenie prac niezale nemu zespo owi testerskiemu. Testy te majpotwierdzi zgodno weryfikowanego produktu z zapisami w umowie i obowi zuj -cymi przepisami prawa. Celem testów akceptacyjnych jest weryfikacja i potwierdzenie,czy wszystkie zapisy w kontrakcie zosta y zrealizowane w sposób zaspokajaj cy ocze-kiwania. Pozytywne zamkni cie fazy testów odbiorczych stanowi podstaw do finan-sowego rozliczenia kontraktu. Testy akceptacyjne winny odnosi si do formalniespisanych kryteriów odbioru oprogramowania. Wspomniane kryteria zwykle uzgad-niane s na etapie negocjacji kontraktu. Nadmieniona powy ej sytuacja odnosi si dooprogramowania pisanego na zamówienie.

    Nieco inaczej kreuje si sytuacja dla aplikacji „pude kowych”. Oprogramowaniez pó ki mo e by poddane dwóm typom testów akceptacyjnych: alfa i beta. Testy alfawykonywane s wewn trz organizacji, która wyprodukowa a oprogramowanie, aczkol-wiek weryfikacji dokonuje niezale ny zespó , tj. zespó , który nie bra udzia u w pro-cesie wytwarzania. Betatesty realizowane s poza organizacj wykonuj c kod przezgrup u ytkowników docelowych. Firmy produkuj ce oprogramowanie pude kowe sywo zainteresowane uzyskaniem informacji zwrotnej (potwierdzeniem) o wysokiej

    jako ci w asnego produktu przed oficjalnym wprowadzeniem go na rynek.

    Niezale nie od typu oprogramowania (pude kowe, na zamówienie) winno ono równieby poddane testom akceptacyjnym w aspekcie obowi zuj cych przepisów prawa.

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • SkorowidzA

    administracja rodowiskiem testów, 27adres URL, 109adresowanie IP, 180algorytm SHA, 188algorytmy walidacyjne, 33analizator ruchu sieciowego, 195API, Application Programming Interface, 76architektura wielowarstwowa, 36arkusze kalkulacyjne, 52atak

    Blind SQL-Injection, 102, 103SQL-Injection, 96, 99, 104typu XSS, 93

    autodiagnoza, 161automatyzacja testów, 183

    Bbaza danych, 76bezpiecze stwo, 92Blind SQL-Injection, 102, 103blokowanie spamu, 92b d, 11

    etap symulacji, 29potencjalne przyczyny, 30replikacja, 29

    b dna obs uga wyj tku, 44b dy

    blokuj ce, 12krytyczne, 12projektowe, 145sterownika JDBC, 77wewn trzne, 42w koncepcji, 145w operacji mno enia, 141w procesie integracji, 70zewn trzne, 40

    Ccertyfikat ISTQB, 58cykl ycia oprogramowania, 62czas wykonania zapytania, 83, 85

    Ddebugowanie, 12dokumentacja, 13dokumentowanie testów, 34do wiadczenie testera, 140drzewo

    MockService, 174wyników, 83

    Eedytory tekstu, 52emulatory, 52ergonomia

    komunikatów walidacyjnych, 121przycisków akcji, 122systemów informatycznych, 122

    Ffiltrowanie danych, 97formularz do adowania telefonu, 94, 107funkcja zwracaj ca wersj , 36

    Ggenerator

    danych, 32danych testowych, 197, 200

    CSV, 201, 203SQL, 201XML, 201

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 210 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    generatorcertyfikatów SSL, 51MockService, 173sumy kontrolnej, 51, 187

    GIT, 35graf przep ywu sterowania, 138, 139GUI, 15GUI dgMaster, 205

    IICT, Information and Communication

    Technologies, 92IEEE, 13implementacja monitora TCP, 178informacja o znaku ko ca linii, 187informacje

    o nazwie serwera, 113o systemie, 111o wersji serwera, 113zwrotne, 18

    instrukcjaIF, 15instrukcja INSERT INTO, 80

    intensywno testów, 53interfejs u ytkownika, 15interpretacja projektu, 149

    Jjako oprogramowania, 17, 20, 63, 163JDBC, 80j zyk

    WADL, 166WSDL, 166

    Kklauzula UNION, 99, 100klient

    MockService, 176us ugi sieciowej, 165

    kod JavaScript, 95kodowanie znaków, 52konfiguracja

    nas uchu, 178nowej instrukcji, 85po czenia JDBC, 79programu Fiddler, 114TCPMon, 180testu dla aplikacji, 87zapytania SQL, 80

    dania, 88

    kontrolajako ci, 46, 52wersji oprogramowania, 35

    krok po redni, 109kryterium ilo ciowe, 17

    Llogowanie b dów, 45, 50

    MManifest Zwinnego Wytwarzania

    Oprogramowania, 64mened er plików, 51metoda

    bia ej skrzynki, 14czarnej skrzynki, 13

    metodyki zwinne, 64metryka pakietu Oracle, 37miara jako ci oprogramowania, 17migracja danych, 48model

    kaskadowy, 63V, 64

    modyfikacjakodu, 115kodu formularza, 117tre ci strony, 112

    monitor TCP, 177monitorowanie jako ci, 21

    Nnag ówek HTTP, 113narz dzia automatyzacji testów, 52, 186narz dzie

    Apache JMeter, 51, 52, 199Apache TCPMon, 177, 178, 180, 181dgMaster, 203Eclipse, 51Fiddler, 105–108, 111–117Fiddler2, 51Firebug, 51, 106JMeter, 76–90KeyStore Explorer, 51Membrane Monitor, 51Membrane SOAP Monitor, 189–93NetBeans IDE, 51Notepad++, 51Oracle OpenScript, 52PL/SQL Developer, 51PuTTY, 51Selenium, 52

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • Skorowidz 211

    SoapUI, 51, 165–176, 180Spawner Data Generator, 203TCPMon, 51Total Commander, 51VNC, 51WebScarab, 105WinSCP, 51Wireshark, 51, 195, 196

    Oobs uga

    b dów wewn trznych, 42b dów zewn trznych, 40wyj tków, 43zg osze , 39

    ogólna teoria testowania, 11opis kodu ród owego, 38oprogramowanie

    Bugzilla, 39JIRA, 39Mantis Bug Tracker, 39SVN, 35

    Pplik wynikowy CSV, 203podgl d odpowiedzi, 114podmienianie warto ci, 105polecenie DESC, 96porty, 180poziomy wykonywania testów, 65presja czasu, 151procentowy rozk ad zg osze , 21proces

    integracji, 70obs ugi b dów, 40, 42testowania, 149

    projekt REST, 170projektowanie testu, 129

    do wiadczenie testera, 140technika bia ej skrzynki, 136technika czarnej skrzynki, 131

    protokó REST, 168przebieg

    realizacji projektu, 9, 53rejestracji b dów, 22, 23

    przechwycenie sesji, 108przej cia pomi dzy stanami, 134przekazywanie zmian w kodzie, 39przyczyny

    b dów, 30zniech cenia, 156

    przypadek testowy, 12przypadki u ycia, 135

    Rrealizacja projektu, 60regu y odpowiedzi, 175rejestracja b dów, 22, 23rekonesans, 111replikacja b dów, 28REST, Representational State Transfer, 165retest, 11równomierne obci enie prac , 54

    Sscenariusz testów, 13serwer poczty, 52SHA, Secure Hash Algorithm, 188skrypt JS, 95skutki zniech cenia, 159SOAP, Simple Object Access Protocol, 165specyfikacja, 13spójno nazewnictwa, 121SQL-Injection, 96, 99, 104SSL, Secure Socket Layer, 166standardy, 13Subversion, SVN, 35suma kontrolna, checksum, 187sygnatura wersji, 103symulacja b du, 29symulator

    aplikacji, 31serwera us ug sieciowych, 171

    syndrom zniech cenia, 153system kontroli wersji, 35

    GIT, 35Subversion, 35

    rodowiskodeweloperskie, 30produkcyjne, 25testów, 23, 27, 28

    Ttabela, 81technika

    bia ej skrzynki, 136czarnej skrzynki

    przej cia pomi dzy stanami, 134przypadki u ycia, 135warto ci brzegowe, 131

    techniki testowania, 13

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • 212 Testowanie oprogramowania. Podr cznik dla pocz tkuj cych

    teoria testowania, 11tester oprogramowania, 54

    aspekty psychologiczne, 149syndrom zniech cenia, 153

    testowanieaplikacji internetowej, 86bazy danych, 76bezpiecze stwa aplikacji, 91ergonomii systemu informatycznego, 118instalacji, 117instrukcji, 136migracji danych, 47obs ugi wyj tków, 43przej pomi dzy stanami, 134przeno no ci kodu, 117us ug sieciowych, 89, 165

    testyakceptacyjne, 72decyzyjne, 138funkcjonalne, 73ilo ciowe, 197integracyjne, 67jako ciowe, 8modu owe, 66niefunkcjonalne, 74obci eniowe, 75przeci eniowe, 75regresywne, 125systemowe, 71

    bezpiecze stwa, 72ergonomii, 72funkcjonalne, 71instalacji, 72regresywne, 72wydajno ciowe, 71

    w cyklu ycia oprogramowania, 62w oknie czasu, 58wewn trzne, 8wydajno ci, 74, 76

    trywialno wykrycia b du, 12tworzenie symulatora WS, 172typy testów, 73

    Uus ugi sieciowe, 165

    WWADL, Web Application Description

    Language, 166walidacja

    dopuszczalnych znaków, 144pól dla kwot, 147

    walidatory, 52warto ci brzegowe, 131wersje oprogramowania, 35wra liwe informacje, 109WSDL, Web Services Description Language, 166wstrzykni cie kodu JS, 95wyj tki, 43wykres testu aplikacji, 89wy czenie cz ci kodu, 104wymaganie, 13wytwarzanie oprogramowania, 64wywo anie monitora TCP, 179wywo ywanie

    funkcji MockService, 176procedury, 84

    XXSS, Cross Site Scripting, 93

    Zzasada kumulowania si b dów, 9zastosowanie

    opcji disabled, 117ORDER BY, 102SELECT UNION, 99, 101

    z amanie zasad ergonomii, 122zniech cenie, 153

    przyczyny, 156skutki, 159

    ród a pliku WSDL, 166ród o zmodyfikowanej strony, 116

    danie REST, 171

    Kup książkę Poleć książkę

    http://helion.pl/rt/szteophttp://helion.pl/rf/szteop

  • http://program-partnerski.helion.pl