Facebook - konwersja
Czytaj fragment
Pobierz fragment

Testowanie i jakość oprogramowania - ebook

Data wydania:
23 września 2015
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(2w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Czytaj fragment
Pobierz fragment
159,00

Testowanie i jakość oprogramowania - ebook

Testowanie oprogramowania, choć kluczowe dla powodzenia projektów IT, wciąż jest niedocenianą dziedziną inżynierii oprogramowania. Jednym z powodów jest brak rzetelnych i wiarygodnych źródeł informacji o tej dyscyplinie. Niniejsza pozycja stanowi nowoczesne, obszerne kompendium wiedzy w zakresie testowania i jakości oprogramowania. Wykorzystanie opisanych w książce metod pozwala na znaczne usprawnienie i profesjonalizację procesu testowego, czyniąc go bardziej efektywnym w znajdowaniu defektów.
Podręcznik przeznaczony jest w szczególności dla:
• początkujących testerów – aby mogli szybko zapoznać się z podstawami testowania,
• zawodowych testerów – aby ugruntowali i poszerzyli swoją wiedzę o zaawansowane techniki testowania,
• inżynierów jakości – aby nauczyli się skutecznie wykorzystywać wartościowe modele i narzędzia zapewniania jakości,
• kierowników i menedżerów testów – aby poznali techniki sprawnego i efektywnego zarządzania procesem testowym w organizacji oraz metody jego doskonalenia,
• osób przygotowujących się do egzaminów ISTQB na wszystkich poziomach (podstawowym, zaawansowanym i eksperckim) – aby otrzymali zwarte źródło materiałów pomocnych w nauce do egzaminu,
• pracowników naukowych prowadzących badania lub zajęcia dydaktyczne w obszarze inżynierii jakości.

Zaletą książki jest wiele praktycznych przykładów. Ilustrują one zastosowanie wprowadzonych metod i narzędzi m.in. w takich obszarach, jak: projektowanie testów, analiza ryzyka, dokumentowanie procesu testowego, zarządzanie zespołem testerów, automatyzacja testów, doskonalenie procesu testowego, raportowanie, pomiar i zapewnianie jakości oprogramowania. W wielu książkach poświęconych testowaniu fundamentalne pojęcia czy techniki często są wprowadzane w sposób niejasny, niedbały lub wręcz błędny. Autor niniejszej pozycji dołożył szczególnej staranności w precyzyjnym ich definiowaniu. Stają się przez to zrozumiałe dla czytelnika, a dzięki dobrze dobranym przykładom – łatwe do zastosowania w praktyce.

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-01-18393-6
Rozmiar pliku: 13 MB

FRAGMENT KSIĄŻKI

Spis ilustracji

1.1. U-kształtna zależność gęstości defektów od rozmiaru modułu

1.2. Dwa przykłady skumulowanej liczby zgłoszonych i naprawionych defektów

3.1. Podstawowy proces testowy (wg ISTQB)

3.2. Przykład obustronnego śledzenia między artefaktami projektu

3.3. Przypadek testowy wysokiego poziomu

3.4. Przypadek testowy niskiego poziomu

3.5. Histogram odsetka wymagań pokrytych testami

3.6. Wielowarstwowy model procesu testowego wg ISO/IEC/IEEE 29119

3.7. Proces projektowania i implementacji testów wg ISO/IEC/IEEE 29119

4.1. Model kaskadowy (wodospadowy)

4.2. Model V

4.3. Model W

4.4. Model RUP

4.5. Model szybkiego prototypowania RAD

4.6. Model spiralny Boehma

4.7. Model Scrum

4.8. TDD

4.9. Metodologia Cleanroom

4.10. Hierarchia czynności weryfikacji i walidacji wg ISO/IEC/IEEE 29119

4.11. Projekt architektury przykładowego programu

5.1. Taksonomia modeli

5.2. Generacja kodu Graya o długości 3 z kodu o długości 2

5.3. Model 8-bitowego konwertera Gray2Order

5.4. Podstawowe elementy grafu przepływu sterowania

5.5. Transformacja konstrukcji algorytmicznych na grafy przepływu sterowania

5.6. Podział kodu na bloki podstawowe i odpowiadający mu graf przepływu sterowania

5.7. Problematyczne programy dla modelowania przepływu sterowania

5.8. Graf przepływu danych dla funkcji compute_prefix

5.9. Kod oraz odpowiadający mu CFG z nieosiągalną ścieżką

6.1. Porównanie miejsc powstawania i wykrywania defektu bez stosowania przeglądów (u góry) i z przeglądami (na dolej)

6.2. Podstawowy model inspekcji Fagana

6.3. Porównanie nakładu pracy w projekcie z inspekcjami i bez nich

6.4. Graf przepływu sterowania dla programu wykorzystującego kolejkę z ograniczoną pojemnością

6.5. Graf przepływu sterowania i jego złożoność cyklomatyczna

6.6. Przykład złego grafu przepływu sterowania oraz jego korekta

6.7. Wykonanie symboliczne kodu zamieniającego wartości zmiennych

6.8. Struktura strony www sklepu internetowego

6.9. Przykład niezrównoważonej i zrównoważonej struktury strony internetowej

6.10. Podstawowe typy wywołań między modułami

6.11. Graf wywołań dla programu grep.c

8.1. Podział dziedziny na klasy równoważności

8.2. Niepoprawny podział dziedziny

8.3. Obustronne śledzenie między artefaktami procesu testowego

8.4. Klasy równoważności i wartości brzegowe dla programu ZniżkaMPK

8.5. Metody dwóch oraz trzech wartości granicznych

8.6. Drzewo możliwych wartości wszystkich warunków

8.7. Ilustracja minimalizacji tablicy decyzyjnej

8.8. Opcje programu Word

8.9. Elementy składowe grafów przyczynowo-skutkowych

8.10. Wykorzystanie operatorów O i M dla reprezentacji przyczyn i skutków o więcej niż dwóch możliwych wartościach

8.11. Fragment grafu P-S odpowiadający jednej regule tablicy decyzyjnej

8.12. Graf P-S stworzony na podstawie tablicy decyzyjnej

8.13. Graficzna ilustracja reguł śledzenia wstecznego

8.14. Graf P-S do którego zastosowano śledzenie wsteczne

8.15. Ogólny model stanów oraz przejść między nimi. Dwie konwencje zapisu

8.16. Maszyna stanowa dla automatu biletowego

8.17. Graficzna reprezentacja różnych typów stanów

8.18. Maszyna stanowa z warunkami na niektórych przejściach

8.19. Przykładowa maszyna stanowa

8.20. Graf de Brujina dla ścieżek długości 2

8.21. Maszyna stanowa dla procesu opisującego pracę redakcji czasopisma

8.22. System komputerowego rozpoznawania obiektów

8.23. Typy wierzchołków w drzewie klasyfikacji

8.24. Drzewo klasyfikacji dla systemu SKRO wraz z macierzą testową

8.25. Notacja dla modelu cech

8.26. Model cech dla asortymentu produktu programowego smartfonu

8.27. Drzewo klasyfikacji wraz z tabelą kombinacji dla kryterium minimalistycznego

8.28. Etapy ręcznego tworzenia przypadków dla kryterium pokrycia par

8.29. 2-(4, 4, 1)-tablica ortogonalna i jej przekształcenie na zbiór przypadków testowych

8.30. Hierarchia subsumpcji dla kombinacyjnych kryteriów pokrycia

8.31. Hiperpłaszczyzny i podprzestrzenie w przestrzeni dwu- i trójwymiarowej

8.32. Obszar z brzegiem „otwartym”

8.33. Przykłady punktów IN, OUT, ON i OFF dla testowanego obszaru

8.34. Zdolność punktów ON-OFF do wykrywania błędów dziedziny

8.35. Redukcja liczby punktów ON i OFF dla kombinacji ograniczeń

8.36. Graficzna reprezentacja warunków dla kategoryzacji urządzeń ciśnieniowych

8.37. Warunki testowe na połączeniach linii

8.38. Model przepływu zdarzeń dla oprogramowania bankomatu

8.39. Typowe wzorce obszarów wejścia powodujących awarie

8.40. Ilustracja technik adaptacyjnego testowania losowego

8.41. Macierz CRUD

9.1. Kod i CFG dla programu SortBąbelkowe

9.2. Krawędzie CFG jako elementy pokrycia w testowaniu gałęzi

9.3. Graf przepływu sterowania dla programu Bisekcja

9.4. CFG i jego drzewo zagnieżdżeń pętli

9.5. Symboliczna reprezentacja LSKiS

9.6. DD-ścieżki a bloki podstawowe

9.7. Przykładowy CFG

9.8. CFG oraz ścieżki pierwsze dla funkcji CzyPierwsza

9.9. CFG z wykładniczą liczbą ścieżek testowych względem decyzji

9.10. Przykładowy CFG i jego zbiór ścieżek bazowych

9.11. CFG dla programu TypTrójkąta oraz dwa zbiory ścieżek bazowych

9.12. Przykładowy graf przepływu danych

9.13. Objazdy i ścieżki poboczne

9.14. Proces testowania mutacyjnego

9.15. Hierarchia subsumpcji dla białoskrzynkowych kryteriów pokrycia

10.1. Proces wstrzykiwania usterek i ulepszania zestawu testów (za )

10.2. Karta testu przed rozpoczęciem sesji testowania eksploracyjnego

10.3. Stworzenie etykiety w MS Word

10.4. Stworzenie podpisu tablicy w MS Word

10.5. Stworzenie w tekście odsyłacza do tablicy w MS Word

10.6. Karta testu po zakończeniu sesji testowania eksploracyjnego

10.7. Model usterki powodowanej interakcją programu i środowiska

11.1. Heurystyczny model strategii testowej

12.1. Geometryczna interpretacja miary APFD

13.1. Model jakości według ISO 9126

14.1. Model jakości McCalla

14.2. Model jakości użytkowej według ISO 25010

14.3. Model jakości produktu według ISO 25010

14.4. Model jakości danych według ISO 25012

16.1. Ekran programu ELROJ – przykład niepoprawnej funkcjonalności

16.2. Przykłady testowania obciążeniowego

16.3. Przykład złej skalowalności systemu

16.4. Przykładowy wynik analizy WAMMI (źródło: www.wammi.com/whatis.html)

16.5. Informowanie użytkownika o stanie systemu

16.6. Brak zgodności między systemem a rzeczywistością

16.7. Kontrola użytkownika nad systemem

16.8. Spójność interfejsów w obrębie rodziny produktów MS Office

16.9. Zapobieganie błędom: okno kalendarza zamiast pola na ręczne wpisanie daty

16.10. Wybór lokalizacji zamiast ręcznego wpisywania ścieżki

16.11. Zaawansowane opcje niewidoczne dla początkującego użytkownika

16.12. Prosty i estetyczny interfejs elektronicznego kalkulatora

16.13. Przykłady złych komunikatów o błędach

16.14. Laboratorium badania użyteczności (źródło: www.designperspectives.com/usability.html)

16.15. Mapa ciepła (heat map) dla śledzenia wzroku

16.16. Relacje między metrykami MTTR, MTTF i MTBF

16.17. Średni czas między awariami

16.18. Zależności między modułami i odpowiadająca im macierz struktury projektu

17.1. Przykład zgodności danych z zewnętrznymi regulacjami

17.2. Przykład poufności danych (hasło do poczty)

17.3. Przykład identyfikowalności danych

18.1. Klasyczny trójkąt ograniczeń projektowych

18.2. Skomplikowana struktura zależności między rolami w projekcie

19.1. Prawdopodobieństwo ryzyka a jego wpływ

19.2. Zależność między wielkością zużycia zasobów a osiąganym poziomem jakości

19.3. Model zarządzania ryzykiem

19.4. Macierz „władza versus zainteresowanie”

19.5. Czynniki wpływające na prawdopodobieństwo i wpływ ryzyka

19.6. Przykłady macierzy ryzyka produktowego

19.7. Poziom ryzyka według jego klasyfikacji

19.8. Przykład symulatora dla łagodzenia ryzyka

19.9. Macierz identyfikowalności ryzyka-testy

19.10. Przykład wysokopoziomowego raportu o ryzykach

19.11. Systemy o wysokiej i niskiej wierności

19.12. Czynności w analizie ryzyka według metody SST

19.13. Dwie postaci macierzy ryzyka produktowego w metodzie PRisMa

19.14. Proces PRisMa

19.15. Macierz ryzyka PRisMa i reguła koła

19.16. Techniki projektowania testów a kwadranty macierzy PRisMa

19.17. Macierz ryzyka produktowego dla systemu ELROJ

19.18. Związek między zagrożeniem, ryzykiem a awarią

19.19. Macierz QFD (tzw. dom jakości)

19.20. Macierz QFD dla systemu ELROJ

19.21. Notacja drzew awarii

19.22. Przykładowe drzewo awarii

19.23. Drzewo awarii dla systemu ELROJ

19.24. Model TMap

19.25. TestGoal – dziesięć zasad testowania sterowanego wynikami

20.1. Podział wymagań

20.2. Łańcuch Markowa jako model profilu operacyjnego

20.3. Wartość testowania w podejściu good enough

21.1. Hierarchia dokumentacji testowej wg ISO/IEE 29119-3

21.2. Przykładowy dziennik wykonania testów

22.1. Struktura podziału prac dla liczby testów systemu ELROJ

22.2. Schemat APT

23.1. Wymiary postępu testowania

23.2. Macierz identyfikowalności testy – ryzyka oraz historia testów przykładowego projektu

23.3. Raport z pokrycia ryzyk

23.4. Raport o defektach

23.5. Raport o defektach w podziale na ich umiejscowienie

23.6. Dwa raporty o testach i defektach dla modułu B

23.7. Raport o przypadkach testowych

23.8. Raport o testach uwzględniający wysiłek i podział na cechy jakościowe

23.9. Raport z pokrycia

24.1. Model kosztu jakości

24.2. Klasyczne i współczesne spojrzenie na ekonomiczny model kosztu jakości

25.1. Testowanie rozproszone, zakontraktowane i zewnętrzne

25.2. Klasyfikacja usług TaaS

27.1. Cykl życia incydentu

27.2. ODC: rozkład defektów dla atrybutu „wpływ”

27.3. Raport z narzędzia do zarządzania incydentami

27.4. Raporty na podstawie danych z dziennika incydentów

28.1. Przykładowe ogłoszenie o pracę dla testera

28.2. Hierarchia potrzeb – piramida Maslowa

28.3. Model Tuckmana dynamiki zespołu

28.4. Matryca RACI

28.5. Inwentarz umiejętności i gap-analysis

28.6. Wskaźnik osobowości Myers–Briggs

28.7. Model analizy transakcyjnej Wagnera

28.8. Style uczenia się według Honeya i Mumforda

28.9. Model zmiany według V. Satir

28.10. Cechy charakteru lidera

28.11. Komunikacja kierownika testów z innymi podmiotami

29.1. Generyczny proces podejmowania decyzji

29.2. Diagram podobieństwa – przykład

29.3. Graf priorytetyzacji – przykład

29.4. Mapa myśli – przykład

29.5. Wielokrotne głosowanie – przykład

29.6. Metoda delficka – przykład

29.7. Proces metody Wideband Delphi

29.8. Poker planistyczny w formie aplikacji na smartfona

29.9. AHP – struktura przykładowego problemu decyzyjnego

29.10. Analiza pola sił dla problemu zmiany w organizacji

29.11. Diagram rybiej ości (Ishikawy) – przykład

30.1. Automatyzacja vs testowanie ręczne – koszty

30.2. Koszty związane z wdrożeniem narzędzia

30.3. Ryzyka związane z wykorzystaniem narzędzi w testowaniu

30.4. Model generycznej architektury automatyzacji testów

30.5. Proces projektowania architektury automatyzacji testów

30.6. Różne sposoby reprezentacji elementów GUI: a) check-box; b) radio button; c) lista rozwijana

