Testowanie w procesie Scrum



Podobne dokumenty
Agile Project Management

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Testowanie w procesie Scrum

4. Wprowadzanie Scruma w ImmobilienScout Opis sytuacji

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Testowanie oprogramowania. Piotr Ciskowski

Klasyczna organizacja też może być zwinna! Zarządzaj zwinnie projektami!

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Opis realizacji dla czterech zespołów (4 przypadki użycia)

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Budowanie aplikacji biznesowych przy użyciu. Presentation Foundation i wzorca MVVM

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Zajęcia prowadzone przez MCT, auditora wiodącego systemów bezpieczeństwa informacji.

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

mtim Dedykowane aplikacje mobilne dla TIM S.A.

Adaptywny kod : zwinne programowanie, wzorce projektowe i SOLID-ne zasady / Gary McLean Hall. Gliwice, cop Spis treści

Egzamin / zaliczenie na ocenę*

INŻYNIERIA OPROGRAMOWANIA

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Testowanie i walidacja oprogramowania

PROJEKT Z BAZ DANYCH

Testy poziom po poziomie

Instalowanie i konfigurowanie Windows Server 2012 R2

I N S T Y T U T I N F O R M A T Y K I S T O S O W A N E J 2016

PRZEWODNIK PO PRZEDMIOCIE

udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Wymagania: umiejętność modelowania systemów informatycznych z wykorzystaniem UML. umiejętność definiowania i kreatywnego rozwiązywania problemów

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Jakość w procesie wytwarzania oprogramowania

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

6 Metody badania i modele rozwoju organizacji

Usługa: Testowanie wydajności oprogramowania

Aplikacje internetowe i mobilne w zarządzaniu

Program szkolenia: Jenkins - Continuous Integration

Pytania z przedmiotów kierunkowych

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Narzędzia CASE dla.net. Łukasz Popiel

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

AKADEMIA GÓRNICZO-HUTNICZA

Architektura oprogramowania w praktyce. Wydanie II.

Testowanie oprogramowania

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Maciej Oleksy Zenon Matuszyk

Szablon Planu Testów Akceptacyjnych

Zasady organizacji projektów informatycznych

Zaawansowane programowanie w języku C++

Spis treści. Wstęp Rozdział 1. Wprowadzenie do e-learningu... 19

Sekcja I: Instytucja zamawiająca/podmiot zamawiający

Piotr Ślęzak. Gdzie się podziała jakość

Projektowanie oprogramowania

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

PROJEKTOWANIE ZORIENTOWANE NA UŻYTKOWNIKA W METODYCE SCRUM. Hubert Wawrzyniak Grupa Allegro

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Koncepcja systemu zarządzania jakością w dużym projekcie informatycznym zgodnie z normą ISO/IEC 9001:2008

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Spis treści. Istota i przewartościowania pojęcia logistyki. Rozdział 2. Trendy i determinanty rozwoju i zmian w logistyce 42

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

WPROWADZENIE DO UML-a

Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań

Wdrożenie technologii procesowej IBM BPM w EFL

Wykład 1 Inżynieria Oprogramowania

KARTA PRZEDMIOTU 1. INFORMACJE OGÓLNE O PRZEDMIOCIE. Politologia Forma studiów. Studia stacjonarne Poziom studiów

TESTER OPROGRAMOWANIA STUDIA PODYPLOMOWE

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

KARTA PRZEDMIOTU 1,5 1,5

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

Programowanie Zespołowe

Joyce Cox Joan Lambert. Microsoft Access Krok po kroku. Przekład: Jakub Niedźwiedź

TEMAT SZKOLENIA Ewaluacja programów i projektów, Informacja zwrotna i (obszar 7) OPIS SZKOLENIA

Programowanie Zespołowe

Dlaczego testowanie jest ważne?

Dr Stanisław Szela. Dr Stanisław Szela

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Technologia programowania

Program szkolenia: Continuous Integration i Git

Testujemy dedykowanymi zasobami (ang. agile testers)

Transkrypt:

Tilo Linz Testowanie w procesie Scrum Przewodnik po zarządzaniu jakością oprogramowania w świecie programowania zwinnego Przekład: Jakub Niedźwiedź APN Promise, Warszawa 2014

v 1 Wprowadzenie........................................1 1.1 Grupa docelowa.......................................... 2 1.2 Zawartość książki......................................... 3 1.3 Studium przypadku....................................... 5 1.4 Strona WWW............................................. 6 2 Podejście zwinne a tradycyjne........................7 2.1 Scrum.................................................... 7 2.2 Kanban.................................................. 15 2.3 Tradycyjne modele procesów............................ 17 2.4 Porównanie modeli procesów............................ 21 3 Planowanie projektu zwinnego......................25 3.1 Wizja produktu.......................................... 26 3.2 Wizja architektury........................................ 26 3.3 Zaległości produktowe................................... 28 3.4 Mapa scenariuszy........................................ 30 3.5 Zaległość sprintu........................................ 32 3.6 Karta zespołu............................................ 33 3.7 Planowanie testów i zarządzanie testami................. 35 3.7.1 Tradycyjne zarządzanie testami.................. 35 3.7.2 Zarządzanie testami w Scrum.................... 35 3.7.3 Poziomy testowania w Scrum.................... 37

vi 3.8 Wprowadzenie do planowania zwinnego................. 38 3.9 Pytania i ćwiczenia....................................... 38 3.9.1 Samoocena..................................... 38 3.9.2 Metody i techniki................................ 39 3.9.3 Inne ćwiczenia.................................. 39 4 Testy jednostkowe i programowanie sterowane testami...................................41 4.1 Testowanie jednostkowe................................. 41 4.1.1 Klasy i obiekty................................... 42 4.1.2 Testowanie metod klasy......................... 43 4.1.3 Testowanie stanu obiektów...................... 51 4.1.4 Kryteria pokrycia kodu w testowaniu opartym na stanach............................. 54 4.1.5 Testowanie permutacji metod................... 56 4.2 Programowanie sterowane testami....................... 58 4.2.1 Programowanie sterowane testami a Scrum...... 61 4.2.2 Implementowanie sterowania testami........... 62 4.2.3 Korzystanie z programowania sterowanego testami............................ 64 4.3 Platformy testowania jednostkowego.................... 68 4.4 Obiekty zastępcze....................................... 70 4.5 Zarządzanie testami jednostkowymi...................... 71 4.5.1 Planowanie testów jednostkowych.............. 74 4.6 Pytania i ćwiczenia....................................... 75 4.6.1 Samoocena..................................... 75 4.6.2 Metody i techniki................................ 76 4.6.3 Inne ćwiczenia.................................. 77 5 Testowanie integracyjne i ciągła integracja..........79 5.1 Testowanie integracyjne................................. 79

vii 5.1.1 Typowe błędy integracyjne i ich przyczyny....... 80 5.1.2 Projektowanie przypadków testów integracyjnych.................................. 82 5.1.3 Różnice pomiędzy testami jednostkowymi a testami integracyjnymi........ 84 5.2 Rola odgrywana przez architekturę systemową........... 86 5.2.1 Zależności i interfejsy............................ 88 5.2.2 Łatwość testowania i nakłady pracy na testowanie................................... 89 5.3 Poziomy integracji....................................... 90 5.3.1 Integracja klas................................... 90 5.3.2 Integracja podsystemów........................ 92 5.3.3 Integracja systemów............................ 92 5.4 Tradycyjne strategie integracji............................ 94 5.5 Ciągła integracja......................................... 94 5.5.1 Proces ciągłej integracji......................... 95 5.5.2 Implementowanie ciągłej integracji.............. 98 5.5.3 Optymalizowanie ciągłej integracji.............101 5.6 Zarządzanie testami integracyjnymi.....................103 5.7 Pytania i ćwiczenia......................................105 5.7.1 Samoocena....................................105 5.7.2 Metody i techniki...............................106 5.7.3 Inne ćwiczenia.................................107 6 Testowanie systemowe i testowanie non-stop..... 109 6.1 Testowanie systemowe.................................109 6.2 Środowisko testowania systemowego...................112 6.3 Ręczne testowanie systemowe..........................114 6.3.1 Testowanie badawcze..........................114 6.3.2 Testowanie oparte na sesjach...................115 6.3.3 Testowanie akceptacyjne.......................116

