reklama - zainteresowany?

Testowanie i jakość oprogramowania - Helion

Testowanie i jakość oprogramowania
ebook
Autor: Adam Roman
ISBN: 978-83-01-18392-9
stron: 1126, Format: ebook
Data wydania: 2015-10-23
Księgarnia: Helion

Cena książki: 119,20 zł (poprzednio: 149,00 zł)
Oszczędzasz: 20% (-29,80 zł)

Dodaj do koszyka Testowanie i jakość oprogramowania

Tagi: Programowanie | Testowanie oprogramowania

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.

Dodaj do koszyka Testowanie i jakość oprogramowania

 

Osoby które kupowały "Testowanie i jakość oprogramowania", wybierały także:

  • Zen Steve'a Jobsa
  • ASP.NET MVC. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio
  • jQuery, jQuery UI oraz jQuery Mobile. Receptury
  • Scratch. Komiksowa przygoda z programowaniem
  • Baltie. Kurs video. Poziom pierwszy. Elementarz programowania w języku wizualnym

Dodaj do koszyka Testowanie i jakość oprogramowania

Spis treści

Testowanie i jakość oprogramowania. Modele, techniki, narzędzia eBook -- spis treści

Spis ilustracji XXVII Spis tabel XXXIV Spis listingów XXXIX Znaki handlowe XLI Wstęp XLIII
CZĘŚĆ I. PODSTAWY TESTOWANIA

1. Wprowadzenie do testowania
1.1. Dlaczego testowanie jest niezbędne
1.2. Definicja testowania
1.3. Słynne przykłady awarii oprogramowania
1.4. Rys historyczny
1.5. Ogólne zasady testowania
1.6. Jak dużo testować i kiedy skończyć?
1.7. Psychologia testowania
1.8. Kodeks etyczny testera
1.9. Role związane z testowaniem
2. Podstawowe definicje
3. Proces testowy
3.1. Podstawowy proces testowy
3.1.1. Planowanie
3.1.2. Monitorowanie i nadzór
3.1.3. Analiza testów
3.1.4. Projektowanie testów
3.1.5. Implementacja testów
3.1.6. Wykonanie testów
3.1.7. Ocena spełnienia kryteriów wyjścia oraz raportowanie
3.1.8. Czynności zamykające testowanie
3.2. Proces testowy wg ISO/IEC/IEEE

4. Testowanie w cyklu życia oprogramowania
4.1. Modele wytwarzania oprogramowania
4.1.1. Model kaskadowy
4.1.2. Model V
4.1.3. Model W
4.1.4. Rational Unified Process (RUP)
4.1.5. Rapid Application Development (RAD)
4.1.6. Model spiralny Boehma
4.1.7. Metodyki zwinne
4.1.8. Metodologia Cleanroom
4.2. Weryfikacja i walidacja
4.3. Poziomy testów
4.3.1. Testy jednostkowe
4.3.2. Testy integracyjne
4.3.3. Testy systemowe
4.3.4. Testy akceptacyjne
4.3.5. Pozostałe poziomy testów
4.4. Typy testów
4.4.1. Testy funkcjonalne
4.4.2. Testy niefunkcjonalne
4.4.3. Testy strukturalne
4.4.4. Testy związane ze zmianami
4.5. Poziomy a typy testów

CZĘŚĆ II. TECHNIKI PROJEKTOWANIA TESTÓW