30.7. Formularz ze strony www obliczającej indeks BMI

30.8. Widok okna Selenium po nagraniu przypadku testowego

30.9. Selenium – odtworzenie nagranych akcji przypadku testowego

30.10. Oczekiwana informacja na ekranie systemu ELROJ

30.11. Skrypt oparty na słowach kluczowych z wykorzystaniem programu Excel

30.12. Języki i notacje stosowane w automatyzacji testów

30.13. Diagramy UML 2.5

30.14. Cykl życia narzędzia

31.1. Kontekst udoskonalania procesu testowego

31.2. Przykładowe obszary udoskonalania testowania

31.3. Cykl Deminga i jego zastosowanie w kontekście udoskonalania

31.4. Model IDEAL

31.5. Przegląd metod udoskonalania

31.6. Model People CMM

32.1. Model doskonałości EFQM (Excellence Model)

32.2. Six Sigma – rozkład normalny i zmienność procesu

32.3. CMMI – model z reprezentacją etapową

32.4. Obszary procesowe CMMI: weryfikacja i walidacja

32.5. Model TPI Next

32.6. TPI Next – macierz dojrzałości testów

32.7. TPI Next – macierz dojrzałości dla przykładowego procesu

32.8. TPI Next – bazowy układ klastrów

32.9. TPI Next – przykładowa sekwencja doskonalenia oparta na klastrach