viii 6.4 Zautomatyzowane testowanie systemowe...............117 6.4.1 Testowanie z użyciem rejestrowania/ odtwarzania...................................118 6.4.2 Testowanie sterowane słowami kluczowymi....119 6.4.3 Testowanie sterowane zachowaniami...........124 6.5 Programowanie sterowane testami przy testowaniu systemowym................................126 6.5.1 Repozytorium testów systemowych............127 6.5.2 Programowanie w parach......................127 6.6 Testowanie niefunkcjonalne.............................128 6.7 Zautomatyzowane testowanie akceptacyjne.............132 6.8 Kiedy powinno odbywać się testowanie systemowe?....132 6.8.1 Testowanie systemowe w ostatnim sprincie.....133 6.8.2 Testowanie systemowe na końcu sprintu........134 6.8.3 Testowanie systemowe non-stop...............135 6.9 Sprint tworzący wersję produktu oraz wdrażanie........136 6.10 Zarządzanie testami systemowymi......................138 6.11 Pytania i ćwiczenia......................................139 6.11.1 Samoocena....................................139 6.11.2 Metody i techniki...............................140 6.11.3 Inne ćwiczenia.................................141 7 Zarządzanie jakością i zapewnianie jakości........ 143 7.1 Tradycyjne zarządzanie jakością.........................143 7.1.1 Norma ISO 9000................................143 7.1.2 Zasady PDCA...................................144 7.1.3 Mocne i słabe strony...........................145 7.1.4 Modelowanie procesów a rozwój oprogramowania...............................147

ix 7.2 Zwinne zarządzanie jakością............................148 7.2.1 Upraszczanie dokumentacji zarządzania jakością............................148 7.2.2 Zmienianie kultury zarządzania jakością........150 7.2.3 Retrospektywy i poprawianie procesów.........152 7.3 Radzenie sobie z wymaganiami dotyczącymi zgodności.153 7.3.1 Wymagania odnośnie procesów tworzenia oprogramowania....................153 7.3.2 Wymagania identyfikowalności.................154 7.3.3 Wymagania dotyczące atrybutów produktu.....156 7.4 Tradycyjne zapewnianie jakości.........................157 7.4.1 Narzędzia do zapewniania jakości..............157 7.4.2 Organizacja....................................157 7.5 Zwinne zapewnianie jakości.............................158 7.5.1 Zasady i narzędzia..............................159 7.5.2 Mocne i słabe strony...........................161 7.6 Testowanie zwinne.....................................164 7.6.1 Krytyczne czynniki udanego testowania zwinnego..........................164 7.6.2 Planowanie testów w Scrum....................166 7.7 Umiejętności, szkolenia, wartości........................167 7.8 Pytania i ćwiczenia......................................169 7.8.1 Samoocena....................................169 7.8.2 Metody i techniki...............................170 7.8.3 Inne ćwiczenia.................................171 8 Studia przypadków................................ 173 8.1 Wykorzystanie Scrum do tworzenia oprogramowania do produkcji wideo i audio............173 8.2 Testowanie systemowe non-stop Wykorzystanie Scrum do opracowywania narzędzia TestBench.....................................178

x 8.3 Wykorzystanie Scrum przy tworzeniu sklepu internetowego..........................................185 8.4 Wprowadzenie Scrum w firmie ImmobilienScout24......188 8.5 Scrum w środowisku technologii medycznych...........194 8.6 Testowanie w procesie Scrum w firmie GE Oil & Gas......204 Dodatki A Słowniczek......................................... 215 B Źródła.............................................. 219 B.1 Literatura...............................................219 B.2 Witryny WWW..........................................222 B.3 Normy..................................................223 O autorze.......................................... 226 Indeks.............................................. 227