5. Testowanie oparte na modelu
5.1. Cechy dobrego modelu
5.2. Taksonomia modeli
5.3. Przykład wykorzystania modelu
5.4. Modele działania oprogramowania
5.4.1. Graf przepływu sterowania
5.4.2. Ograniczenia w stosowaniu grafu przepływu sterowania
5.4.3. Graf przepływu danych
5.4.4. Ścieżki, ścieżki testowe i ścieżki nieosiągalne
6. Techniki testowania statycznego
6.1. Przeglądy
6.1.1. Proces dla testowania statycznego
6.1.2. Metody sprawdzania oraz możliwe wyniki przeglądu
6.1.3. Role
6.1.4. Aspekt psychologiczny przeglądów
6.1.5. Typy przeglądów
6.1.6. Biznesowa wartość przeglądów
6.1.7. Wdrażanie przeglądów
6.1.8. Kryteria sukcesu przeglądów
6.2. Analiza statyczna
6.2.1. Analiza przepływu sterowania
6.2.2. Poprawność sekwencji operacji
6.2.3. Analiza przepływu danych
6.2.4. Narzędzia do parsowania kodu
6.2.5. Testowanie zgodności ze standardami oprogramowania
6.2.6. Metryki złożoności kodu
6.2.7. Formalne dowodzenie poprawności
6.2.8. Symboliczne wykonywanie kodu
6.2.9 Analiza statyczna strony internetowej
6.2.10. Grafy wywołań
7. Analiza dynamiczna
7.1. Wykrywanie wycieków pamięci
7.2. Wykrywanie dzikich i wiszących wskaźników
7.3. Błędy API
7.4. Analiza wydajności (profiling)
8. Techniki oparte na specyfikacji (czarnoskrzynkowe)
8.1. Podział na klasy równoważności
8.1.1. Opis metody
8.1.2. Formalna definicja podziału
8.1.3. Poprawne i niepoprawne klasy równoważności
8.1.4. Procedura tworzenia przypadków testowych
8.1.5. Przykład
8.1.6. Przykład śledzenia artefaktów procesu testowego
8.2. Analiza wartości brzegowych
8.2.1. Opis metody
8.2.2. Metody dwóch oraz trzech wartości granicznych
8.2.3. Które wartości rozważać jako brzegowe?
8.2.4. Przypadek zmiennych ciągłych
8.2.5. Przykład
8.3. Tablice decyzyjne
8.3.1. Opis metody
8.3.2. Wartości nieistotne i minimalizacja tablicy decyzyjnej
8.3.3. Przykład
8.4. Grafy przyczynowo-skutkowe
8.4.1. Opis metody
8.4.2. Przekształcanie między grafami P-S i tablicami decyzyjnymi
8.4.3. Metoda śledzenia wstecznego – redukcja liczby testów
8.4.4. Przykład
8.5. Testowanie przejść między stanami
8.5.1. Opis metody
8.5.2. Tabelaryczne reprezentacje przejść
8.5.3. Kryteria pokrycia dla maszyny stanowej
8.5.4. Diagram maszyny stanowej w UML
8.5.5. Przykład
8.6. Kategoria-podział (Category-Partition)
8.6.1. Opis metody
8.6.2. Przykład
8.7. Drzewa klasyfikacji
8.7.1. Opis metody
8.7.2. Budowa drzewa klasyfikacji
8.7.3. Asortyment produktów programowych i model cech
8.7.4. Przykład
8.8. Metody kombinacyjne
8.8.1. Opis metody
8.8.2. Each Choice
8.8.3. Base Choice
8.8.4. Multiple Base Choice
8.8.5. Pair-wise testing
8.8.6. Pokrycie n-tupletów (n-wise)
8.8.7. Pełne pokrycie kombinatoryczne
8.8.8. Subsumpcja kryteriów kombinacyjnych
8.9. Testowanie dziedziny
8.9.1. Opis metody
8.9.2. Hiperpłaszczyzny i podprzestrzenie
8.9.3. Wyznaczanie hiperpłaszczyzny przez punkty
8.9.4. Punkty IN, OUT, ON i OFF
8.9.5. Strategia IN-OUT dla testowania dziedziny
8.9.6. Strategia N-ON × M-OFF dla testowania wartości brzegowych
8.9.7. Ograniczenia nieliniowe
8.9.8. Przykład
8.10. Testowanie oparte na przypadkach użycia
8.10.1. Opis metody
8.10.2. Przykład
8.11. Testowanie oparte na scenariuszach
8.11.1. Opis metody
8.11.2. Przykład
8.12. Testowanie oparte na historyjkach użytkownika
8.12.1. Opis metody
8.12.2. Przykład
8.13. Testowanie losowe
8.13.1. Opis metody
8.13.2. Wady i zalety testowania losowego
8.13.3. Automatyzacja i problem wyroczni
8.13.4. Adaptive Random Testing (ART)
8.13.5. Losowanie danych wejściowych
8.13.6. Przykład
8.14. Testowanie oparte na składni
8.14.1. Opis metody
8.14.2. Notacja Backusa–Naura (BNF)
8.14.3. Tworzenie przypadków testowych
8.14.4. Przykład
8.15. Testowanie CRUD
8.15.1. Opis metody
8.15.2. Rozszerzenie metody
8.15.3. Przykład
8.16. Wybór i łączenie technik ze sobą
9. Techniki oparte na strukturze (białoskrzynkowe)
9.1. Testowanie instrukcji
9.1.1. Opis metody
9.1.2. Przykład
9.2. Testowanie gałęzi
9.2.1. Opis metody
9.2.2. Przykład
9.3. Testowanie decyzji
9.3.1. Opis metody
9.3.2. Testowanie decyzji a testowanie gałęzi
9.3.3. Przykład
9.4. Testowanie warunków
9.4.1. Opis metody
9.4.2. Przykład
9.5. Testowanie warunków/decyzji
9.5.1. Opis metody
9.5.2. Przykład
9.6. Testowanie wielokrotnych warunków
9.6.1. Opis metody
9.6.2. Zwarcie (semantyka short-circuit)
9.6.3. Nieosiągalne kombinacje warunków
9.6.4. Przykład
9.7. Testowanie warunków znaczących (MC/DC)
9.7.1. Opis metody
9.7.2. Dwa warianty kryterium MC/DC
9.7.3. Skorelowane a ścisłe pokrycie warunków znaczących
9.7.4. Wyznaczanie wartości warunków pobocznych dla warunku znaczącego
9.7.5. Przykład
9.8. Pokrycie MUMCUT oraz kryteria z nim związane
9.8.1. Opis metody
9.8.2. Kryteria MUTP, MNFP, CUTPNFP i MUMCUT
9.8.3. Przykład
9.8.4. Zdolność metody MUMCUT do wykrywania określonych typów błędów
9.9. Testowanie pętli
9.9.1. Opis metody
9.9.2. Pętle zagnieżdżone
9.9.3. Testowanie wzorców pętli
9.9.4. Przykład
9.10. Liniowa sekwencja kodu i skok (LSKiS)
9.10.1. Opis metody
9.10.2. Przykład
9.10.3. LSKiS a DD-ścieżki i bloki podstawowe
9.11. Testowanie ścieżek pierwszych
9.11.1. Opis metody
9.11.2. Algorytm wyznaczania ścieżek pierwszych
9.11.3. Przykład
9.12. Analiza ścieżek
9.12.1. Wstęp
9.12.2. Testowanie wszystkich ścieżek
9.12.3. Ścieżki liniowo niezależne i testowanie ścieżek bazowych
9.12.4. Wyznaczanie ścieżek bazowych
9.12.5. Przykład
9.12.6. Inne kryteria pokrycia związane z testowaniem ścieżek
9.13. Testowanie przepływu danych
9.13.1. Wstęp
9.13.2. Pokrycie wszystkich definicji (all-defs)
9.13.3. Pokrycie wszystkich użyć (all-uses)
9.13.4. Pokrycie wszystkich du-ścieżek (all-du-paths)
9.13.5. Uwagi o kryteriach pokrycia przepływu danych
9.13.6. Przykład
9.14. Objazdy i ścieżki poboczne (detours, sidetrips)
9.15. Testowanie mutacyjne
9.15.1. Wstęp
9.15.2. Rodzaje mutantów
9.15.3. Proces testowania mutacyjnego
9.15.4. Operatory mutacyjne
9.16. Subsumpcja kryteriów
10. Techniki oparte na defektach i na doświadczeniu
10.1. Wstrzykiwanie błędów
10.2. Taksonomie
10.3. Zgadywanie błędów
10.3.1. Opis metody
10.3.2. Przykład
10.4. Testowanie oparte na liście kontrolnej
10.5. Testowanie eksploracyjne
10.5.1. Opis metody
10.5.2. Przykład sesji testowania eksploracyjnego
10.6. Ataki usterkowe
10.7. Testowanie ad hoc
11. Wybór odpowiednich technik
12. Priorytetyzacja przypadków testowych
12.1. Wprowadzenie
12.2. Ocena priorytetyzacji – miara APFD
12.3. Techniki priorytetyzacji