32.10. TMMi – poziomy dojrzałości i odpowiadające im obszary procesów

32.11. TMMi – struktura modelu

32.12. STEP – elementy modelu

32.13. STEP – struktura aktywności w podziale na poziomy testów

32.14. CTP – model procesu

33.1. Analiza Pareto

33.2. Przestrzenna i czasowa identyfikacja grup defektów

33.3. Rozkład normalny

33.4. Wykres X–Y dla identyfikacji defektów do analizy przyczynowej

33.5. Techniki zbierania i organizacji informacji

33.6. Rozszerzenie diagramu Ishikawy w celu przeprowadzenia analizy

33.7. GQM – schemat modelu

33.8. Paradygmat GQM – koncepcja pomiaru

33.9. Paradygmat QIP – koncepcja udoskonalania

33.10. GQM – wzorzec definiowania celu

35.1. Korporacyjna tablica rozdzielcza – przykład

35.2. Zrównoważona karta wyników – przykład

36.1. Struktura Grupy procesu testowego dla dużej organizacji

36.2. Umiejętności doskonalącego proces testowy

38.1. Model Kano

39.1. Hierarchia abstrakcji pojęć w teorii pomiaru

39.2. Przykład zastosowania skali nominalnej

39.3. Graficzna reprezentacja spójności i odpowiedniości pomiaru

