MENU

KATEGORIE

TOPLISTA

Torrent: Testowanie i jakość oprogramowania (2015, PWN) - Adam Roman [PL] [pdf] [LIBGEN]
Testowanie i jakość oprogramowania (2015, PWN) - Adam Roman [PL] [pdf] [LIBGEN]
Dodał: umezrorv
Data: 19-07-2021
Rozmiar: 19.49 MB
Seed: 1
Peer: 0
Pobierz torrent

  • *
Głosów: 0
Kategoria: KSIĄŻKI -> KSIĄZKI / GAZETY
Zaakceptował: nie wymagał akceptacji
Liczba pobrań: 2
Liczba komentarzy: 0
Ostatnia aktualizacja: 0000-00-00 00:00:00
OPIS:
..::(Info)::..

Tytuł: Testowanie i jakość oprogramowania
Rok: 2015
Wydawca: PWN
Format: pdf

..::(Opis)::..

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.
O autorze
Adam Roman - pracownik naukowo-dydaktyczny na Wydziale Matematyki i Informatyki Uniwersytetu Jagiellońskiego, doktor habilitowany nauk technicznych w zakresie informatyki. Wieloletni wykładowca oraz trener szkoleń związanych z testowaniem i zapewnianiem jakości oprogramowania. Jego zainteresowania naukowe w tym zakresie to przede wszystkim: techniki projektowania efektywnych testów, optymalizacja suit testowych, doskonalenie procesu testowego, testowanie mutacyjne, testowanie oparte na modelu, modele predykcji defektów. Współpracownik wielu firm w zakresie projektów R&D związanych z zapewnianiem jakości oprogramowania oraz analizy danych (Blackbird, Motorola, Rivet Group, Sabre, Yellow Lab). Autor szeregu artykułów z zakresu kontroli i zapewniania jakości oprogramowania, a także wydanej przez PWN w 2015 roku monografii Testowanie i jakość oprogramowania. Modele, techniki, narzędzia. Członek Polskiego Komitetu Normalizacyjnego (współpraca nad międzynarodowymi normami ISO 25000 - System and Software Quality Requirements and Evaluation oraz ISO 29119 - Software Testing Standard) oraz Stowarzyszenia Jakości Systemów Informatycznych. Certyfikowany tester (ISTQB Full Advanced) oraz inżynier jakości oprogramowania (ASQ Certified Software Quality Engineer).
Spis ilustracji
Spis tabel
Spis listingów
Znaki handlowe
Wstęp
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 definicje3. 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 29119
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ówCZĘŚĆ 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ęci7.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ład8.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 losowego8.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ów9.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 danych9.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 912614. Modele jakości według ISO 25010
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 ryzyk19.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ętrzne25.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. Mentoring28.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ędzia30.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ściowych30.6.8. Narzędzia typu capture and replay
30.6.9. Narzędzia do testów jednostkowych
30.6.10. Testowanie w metodyce BDD
30.6.11. Narzędzia do 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 biznesowych32.2.1. TQM (Total Quality Management)
32.2.2. ISO 9000
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 15504
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źniki34. 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 testowy37. 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. 5 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 cyklomatycznej43.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 Rayleigha45.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 badania49.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
Dodatek B
Dodatek C
Dodatek D
Bibliografia
O autorze
DETALE TORRENTA:[ Pokaż/Ukryj ]

Podobne pliki
Testowanie oprogramowania: podręcznik dla początkujących (2014, Helion) - Rafał Pawlak [PL] [pdf] [LIBGEN]
Testowanie oprogramowania: podręcznik dla początkujących (2014, Helion) - Rafał Pawlak [PL] [pdf] [LIBGEN]
Testowanie oprogramowania. Podręcznik dla początkujących (2014, Helion) - Rafał Pawlak [PL] [pdf] [LIBGEN]
Testowanie oprogramowania. Podręcznik dla początkujących (2014, Helion) - Rafał Pawlak [PL] [pdf] [LIBGEN]
SDJ 03/2009 - Testowanie oprogramowania [PL]
SDJ 03/2009 - Testowanie oprogramowania [PL]
Python. Programuj szybko i wydajnie (2015, Helion) - Micha Gorelick, Ian Ozsvald [jakość wydawnicza] [PL] [PDF] [ LIBGEN]
Python. Programuj szybko i wydajnie (2015, Helion) - Micha Gorelick, Ian Ozsvald [jakość wydawnicza] [PL] [PDF] [ LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [pdf] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [djvu2] [LIBGEN]
Praktyczne podejscie do inzynierii oprogramowania (2004, WNT) - Roger S. Pressman [inżynieria oprogramowania] [PL] [djvu2] [LIBGEN]

Komentarze

Brak komentarzy

Zaloguj się aby skomentować