CZĘŚĆ III. TESTOWANIE CHARAKTERYSTYK JAKOŚCIOWYCH

13. Model jakości według ISO

14. Modele jakości według ISO

15. Testowanie jakości użytkowej
15.1. Testowanie efektywności (effectiveness)
15.2. Testowanie wydajności (efficiency)
15.3. Testowanie satysfakcji (satisfaction)
15.3.1. Przydatność (usefulness)
15.3.2. Zaufanie (trust)
15.3.3. Przyjemność (pleasure)
15.3.4. Komfort (comfort)
15.4. Testowanie wolności od ryzyka (freedom from risk)
15.4.1. Ryzyko ekonomiczne (economic risk)
15.4.2. Ryzyko dotyczące zdrowia i bezpieczeństwa (health and safety risk)
15.4.3. Ryzyko związane ze środowiskiem (environmental risk)
15.5. Testowanie kontekstu użycia (context coverage)
15.5.1. Zupełność kontekstu (context completeness)
15.5.2. Elastyczność (flexibility)
16. Testowanie jakości produktu
16.1. Testowanie funkcjonalnej przydatności (functional suitability)
16.1.1. Zupełność funkcjonalności (functional completeness)
16.1.2. Poprawność funkcjonalności (functional correctness)
16.1.3. Stosowność funkcjonalności (functional appropriateness)
16.2. Testowanie wydajności w działaniu (performance efficiency)
16.2.1. Zachowanie w czasie (time behaviour)
16.2.2. Zużycie zasobów (resource utilization)
16.2.3. Pojemność (capacity)
16.2.4. Techniki testowania wydajności
16.3. Testowanie zgodności (compatibility)
16.3.1. Współistnienie (co-existence)
16.3.2. Współdziałanie (interoperability)
16.3.3. Przykład
16.4. Testowanie użyteczności (usability)
16.4.1. Zrozumiałość (appropriateness recognizability)
16.4.2. Łatwość nauki (learnability)
16.4.3. Łatwość użycia (operability)
16.4.4. Ochrona przed błędami użytkownika (user error protection)
16.4.5. Estetyka interfejsu użytkownika (user interface aesthetics)
16.4.6. Dostęp (accessibility)
16.5. Heurystyki dotyczące użyteczności
16.5.1. Heurystyki Nielsena
16.5.2. Laboratorium badania użyteczności (usability lab)
16.6. Testowanie niezawodności (reliability)
16.6.1. Dojrzałość (maturity)
16.6.2. Odporność na błędy (fault tolerance, robustness)
16.6.3. Odtwarzalność (recoverability)
16.6.4. Dostępność (availability)
16.7. Testowanie zabezpieczeń (security)
16.7.1. Poufność (confidentiality)
16.7.2. Integralność (integrity)
16.7.3. Niezaprzeczalność (non-repudiation)
16.7.4. Odpowiedzialność (accountability)
16.7.5. Uwierzytelnianie (authenticity)
16.8. Testowanie pielęgnowalności (maintainability)
16.8.1. Modularność (modularity)
16.8.2. Powtórne użycie (reusability)
16.8.3. Analizowalność (analyzability)
16.8.4. Modyfikowalność (modifiability)
16.8.5. Testowalność (testability)
16.9. Testowanie przenaszalności (portability)
16.9.1. Adaptowalność (adaptability)
16.9.2. Instalowalność (installability)
16.9.3. Zastępowalność (replaceability)
17. Testowanie jakości danych
17.1. Model jakości danych
17.2. Charakterystyki inherentne
17.2.1. Dokładność (accuracy)
17.2.2. Zupełność (completeness)
17.2.3. Spójność (consistency)
17.2.4. Wiarygodność (credibility)
17.2.5. Aktualność (currentness)
17.3. Charakterystyki inherentne i zależne od systemu
17.3.1. Dostępność (accessibility)
17.3.2. Zgodność (compliance)
17.3.3. Poufność (confidentiality)
17.3.4. Wydajność (efficiency)
17.3.5. Precyzja (precision)
17.3.6. Identyfikowalność (traceability)
17.3.7. Zrozumiałość (understandability)
17.4. Charakterystyki zależne od systemu
17.4.1. Dostępność (availability)
17.4.2. Przenaszalność (portability)
17.4.3. Odtwarzalność (recoverability)