39.4. Rozkład dobrze opisywany przez modę

39.5. Różne stopnie korelacji

39.6. Model liniowy zależności defektów od punktów funkcyjnych

39.7. Podatność korelacji na wartości odstające

39.8. Kwartet Anscombe’a

40.1. Wykres przebiegu dla dostępności systemu

40.2. S-kształtny (skumulowany) wykres przebiegu

40.3. Karta kontrolna i przykłady anomalii

40.4. Karta kontrolna

40.5. Wykres czasu cyklu

40.6. Diagram why–why

40.7. Macierz jest–nie jest

40.8. Kaizen

41.1. Zależność gęstości defektów od rozmiaru programu

41.2. Procedura obliczania punktów funkcyjnych

41.3. Punkty funkcyjne – pięć typów funkcji

43.1. Ustrukturalizowane i nieustrukturalizowane elementy CFG

43.2. Redukcja CFG w celu obliczenia ECC

43.3. Przykładowy system

43.4. Przykładowa hierarchia klas

44.1. Model szacowania przez porównanie

44.2. Porównanie modeli parametrycznych dla wysiłku

44.3. Dane o PF i wysiłku oraz krzywa do nich dopasowana

45.1. Wykorzystanie modeli defektów

45.2. Dynamika i występowanie defektów – przykłady

45.3. Gęstość defektów w kolejnych wersjach oprogramowania

45.4. Model wprowadzania/usuwania defektów

45.5. Model wprowadzania i usuwania defektów w pojedynczej fazie

45.6. Macierz defektów i obliczanie metryk PCE, DRE i Dunna

45.7. Model Rayleigha dla różnych wartości współczynnika skali

45.8. Rozkład Weibulla dla różnych współczynników kształtu

45.9. Graficzna reprezentacja zaobserwowanych danych

45.10. Predykcja na podstawie modelu Rayleigha

45.11. Rozkład wykładniczy – gęstość i dystrybuanta

45.12. COQUALMO – podmodele wprowadzania i usuwania defektów

45.13. Model dynamicznej stylometrii – predykcja gęstości defektów

46.1. Indeks niezawodności

46.2. Dystrybuanta rozkładu wykładniczego

46.3. Model Jelinskiego–Morandy – chwilowa częstość awarii

47.1. Strategie odmładzania i reagowania a dostępność systemu

49.1. Metody pomiaru zadowolenia klienta

50.1. Marsz wojsk napoleońskich na Moskwę – przykład idealnego wykresu

50.2. Przykłady błędnie prezentowanych danych

50.3. Przykład niepożądanej i pożądanej redundancji

50.4. Wykres z dodanymi informacjami kontekstowymi

50.5. Przykład drążenia danych

A.1. Przykładowy ekran obsługiwany przez program ELROJ

A.2. Schemat logiczny systemu ELROJ

C.1. Granica funkcji

C.2. Geometryczna interpretacja pochodnej funkcji w punkcie

C.3. Geometryczna interpretacja całki oznaczonej

C.4. Ilustracja prawdopodobieństwa warunkowegoSpis tabel

1.1. Najważniejsze odkrycia w historii testowania oprogramowania

1.2. Koszt usuwania defektu w podziale na fazy cyklu życia

3.1. Typowe poziomy testów i odpowiadająca im podstawa testów

3.2. Mapowanie wymagań na elementy projektowe systemu ELROJ

3.3. Możliwe relacje między rzeczywistym a uzyskanym wynikiem testu

5.1. Przypadki testowe dla konwertera Gray2Order

5.2. Modele działania oprogramowania

6.1. Efektywność usuwania defektów dla wybranych statycznych metod testowania

6.2. Prosta analiza kosztów i zysków z przeprowadzenia przeglądu

6.3. Możliwe typy następstw operacji na zmiennych

6.4. Możliwe następstwa operacji dla zmiennej i w programie compute_prefix

8.1. Podsumowanie metody podziału na klasy równoważności

8.2. Zestaw warunków testowych dla programu TypTrójkąta na podstawie charakterystyki „typ trójkąta”

8.3. Zestaw warunków testowych dla programu TypTrójkąta na podstawie charakterystyk Ch2, Ch3 i Ch4

8.4. Przypadki testowe pokrywające klasy równoważności dla programu TypTrójkąta

8.5. Macierz identyfikowalności dla elementów pokrycia i przypadków testowych

8.6. Podsumowanie metody analizy wartości brzegowych

8.7. Porównanie efektywności różnych podejść do identyfikacji wartości granicznych

8.8. Przypadki testowe w analizie wartości brzegowych dla programu CarPanel

8.9. Ogólna postać tablicy decyzyjnej

8.10. Podsumowanie metody tablicy decyzyjnej

8.11. Tablica decyzyjna dla programu Egzaminator

8.12. Zminimalizowana tablica decyzyjna dla programu Egzaminator

8.13. Jeszcze bardziej zminimalizowana tablica decyzyjna programu Egzaminator

8.14. Tablica decyzyjna dla programu Bankier

8.15. Zminimalizowana tablica decyzyjna dla programu Bankier

8.16. Przypadki testowe dla programu Bankier

8.17. Przykładowa tablica decyzyjna z wymaganiami nieosiągalnymi

8.18. Przykładowa tablica decyzyjna z wymaganiami nieosiągalnymi po zminimalizowaniu

8.19. Podsumowanie metody grafów przyczynowo-skutkowych

8.20. Wynikowa tablica decyzyjna po zastosowaniu metody śledzenia wstecznego dla skutku S1

8.21. Tabelaryczna postać maszyny stanowej automatu biletowego

8.22. Pełna tabela przejść maszyny dla automatu biletowego

8.23. Krawędzie wychodzące z poszczególnych stanów

8.24. Obliczanie ścieżek o długości 2

8.25. Podsumowanie metody grafów przyczynowo-skutkowych

8.26. Przypadki testowe dla kryterium 0-przełączeń dla programu Czasopismo

8.27. Przypadki testowe dla kryterium 1-przełączeń dla programu Czasopismo

8.28. Podsumowanie metody kategoria-podział

8.29. Parametry i kategorie metody getDisplayString

8.30. Parametry, kategorie i wybory dla metody getDisplayString