CZĘŚĆ IV. ZARZĄDZANIE TESTOWANIEM

18. Zarządzanie testowaniem w kontekście
18.1. Kontekst ograniczeń projektowych
18.2. Kontekst interesariuszy procesu testowego
18.3. Kontekst produkcji oprogramowania
18.4. Kontekst cyklu życia oprogramowania
18.5. Kontekst testów
18.6. Kontekst czynnika ludzkiego
19. Testowanie oparte na ryzyku
19.1. Czym jest ryzyko?
19.2. Zalety testowania opartego na ryzyku
19.3. Rodzaje ryzyka
19.4. Zarządzanie ryzykiem w cyklu życia
19.5. Identyfikacja ryzyka
19.5.1. Analiza interesariuszy (stakeholder analysis)
19.5.2. Technika „władza versus zainteresowanie”
19.5.3. Techniki identyfikacji ryzyk
19.5.4. Przykłady ryzyk produktowych
19.6. Analiza ryzyka
19.6.1. Klasyfikacja ryzyk
19.6.2. Czynniki wpływające na prawdopodobieństwo i wpływ ryzyka
19.6.3. Ilościowa i jakościowa ocena ryzyka produktowego
19.6.4. Osiąganie konsensusu w procesie decyzyjnym
19.6.5. Priorytetyzacja ryzyk
19.7. Łagodzenie ryzyka
19.7.1. Sposoby łagodzenia ryzyka
19.7.2. Łagodzenie ryzyka przez testowanie
19.7.3. Estymacja kosztów łagodzenia ryzyka
19.8. Monitorowanie ryzyka
19.8.1. Macierz identyfikowalności ryzyk
19.8.2. Aktualizacja ryzyk oraz ich parametrów
19.8.3. Raportowanie
19.9. Techniki analizy ryzyka
19.9.1. PRAM (Pragmatic Risk Analysis and Management)
19.9.2. SST (Systematic Software Testing)
19.9.3. Przykład: zastosowanie SST do systemu ELROJ
19.9.4. PRisMa (Product Risk Management)
19.9.5. Przykład: zastosowanie PRisMa do systemu ELROJ
19.9.6. Analiza zagrożeń (hazard analysis)
19.9.7. Koszt ekspozycji ryzyka (cost of exposure)
19.9.8. FMEA (Failure Mode and Effect Analysis)
19.9.9. Przykład: zastosowanie FMEA do systemu ELROJ
19.9.10. QFD (Quality Function Deployment)
19.9.11. Przykład: zastosowanie QFD do systemu ELROJ
19.9.12. FTA (Fault Tree Analysis)
19.9.13. Przykład: zastosowanie FTA do systemu ELROJ
19.10. TMap (Test Management Approach)
19.11. TestGoal – testowanie oparte na wynikach
20. Pozostałe strategie testowania
20.1. Testowanie oparte na wymaganiach
20.1.1. Testowanie wymagań
20.1.2. Projektowanie testów opartych na wymaganiach
20.1.3. Przykład: obliczanie punktacji w grze w kręgle
20.2. Podejście oparte na modelu (profile operacyjne)
20.3. Podejście metodyczne (listy kontrolne)
20.4. Podejście oparte na standardzie
20.5. Inne podejścia
20.5.1. Podejście reaktywne
20.5.2. Podejście good enough
20.5.3. Podejście konsultacyjne
21. Dokumentacja w zarządzaniu testowaniem
21.1. Dokumenty organizacyjnego procesu testowego
21.1.1. Polityka testów
21.1.2. Przykład polityki testów
21.1.3. Organizacyjna strategia testowania
21.1.4. Przykład organizacyjnej strategii testowania
21.2. Dokumenty procesu zarządzania testowaniem
21.2.1. Plan testów (test plan)
21.2.2. Przykład planu testów
21.2.3. Jednopoziomowy plan testów (level test plan)
21.2.4. Przykład jednopoziomowego planu testów
21.2.5. Raport o stanie testów (test status report)
21.2.6. Przykład raportu o stanie testów
21.2.7. Raport końcowy z testowania (test completion report)
21.2.8. Przykład raportu końcowego z testowania
21.3. Dokumenty dynamicznych procesów testowych
21.3.1. Specyfikacja testów (test design specification)
21.3.2. Przykład specyfikacji testów
21.3.3. Specyfikacja przypadku testowego (test case specification)
21.3.4. Przykład specyfikacji przypadku testowego
21.3.5. Specyfikacja procedury testowej (test procedure specification)
21.3.6. Przykład specyfikacji procedury testowej
21.3.7. Wymagania co do danych testowych (test data requirements)
21.3.8. Przykład wymagania co do danych testowych
21.3.9. Wymagania co do środowiska testowego (test environment requirements)
21.3.10. Przykład wymagań co do środowiska testowego
21.3.11. Raport o gotowości danych testowych (test data readiness report)
21.3.12. Raport o gotowości środowiska testowego (test environment readiness report)
21.3.13. Otrzymane wyniki (actual results)
21.3.14. Wynik testu (test result)
21.3.15. Dziennik wykonania testów (test execution log)
21.3.16. Raport o incydencie (test incident report)
21.3.17. Raport z sesji testowania eksploracyjnego (exploratory testing session report)
21.3.18. Przykład raportu z sesji testowania eksploracyjnego
22. Szacowanie testów
22.1. Czynniki wpływające na szacowanie
22.2. Techniki szacowania
22.2.1. Intuicja, zgadywanie, doświadczenie
22.2.2. Estymacja przez analogię
22.2.3. Struktura podziału prac (Work Breakdown Structure, WBS)
22.2.4. Estymacja grupowa
22.2.5. Dane przemysłowe
22.2.6. Analiza punktów testowych (Test Point Analysis)
22.2.7. Modele matematyczne (parametryczne)
22.3. Negocjacje i redukcja zakresu testów
23. Nadzór i kontrola postępu testów
23.1. Wprowadzenie
23.2. Przykłady metryk
23.2.1. Metryki ryzyka produktowego
23.2.2. Metryki defektów
23.2.3. Metryki przypadków testowych
23.2.4. Metryki pokrycia
23.2.5. Metryki pewności
23.3. Zarządzanie testowaniem opartym na sesji
24. Biznesowa wartość testowania
24.1. Wprowadzenie
24.2. Koszt jakości
24.3. Wartość ekonomiczna oprogramowania i problemy z nią związane
24.4. Dług technologiczny w kontekście testowania
25. Testowanie rozproszone, zakontraktowane i zewnętrzne
25.1. Zespoły w ramach organizacji
25.2. Zespoły w ramach innych oddziałów organizacji
25.3. Dostawcy sprzętu i oprogramowania
25.4. Dostawcy usług testowych
25.5. TaaS (Testing as a Service)
26. Zarządzanie wdrażaniem standardów przemysłowych
27. Zarządzanie incydentami
27.1. Cykl życia defektu
27.2. Atrybuty defektu i ODC
27.2.1. Atrybuty defektów
27.2.2. ODC (Orthogonal Defect Classification)
27.2.3. Przykładowe analizy przy użyciu ODC
27.3. Metryki zarządzania incydentami
27.4. Zawartość raportu o incydencie
27.5. Komunikowanie incydentów

CZĘŚĆ V. LUDZIE I NARZĘDZIA

28. Ludzie i ich kompetencje – tworzenie zespołu
28.1. Budowanie zespołu testowego
28.1.1. Opis stanowiska
28.1.2. Analiza CV
28.1.3. Rozmowa kwalifikacyjna
28.1.4. Asymilacja nowego członka zespołu
28.1.5. Zakończenie zatrudnienia
28.2. Rozwój zespołu testowego
28.2.1. Indywidualny rozwój poszczególnych członków zespołu
28.2.2. Wyznaczanie celów
28.2.3. Dynamika zespołu testowego
28.2.4. Określanie ról i odpowiedzialności
28.2.5. Umiejętności zespołu jako całości: gap analysis
28.2.6. Indywidualne osobowości i role w zespole
28.2.7. Rozwój umiejętności i szkolenia
28.2.8. Mentoring
28.2.9. Okresowa ocena członków zespołu
28.3. Przywództwo
28.3.1. Zarządzanie a przywództwo
28.3.2. Model zmiany według Satir
28.3.3. Cechy charakteru lidera i zasady przywództwa
28.3.4. Informowanie i komunikacja
28.3.5. Lojalność, zaufanie i odpowiedzialność
28.3.6. Budowanie zespołu
28.4. Poziomy niezależności zespołu testowego
28.5. Komunikacja
29. Techniki pracy grupowej
29.1. Proces podejmowania decyzji
29.2. Techniki wspomagania kreatywności
29.2.1. Burza mózgów
29.2.2. NGT (Nominal Group Technique)
29.2.3. Metoda analogii
29.2.4. JAD (Joint Application Development)
29.3. Techniki porządkowania i priorytetyzacji
29.3.1. Diagram podobieństwa (affinity diagram)
29.3.2. Macierz i graf priorytetyzacji
29.3.3. Mapa myśli
29.4. Techniki szacowania i oceny
29.4.1. Wielokrotne głosowanie
29.4.2. Metoda delficka i Wideband Delphi
29.4.3. Poker planistyczny (planning poker)
29.4.4. Model Saaty’ego (Analytic Hierarchy Process)
29.5. Definiowanie problemu, przyczyny źródłowej lub możliwości
29.5.1. Analiza pola sił (force field analysis)
29.5.2. Immersja
29.5.3. Diagram rybiej ości (diagram Ishikawy)
30. Testowanie wspierane narzędziami
30.1. Podstawowe zagadnienia związane z użyciem narzędzi
30.1.1. Wybór odpowiedniego narzędzia
30.1.2. Koszty wdrożenia narzędzia
30.1.3. Ryzyka związane z wdrożeniem narzędzia
30.1.4. Korzyści z wdrożenia narzędzia
30.1.5. Strategie wdrażania automatyzacji
30.1.6. Integracja i wymiana informacji między narzędziami
30.1.7. Klasyfikacja narzędzi testowych
30.2. Automatyzacja testów
30.2.1. Czynniki sukcesu udanej automatyzacji
30.2.2. Metryki dla automatyzacji testów
30.3. Generyczna architektura automatyzacji testów
30.3.1. Warstwa generowania testów
30.3.2. Warstwa definiowania testów
30.3.3. Warstwa wykonania testów
30.3.4. Warstwa adaptacji testów
30.3.5. Zarządzanie konfiguracją
30.4. Automatyczna generacja danych testowych
30.5. Metody i techniki automatyzacji testów
30.5.1. Kroki procesu projektowania architektury
30.5.2. Podejścia do automatyzacji przypadków testowych
30.5.3. Podejście nagraj i odtwórz
30.5.4. Skrypty linearne
30.5.5. Skrypty zorganizowane
30.5.6. Testowanie oparte na danych
30.5.7. Testowanie oparte na słowach kluczowych
30.5.8. Testowanie oparte na procesie
30.5.9. Testowanie oparte na modelu
30.5.10. Języki i notacje dla definicji testów
30.6. Katalog narzędzi testowych
30.6.1. Narzędzia do zarządzania testami
30.6.2. Narzędzia do wykonywania/organizacji testów
30.6.3. Narzędzia do testowania mutacyjnego, posiewu usterek i wstrzykiwania błędów
30.6.4. Narzędzia do testów bezpieczeństwa
30.6.5. Symulatory i emulatory
30.6.6. Narzędzia do analizy statycznej i dynamicznej
30.6.7. Narzędzia do testów wydajnościowych
30.6.8. Narzędzia typu capture & replay
30.6.9. Narzędzia do testów jednostkowych
30.6.10. Testowanie w metodyce BDD
30.6.11. Narzędzia dla testowania opartego na modelu
30.6.12. Narzędzia do śledzenia defektów, zarządzania incydentami i raportowania
30.7. Wdrażanie narzędzi w organizacji
30.7.1. Cykl życia narzędzia
30.7.2. Użycie narzędzi open source
30.7.3. Przykładowe problemy związane z użyciem narzędzi