8.31. Podsumowanie metody drzew decyzyjnych

8.32. Przypadki testowe dla programu SKRO

8.33. Przypadki testowe spełniające kryterium Each Choice

8.34. Elementy pokrycia dla kryterium Base Choice

8.35. Elementy pokrycia dla kryterium Multiple Base Choice

8.36. Podsumowanie metod kombinacyjnych

8.37. Podsumowanie metod analizy dziedziny

8.38. Kategoryzacja urządzeń ciśnieniowych w zależności od dopuszczalnego ciśnienia i pojemności

8.39. Przypadki testowe dla programu Kategoryzacja

8.40. Przypadek użycia dla szybkiej wypłaty z bankomatu

8.41. Przypadek testowy dla scenariusza głównego przypadku użycia SzybkaWypłata

8.42. Przypadek testowy dla scenariusza alternatywnego przypadku użycia SzybkaWypłata

8.43. Podsumowanie metody testowania opartego na przypadkach użycia

8.44. Podsumowanie metody testowania opartego na scenariuszach

8.45. Przypadek testowy dla scenariusza „udana wypłata”

8.46. Przypadek testowy dla scenariusza „nierozpoznana karta”

8.47. Przypadek testowy dla scenariusza „trzykrotny błędny PIN”

8.48. Przypadek testowy dla scenariusza „niewystarczająca ilość środków na koncie”

8.49. Podsumowanie metody testowania opartego na historyjkach użytkownika

8.50. Przypadki testowe dla historyjki użytkownika

8.51. Podsumowanie metody testowania losowego

8.52. Testowanie losowe – przypadki testowe dla modułu Przekształcenie

8.53. Podsumowanie metody testowania opartego na składni

8.54. Przypadki testowe dla techniki opartej na składni

8.55. Przypadki testowe wyprowadzone z macierzy CRUD

8.56. Różne realizacje możliwych operacji CRUD

8.57. Macierz CRUD dla systemu ELROJ

8.58. Przekształcona macierz CRUD dla systemu ELROJ

9.1. Podsumowanie metody testowania instrukcji

9.2. Przypadki testowe dla pokrycia instrukcji

9.3. Podsumowanie metody testowania gałęzi

9.4. Przypadki testowe spełniające kryterium pokrycia gałęzi – wariant I

9.5. Przypadki testowe spełniające kryterium pokrycia gałęzi – wariant II

9.6. Podsumowanie metody testowania decyzji

9.7. Przypadki testowe dla pokrycia decyzji

9.8. Przypadki testowe dla decyzji złożonej z 3 warunków

9.9. Podsumowanie metody testowania warunków

9.10. Przypadki testowe dla testowania warunków

9.11. Podsumowanie metody testowania warunków/decyzji

9.12. Przypadki testowe dla pokrycia warunków/decyzji

9.13. Podsumowanie metody testowania warunków wielokrotnych

9.14. Przypadki testowe nieuwzględniające zwarcia

9.15. Testy dla pokrycia wielokrotnych warunków z short-circuit

9.16. Przypadki testowe dla kryterium pokrycia wielokrotnych warunków

9.17. Wartościowanie warunków dla skorelowanego pokrycia warunków znaczących

9.18. Skorelowane pokrycie warunków znaczących – po usunięciu duplikatów

9.19. Wartościowania warunków dla ścisłego pokrycia warunków znaczących

9.20. Ścisłe pokrycie warunków znaczących – przypadki po usunięciu duplikatów

9.21. Tablica prawdy dla predykatu D = p ∧ (q ∨ r)

9.22. Podsumowanie metody testowania warunków znaczących

9.23. Tablica prawdy dla operatora XOR

9.24. Tablica prawdy dla predykatu funkcji leapYear

9.25. Przypadki testowe spełniające kryterium MC/DC dla funkcji leapYear

9.26. Podsumowanie metody testowania pętli

9.27. Pokrycie ścieżek iterowanych w metodzie wzorców pętli

9.28. Przypadki testowe dla pokrycia pętli w programie SortBąbelkowe

9.29. Podsumowanie metody testowania LSKiS

9.30. Możliwe LSKiS dla programu Potęgowanie

9.31. Przypadki testowe pokrywające LSKiS

9.32. Podsumowanie metody testowania ścieżek pierwszych

9.33. Przypadki testowe dla pokrycia ścieżek pierwszych programu CzyPierwsza

9.34. Podsumowanie metody testowania ścieżek

9.35. Testy dla TypTrójkąta spełniające kryteria pokrycia ścieżek i ścieżek bazowych

9.36. Podsumowanie metody testowania przepływu danych

9.37. Miejsca i typy wystąpienia zmiennych w procedurze RównanieKwadratowe

9.38. Przypadki testowe dla pokrycia wszystkich definicji

9.39. Przypadki testowe dla pokrycia wszystkich użyć

9.40. Podsumowanie metody testowania mutacyjnego

10.1. Tasonomia defektów oparta na przyczynie źródłowej (root-cause)

10.2. Lista kontrolna dla sprawdzenia użyteczności strony www

12.1. Przypadki testowe i usterki przez nie wykrywane

16.1. Ochrona przed błędami użytkownika – przykłady dobrych i złych rozwiązań

17.1. Baza danych adresów urzędów wojewódzkich

19.1. Ilościowe szacowanie ryzyka

19.2. Przykłady ryzyk produktowych i projektowych

19.3. Lista ryzyk z określonym poziomem i kategorią

19.4. Priorytetyzacja ryzyk

19.5. Poziomy krytyczności wg normy DO-178C

19.6. Poziomy nienaruszalności bezpieczeństwa wg IEC 61508

19.7. Obliczanie poziomu ryzyka w metodzie SST

19.8. Lista ryzyk dla programu ELROJ

19.9. Wagi czynników w PRisMa

19.10. Szacowanie ryzyka przez kierownika projektu

19.11. Szacowanie ryzyka przez analityka biznesowego

19.12. Szacowanie ryzyka przez architekta systemu

19.13. Uśrednione oceny

19.14. Ważona ocena ryzyk produktowych

19.15. Metody łagodzenia ryzyka dla systemu ELROJ

19.16. Wpływ redukcji ryzyka

19.17. FMEA dla programu ELROJ

20.1. Postać wymagań i proponowane techniki ich testowania