CZĘŚĆ VI. UDOSKONALANIE PROCESU TESTOWEGO

31. Kontekst udoskonalania procesu
31.1. Po co udoskonalać?
31.2. Co można udoskonalić?
31.3. Spojrzenia na jakość
31.3.1. Jakość oparta na produkcie
31.3.2. Jakość oparta na użytkowniku
31.3.3. Jakość oparta na wytwarzaniu
31.3.4. Jakość oparta na wartości
31.3.5. Jakość transcendentna
31.4. Generyczny proces udoskonalania
31.4.1. Cykl Deminga–Shewarta (PDCA)
31.4.2. IDEAL
31.4.3. Podstawowe zasady doskonałości (Fundamental Concepts of Excellence)
31.5. Przegląd podejść do udoskonalania
31.5.1. Podejścia oparte na modelu
31.5.2. Podejścia analityczne
31.5.3. Podejścia hybrydowe
31.5.4. Inne podejścia do udoskonalania procesu testowego
32. Udoskonalanie oparte na modelu
32.1. Wprowadzenie
32.2. Udoskonalanie procesów organizacyjnych i biznesowych
32.2.1. TQM (Total Quality Management)
32.2.2. ISO

32.2.3. EFQM Excellence Model
32.2.4. Six Sigma
32.2.5. Lean
32.3. Udoskonalanie procesu produkcji oprogramowania
32.3.1. CMMI
32.3.2. ISO/IEC

32.3.3. ITIL (Information Technology Infrastructure Library)
32.3.4. TSP (Team Software Process)
32.3.5. BOOTSTRAP
32.4. Udoskonalanie procesu testowego – modele referencyjne procesu
32.4.1. TPI Next (Test Process Improvement)
32.4.2. TMMi (Test Maturity Model integration)
32.4.3. Porównanie TPI Next i TMMi
32.5. Udoskonalanie procesu testowego – modele referencyjne zawartości
32.5.1. STEP (Systematic Test and Evaluation Process)
32.5.2. CTP (Critical Testing Processes)
33. Podejście analityczne
33.1. Wprowadzenie
33.2. Analiza przyczynowa
33.2.1. Opis metody
33.2.2. Wybór elementów do analizy przyczynowej
33.2.3. Zebranie i zorganizowanie informacji
33.2.4. Identyfikacja przyczyny źródłowej przez analizę zebranych informacji
33.2.5. Wyciągnięcie wniosków
33.3. Podejście GQM (Goal–Question–Metric)
33.3.1. Opis metody
33.3.2. Fazy GQM
33.3.3. Dwa paradygmaty metody GQM
33.3.4. Wzorzec definiowania celu
33.3.5. Siedem pytań
33.3.6. Przykład
33.4. Miary, metryki i wskaźniki
34. Wybór metody usprawniania
35. Proces udoskonalania
35.1. Wprowadzenie
35.2. Rozpoczęcie procesu doskonalenia
35.2.1. Określenie powodu doskonalenia (stymulacja do zmiany)
35.2.2. Ustanowienie celów dla doskonalenia testowania
35.2.3. Określenie kontekstu
35.2.4. Pozyskanie wsparcia
35.2.5. Stworzenie infrastruktury dla procesu udoskonalania
35.3. Diagnozowanie aktualnej sytuacji
35.3.1. Scharakteryzowanie obecnego oraz pożądanego stanu procesu
35.3.2. Rekomendacje akcji naprawczych
35.4. Ustanowienie planu doskonalenia procesu testowego
35.4.1. Ustanowienie priorytetów dla wdrażania planu doskonalenia
35.4.2. Opracowanie podejścia do wdrożenia
35.4.3. Zaplanowanie działań związanych z wdrożeniem
35.5. Działanie w celu wdrożenia udoskonaleń
35.5.1. Stworzenie rozwiązania
35.5.2. Rozwiązania pilotażowe/testowe
35.5.3. Doprecyzowanie rozwiązania
35.5.4. Zaimplementowanie rozwiązania
35.6. Wyciąganie wniosków z projektu doskonalenia testów
35.6.1. Analiza i weryfikacja przeprowadzonych działań
35.6.2. Propozycje przyszłych rozwiązań
36. Organizacja, role i umiejętności
36.1. Organizacja
36.1.1. Zakres działań GPT
36.1.2. Organizacja Grupy procesu testowego
36.1.3. Właściwości Grupy procesu testowego
36.2. Role i umiejętności
36.2.1. Doskonalący proces testowy
36.2.2. Główny oceniający
36.2.3. Oceniający
36.2.4. Umiejętności doskonalącego proces testowy
37. Czynniki sukcesu

CZĘŚĆ VII. JAKOŚĆ OPROGRAMOWANIA