20.2. Profil operacyjny dla wyboru funkcji bankomatu

22.1. Przykładowe szacowanie kosztów testów z korektą

22.2. Średnie przemysłowe parametrów dotyczących testowania

27.1. ODC: przykład dwuwymiarowej analizy

29.1. Macierz priorytetyzacji – przykład

30.1. Zestaw słów kluczowych dla programu ELROJ

30.2. Frameworki wspierające testowanie jednostkowe

30.3. Przykładowe problemy z używaniem narzędzi

32.1. Doskonalenie oparte na modelu – korzyści i ryzyka

32.2. Obszary procesowe TMMi oraz ich cele i praktyki specyficzne

32.3. Porównanie TPI Next i TMMi

32.4. STEP – struktura poziomu testów

32.5. CTP – przykładowe metryki

33.1. Przykłady kategoryzacji defektów dla ich wyboru w analizie przyczynowej

35.1. Porównanie podejść do wdrożenia doskonalenia procesu testowego

36.1. Typy zdolności emocjonalnych według Mayera i Saloveya

39.1. Skale pomiarowe – podsumowanie

39.2. Dane o punktach funkcyjnych i liczbie defektów dla modelu regresji

40.1. Narzędzia kontroli jakości

40.2. Parametry kart kontrolnych

40.3. Pomiary dla karty kontrolnej

41.1. Tablica produktywności dla wybranych języków programowania

41.2. Wagi dla poszczególnych złożoności typów funkcji

41.3. Obliczanie złożoności typu funkcji danych

41.4. Obliczanie złożoności typu transakcji dla plików wewnętrznych

41.5. Obliczanie złożoności typu transakcji dla plików/zapytań zewnętrznych

41.6. Punkty funkcyjne dla systemu ELROJ

43.1. Metryki Halsteada

43.2. Złożoność cyklomatyczna a ryzyko

43.3. Złożoność cyklomatyczna a prawdopodobieństwo złej poprawki

43.4. Metryki Lorenza

43.5. Indeks Flescha – interpretacja wyników testu

44.1. Pracochłonność projektu testowego według podziału prac i czynności

44.2. Pracochłonność projektu testowego według podziału systemu

44.3. Rekomendowane wartości współczynnika D

44.4. Przykładowe dane historyczne z poprzednich projektów

44.5. Czynniki modyfikujące dla metody szacowania przez porównanie

44.6. Szacowanie wysiłku i kosztu przez porównanie

44.7. Dane historyczne o wysiłku i punktach funkcyjnych

44.8. COCOMO II – wagi czynników skali w zależności od ich wpływu

45.1. Wykorzystanie modelu fazowego

45.2. Modele zmian w kodzie – porównanie

47.1. Przykładowe dostępności systemu i odpowiadające im czasy niedostępności

47.2. Związek między gęstością defektów i wartością MTTF

49.1. Zebrane od użytkowników dane z ankiet

A.1. Wymagania funkcjonalne dla programu ELROJ

C.1. Tablica prawdy dla operatorów alternatywy, koniunkcji, implikacji i równoważności

C.2. Tablica prawdy dla operatora negacjiSpis listingów

1.1. Procedura przetwarzania komunikatów w oprogramowaniu AT&T

1.2. Dwa sposoby pobrania ciągu znaków ze strumienia wejściowego

1.3. Przykładowy program z pętlą

2.1. Algorytm sortowania bąbelkowego

2.2. Przykładowy program ilustrujący stopień pokrycia

3.1. Implementacja wysokopoziomowego przypadku testowego

3.2. Implementacja niskopoziomowego przypadku testowego

4.1. Historyjka użytkownika w podejściu BDD

5.1. Kod w C obliczający tablicę prefiksów dla algorytmu Knutha–Morrisa–Pratta

5.2. Fragment kodu z dynamicznym wiązaniem

6.1. Przykład programu z martwym kodem

6.2. Fragment kodu z dwoma definicjami zmiennej x

6.3. Przykład źle napisanego programu w C

6.4. Program obliczający silnię

6.5. Program obliczający silnię z wstawionymi asercjami

6.6. Program zamieniający miejscami wartości dwóch zmiennych

6.7. Kod źródłowy programu grep.c

7.1. Pseudokod programu Collatz

7.2. Zinstrumentowany program Collatz

7.3. Kod z wiszącymi i dzikimi wskaźnikami

7.4. Przeprowadzenie analizy wydajności

7.5. Przykładowy płaski profil programu generowany przez gprof

7.6. Graf wywołań wygenerowany przez gprof

8.1. Program obliczający końcową ocenę z przedmiotu

8.2. Algorytm redukcji liczby testów dla grafu P-S

8.3. Konfiguracja środowiska testowego dla wykonania testu metody getDisplayString

8.4. Procedura InParameterOrder dla pokrycia par

9.1. Fragment programu z martwym kodem

9.2. Prosty program

9.3. Program Bisekcja

9.4. Funkcja sprawdzająca przestępność roku

9.5. Funkcja RównanieKwadratowe

9.6. Powtórzony kod programu SortBąbelkowe

9.7. Szybkie potęgowanie

9.8. Wyznaczanie ścieżek pierwszych

9.9. Funkcja CzyPierwsza

9.10. Zdolność metody ścieżek bazowych do wykrywania defektów

9.11. Kod programu TypTrójkąta

9.12. Procedura RównanieKwadratowe napisana w Adzie

9.13. Program i jego pięć przykładowych mutantów

16.1. Fragment kodu html obowiązkowego w responsive web design

17.1. Skrypt PL/SQL z poleceniem ROLLBACK

19.1. Symulacja Monte Carlo szacująca prawdopodobieństwo awarii głównej

30.1. Page Object dla strony www wyszukiwania Google

30.2. Test z wykorzystaniem Page Object Pattern

30.3. Skrypt w Pythonie dla nagranego przypadku testowego

30.4. Pseudokod zorganizowanego skryptu

30.5. Skrypt dla testowania opartego na danych

30.6. Przypadki testowe dla systemu ELROJ oparte na słowach kluczowych

30.7. Fragment skryptu napisanego w Perlu

30.8. Skrypt VBScript wyszukujący dane w arkuszu kalkulacyjnym

30.9. Kod w OCL definiujący ograniczenia dla metody calcArea