38. Czym jest jakość oprogramowania?
38.1. Testowanie oprogramowania a jakość oprogramowania
38.2. Model Kano
38.3. Dojrzałość procesu i standardy jakości
38.3.1. SPR
38.3.2. Ocena Malcolma Baldridge’a
38.4. Co mierzyć, jak mierzyć i po co mierzyć?
39. Podstawy teorii pomiarów
39.1. Metryka, miara, wskaźnik, pomiar
39.2. Skale pomiarowe
39.2.1. Skala nominalna
39.2.2. Skala porządkowa
39.2.3. Skala interwałowa
39.2.4. Skala stosunkowa
39.2.5. Podsumowanie rodzajów skal pomiarowych
39.3. Typy metryk
39.3.1. Metryka bezpośrednia (podstawowa)
39.3.2. Suma/różnica
39.3.3. Stosunek
39.3.4. Proporcja
39.3.5. Odsetek
39.3.6. Miary iloczynowe
39.3.7. Tempo
39.4. Spójność i odpowiedniość pomiaru
39.5. Błędy pomiarowe
39.6. Podstawowe zasady analizy danych
39.6.1. Miary tendencji centralnej
39.6.2. Miary rozproszenia
39.6.3. Korelacja i regresja liniowa
39.6.4. Przyczynowość
40. Narzędzia kontroli jakości
40.1. Klasyfikacja narzędzi
40.2. Rodzaje narzędzi oraz obszary ich zastosowań
40.3. Statystyczna kontrola procesu
40.3.1. Wykres przebiegu
40.3.2. Karty kontrolne
40.4. Wykres czasu cyklu
40.5. Narzędzia analizy i zapobiegania przyczynom źródłowym
40.5.1.
pytań „dlaczego?” i diagram „why–why”
40.5.2. Macierz „jest–nie jest”
40.5.3. Kaizen
40.5.4. Poka yoke
41. Metryki wielkości oprogramowania
41.1. Metryki wolumenowe
41.1.1. LOC
41.1.2. Współczynnik produktywności języka
41.1.3. Pomiar specyfikacji i projektu
41.2. Metryki funkcjonalności
41.2.1. Punkty funkcyjne
41.2.2. Punkty obiektowe i rozszerzone punkty obiektowe
41.2.3. Punkty cech
41.2.4. Punkty przypadków użycia
42. Metryki charakterystyk jakościowych
42.1. Metryki dla funkcjonalności
42.2. Metryki dla niezawodności
42.3. Metryki dla użyteczności
42.4. Metryki dla wydajności
42.5. Metryki dla pielęgnowalności
42.6. Metryki dla przenaszalności
43. Metryki złożoności oprogramowania
43.1. Metryki Halsteada
43.2. Złożoność cyklomatyczna McCabe’a
43.2.1. Gęstość złożoności cyklomatycznej
43.2.2. ECC (Essential Cyclomatic Complexity)
43.3. Konstrukcje składniowe
43.4. Metryki struktur
43.5. Metryki złożoności systemu
43.5.1. Indeks utrzymywalności
43.5.2. Metryka złożoności systemu Agrestiego–Carda–Glassa
43.6. Metryki obiektowe
43.6.1. Metryki Lorenza
43.6.2. Metryki CK
43.7. Metryki złożoności dokumentacji
43.8. Metryki złożoności algorytmicznej
44. Metryki i modele wysiłku
44.1. Modele oparte na zgadywaniu i intuicji
44.2. Modele oparte na dekompozycji
44.3. Modele oparte na wiedzy eksperckiej
44.4. Modele oparte na benchmarkach
44.5. Modele oparte na porównaniu
44.5.1. Porównanie proste (naiwne)
44.5.2. Porównanie z uwzględnieniem różnic
44.6. Modele parametryczne
44.6.1. Tworzenie własnego modelu
44.6.2. Model COCOMO II
44.7. Łączenie modeli i uwagi na temat estymacji
45. Metryki i modele dla defektów
45.1. Natura defektów
45.2. Metryki defektów
45.3. Modele statyczne defektów
45.3.1. Model wprowadzania/usuwania defektów
45.3.2. Model fazowy
45.3.3. Model dwufazowy
45.3.4. Efektywność usuwania defektów i powstrzymanie fazowe
45.3.5. Modele zmian w kodzie
45.4. Modele dynamiczne defektów
45.4.1. Model Rayleigha
45.4.2. Model wykładniczy i S-kształtny
45.4.3. Model COQUALMO
45.5. Analiza mutacyjna
45.6. Metryki dynamicznej stylometrii
46. Metryki i modele przyrostu niezawodności
46.1. Wprowadzenie
46.2. Matematyczne podstawy teorii niezawodności
46.2.1. Funkcja niezawodności i funkcja awarii
46.2.2. Metryka MTTF (średniego czasu do awarii)
46.2.3. Rozkłady prawdopodobieństwa modelujące występowanie awarii
46.2.4. Rozkład wykładniczy i jego związek z metryką MTTF
46.2.5. Funkcja częstości awarii oraz ryzyko (hazard rate)
46.2.6. Prawdopodobieństwo awarii do czasu t
46.3. Modele przyrostu niezawodności
46.3.1. Model Jelinskiego–Morandy
46.3.2. Model niedoskonałego debugowania Goela–Okumoto
46.3.3. Niejednorodny model procesu Poissona Goela–Okumoto
46.3.4. Logarytmiczny model Poissona czasu wykonywania Musy–Okumoto
46.3.5. Model S-kształtny
46.3.6. Inne modele niezawodności
47. Metryki i modele dostępności
47.1. Dostępność
47.1.1. Dostępność ciągła a dostępność wysoka
47.1.2. Metody zwiększające dostępność systemu
47.1.3. Ilościowa miara dostępności i jej obliczanie
47.2. Odmładzanie oprogramowania
47.2.1. Powody degradacji i sposoby odmładzania oprogramowania
47.2.2. Wpływ odmładzania na dostępność systemu
48. Metryki dla procesu testowego
49. Metryki zadowolenia klienta
49.1. Proces pomiaru zadowolenia klienta
49.1.1. Wybór metody i sposobu przeprowadzenia badania
49.1.2. Opracowanie ankiety/kwestionariusza lub innego narzędzia badań
49.1.3. Wybór metody próbkowania
49.1.4. Wybór rozmiaru próby
49.1.5. Zebranie, opracowanie i analiza danych
49.2. Dział wsparcia klienta
50. Sposób prezentowania danych
50.1. Prezentowanie danych graficznych
50.2. Prezentowanie metryk

Dodatek A. Specyfikacja programu ELROJ
Dodatek B. Normy i standardy
Dodatek C. Matematyczny i teoretyczno-informatyczny 1017 Dodatek D. Informacja o certyfikacji i egzaminach
Bibliografia
Skorowidz

Dodaj do koszyka Testowanie i jakość oprogramowania

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.