30.10. Plik XML z rozkładem jazdy dla systemu ELROJ

33.1. Test statystyczny t-Studenta dla czasu naprawy defektów

39.1. Skrypt w pakiecie R budujący model liniowy

43.1. Kod programu w C++ sortującego tablicę

45.1. Skrypt wykorzystujący model Rayleigha do predykcji defektów

46.1. Model Jelinskiego–Morandy – praktyczne wykorzystanie

49.1. Statystyki opisowe dla zebranych danychZnaki handlowe

CMM^(®) oraz CMMI^(®) są zarejstrowanymi znakami Carnegie Mellon University.

IDEAL^(SM), PSP^(SM) i TSP^(SM) są zarejestrowanymi znakami Instytutu Inżynierii Oprogramowania (SEI), Carnegie Mellon University.

EFQM Excellence Model^(TM) jest zarejestrowanym znakiem handlowym European Foundation for Quality Management.

ISTQB^(®) jest zarejestrowanym znakiem International Software Testing Qualifications Board.

ITIL^(TM) jest zarejestrowanym znakiem Office of Government Commerce.

TMM^(TM) jest zarejestrowanym znakiem Illinois Institute of Technology.

TMMi^(®) jest zarejestrowanym znakiem TMMi Foundation.

TPI^(®) oraz TPI Next^(®) są zarejestrowanymi znakami Sogeti Nederland B.V.Wstęp

Mniej więcej w latach dziewięćdziesiątych XX wieku inżynieria oprogramowania weszła w erę jakości. Jakość, odnosząca się zarówno do produktu, jak i do procesu wytwórczego, stała się celem numer jeden w każdym poważnym projekcie IT. Wszystkie szanujące się firmy przeprowadzają u siebie audyty, aby wykazać zgodność swoich działań z takimi normami jak ISO 9001 czy określić poziom dojrzałości procesów według modelu CMMI (ang. Capability Maturity Model Integration). Powstało wiele metodologii zarządzania jakością, głównie na użytek „klasycznego” przemysłu. Równocześnie, do branży informatycznej przenikały i znalazły poczesne miejsce takie idee jak statystyczna kontrola procesu czy metoda Six Sigma.

Jednym ze sposobów zapewniania jakości tworzonych aplikacji jest testowanie oprogramowania. Testowanie jest tak stare jak wytwarzanie oprogramowania i można bez cienia przesady powiedzieć, że istniało od momentu powstania pierwszego programu napisanego na komputerze. Mimo tak szacownej historii testowanie, zwłaszcza w polskich firmach, ciągle pozostaje mało docenianą dziedziną inżynierii oprogramowania. Wciąż można spotkać szefów firm, którzy – chcąc pokazać przyjazne nastawienie ich organizacji wobec wszystkich kandydatów – wyrażają gotowość zatrudniania osób z niewielkim doświadczeniem, oferując im stanowiska testerów. Uważają bowiem, że jest to zawód, który mogą wykonywać osoby bez jakiejkolwiek znajomości testowania. Wynika to z braku świadomości tego, że testowanie jest nie tylko dyscypliną trudną, lecz także odgrywa kluczową rolę w zapewnianiu jakości tworzonego oprogramowania.

Taka postawa właścicieli firm produkujących oprogramowanie jest zupełnie niezrozumiała. Gdyby zaproponować im zatrudnienie programisty-amatora, który dopiero chce się nauczyć profesjonalnego pisania kodu, zaprotestowaliby gwałtownie i odpowiedzieliby zapewne, że nie mogą sobie pozwolić na takie ryzyko, bo to obniżyłoby jakość tworzonego produktu. Paradoksalnie jednak, nie dbając o doświadczenie zatrudnianych testerów, pozwalają sobie na ryzyko o wiele większe, gdyż konsekwencje późnego wykrycia defektów (na skutek nieumiejętnego testowania), po przekazaniu oprogramowania klientowi, są o wiele poważniejsze, niż gdy wykrycie to następuje we wczesnych fazach cyklu życia.

Takie podejście kierownictwa często wynika z powierzchownej wiedzy o testowaniu oprogramowania. Wielu menedżerów wyższego szczebla kojarzy proces testowania z praktykantem, który „siedzi, klika i patrzy, czy coś się nie zepsuje”. Nie zdają sobie sprawy, jak rozległą, trudną i skomplikowaną dziedziną jest testowanie. Często nie rozumieją, że efektywne testowanie oprogramowania wymaga wielkiego nakładu pracy, alokacji sporych środków finansowych, sprawnego zarządzania oraz nierzadko umiejętności zastosowania wysoce nietrywialnych technik. Proces testowania jest tak samo trudny, a może nawet trudniejszy, jak proces tworzenia oprogramowania.

O znaczeniu testowania może świadczyć powstanie w ostatnich latach różnych organizacji międzynarodowych, takich jak np. ISTQB, które przeprowadzają egzaminy na certyfikowanych testerów, organizują konferencje czy publikują materiały opisujące dobre praktyki w testowaniu. Także na naszym, polskim podwórku pojawia się coraz więcej ciekawych inicjatyw związanych z jakością oprogramowania, np. Mistrzostwa Polski w Testowaniu czy też seria konferencji „Test Well” zainicjowana w 2013 roku. Te ostatnie przykłady pozwalają patrzeć optymistycznie na rozwój społeczności testersko-jakościowej w Polsce, ale trzeba pamiętać, że jest jeszcze wiele do zrobienia. I po to, między innymi, powstała ta książka.

Niniejszy podręcznik został napisany dla:

- początkujących testerów, aby już na samym początku swojej kariery zawodowej poznali dobre praktyki oraz najefektywniejsze techniki i metody testowania, a także aby mogli spojrzeć na tę dziedzinę z lotu ptaka, zobaczyć, z jakich obszarów się składa i jakie są zależności między nimi;
- zawodowych testerów, aby ugruntowali i poszerzyli swoją wiedzę o zaawansowane techniki testowania;
- inżynierów jakości, aby efektywnie wykorzystywali istniejące metody, modele i procesy zapewniania jakości oprogramowania;
- kierowników, menedżerów i dyrektorów testów, aby sprawniej zarządzali procesem testowym w organizacji i efektywnie go ulepszali;
- osób doskonalących lub chcących doskonalić proces testowy w organizacji, aby nabyli niezbędną do tego celu wiedzę;
- osób przygotowujących się do egzaminów na certyfikaty ISTQB (poziom podstawowy, zaawansowany i ekspercki), aby dostarczyć im zwarte źródło materiałów pomocnych w nauce do egzaminu;
- dyrektorów działów IT, aby mogli lepiej zrozumieć rolę testowania w organizacji;
- pracowników naukowych, którzy prowadzą lub zamierzają prowadzić zajęcia dydaktyczne i/lub badania naukowe w obszarze testowania i jakości oprogramowania;
- obecnych lub przyszłych pasjonatów testowania, którzy planują związać swój rozwój zawodowy z tą dziedziną inżynierii jakości oprogramowania.

Podręcznik ten abstrahuje od konkretnych języków programowania czy narzędzi testowych. Wyjątkiem jest rozdział 30, gdzie podałem przykładowy katalog konkretnych aplikacji wspomagających proces testowania. W książce skupiłem się wyłącznie na metodach i technikach testowania, zarządzania testowaniem oraz zapewniania jakości, dzięki czemu zawarta w niej wiedza jest uniwersalna i przydatna dla każdego testera w każdej organizacji, niezależnie od typu projektu, w jakim uczestniczy, oraz narzędzi, jakich używa. Słowo „narzędzia” w podtytule książki jest związane z abstrakcyjnymi metodami pomocnymi w pracy inżyniera jakości, a nie konkretnymi aplikacjami typu CASE (ang. Compute-Aided Software Engineering) czy CAST (ang. Computer-Aided Software Testing).

projekt (ang. project) – zestaw skoordynowanych i kontrolowanych aktywności o określonym czasie rozpoczęcia i zakończenia; jest powoływany, aby osiągnąć cel zgodnie z określonymi wymaganiami, w tym ograniczeniami czasowymi, kosztowymi i zasobowymi

CASE (ang. Computer-Aided Software Engineering) – inżynieria oprogramowania wspomagana komputerowo

CAST (ang. Computer-Aided Software Testing) – testowanie oprogramowania wspomagane komputerowo; patrz także: automatyzacja testowania

Książka składa się z siedmiu części. Pierwsza jest wprowadzeniem w dyscyplinę testowania oprogramowania. Zawiera niezbędne pojęcia, opisuje proces testowy i wyjaśnia, jak ten proces jest umiejscowiony w różnych cyklach życia oprogramowania. Definiuje także typowe poziomy i typy testów.

Część druga to obszerny przegląd technik projektowania testów. Opisane zostały w nim wszystkie najważniejsze oraz najczęściej stosowane techniki: czarnoskrzynkowe, białoskrzynkowe, oparte na defektach i oparte na doświadczeniu. Omówione są również techniki statyczne, takie jak przeglądy czy analiza statyczna, oraz metody analizy dynamicznej.

W części trzeciej zostały opisane zagadnienia związane z testowaniem niefunkcjonalnym, czyli testowaniem cech jakościowych. Materiał tej części w dużym stopniu jest oparty na normie ISO/IEC/IEEE 25010 , która zastąpiła kilka lat temu normę ISO/IEC 9126 .

Część czwarta jest przeznaczona głównie dla osób zajmujących się testowaniem od strony zarządzania, takich jak: kierownicy testów, menedżerowie jakości, kierownicy zespołów testowych. Omówione są w niej techniki zarządzania z naciskiem na metody oparte na ryzyku. Zawiera także przegląd dokumentacji testowej zgodny z normą ISO/IEC 29119-3 , która zastąpiła dotychczas stosowaną normą IEEE 829 .

Część piąta jest poświęcona ludziom i narzędziom w procesie testowym. Przedstawione są w niej zagadnienia komunikacji w zespole, kompetencji oraz motywacji. Zawiera także szeroki przegląd typów narzędzi wraz z konkretnymi przykładami ich zastosowań.

Część szósta dotyczy metod doskonalenia procesu testowego. Jest przeznaczona głównie dla menedżerów, osób odpowiedzialnych w firmie za usprawnianie procesu testowego oraz dla kandydatów przygotowujących się do egzaminu ISTQB Expert Level – Test Process Improvement.

Część siódma jest poświęcona zagadnieniom jakości oprogramowania: metrykom i modelom stosowanym w inżynierii jakości.

W książce, oprócz tekstu podstawowego, występują dwa inne rodzaje informacji: definicje oraz listingi (kody źródłowe):

definicja – definicja pojęcia (wraz z jego angielskim odpowiednikiem) jest opisana na szarym tle; większość definicji jest podana za Słownikiem wyrażeń związanych z testowaniem pod redakcją Lucjana Stappa, opublikowanym przez Stowarzyszenie Jakości Systemów Informatycznych

Kod źródłowy lub pseudokod programu – napisany czcionką Courier New, między dwiema poziomymi liniami oznaczającymi początek i koniec kodu. Linie kodu mogą być numerowane w celu odwołania się do nich w tekście.

Nazwy zmiennych, funkcji oraz programów w zwykłym tekście są oznaczone kursywą. Fragmenty kodu w tekście są podane, podobnie jak listingi, czcionką maszynową (Courier New). Wartości logiczne są opisywane albo słownie, jako prawda i fałsz, albo za pomocą liczb 1 i 0, pogrubioną czcionką.

Książka zawiera cztery dodatki. W Dodatku A został opisany system ELROJ (ELektroniczny ROzkład Jazdy), który będzie przykładem przewodnim służącym do ilustracji wielu metod i technik testowania. Dodatek ten zawiera opis systemu, specyfikację wymagań oraz fragment projektu architektury. Zaleca się, aby Czytelnik przed lekturą właściwej części książki zapoznał się z opisem tego systemu.

W Dodatku B zebrano wszystkie najważniejsze normy i standardy bezpośrednio lub pośrednio związane z testowaniem i jakością oprogramowania. Dodatek C zawiera formalne definicje pojęć matematycznych oraz definicje z zakresu teoretycznych podstaw informatyki, które są wykorzystywane w książce. W Dodatku D zostały opisane najbardziej znane i cenione w środowisku testerów programy certyfikacji na testerów lub inżynierów jakości.
mniej..

BESTSELLERY

Kategorie: