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

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

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

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

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

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Techniki efektywnego testowania kodu dla programistów Java (Spock

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

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

Java Persistence API - zagadnienia zaawansowane

Wprowadzenie do Behaviordriven

Szkolenie wycofane z oferty

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów

REFERAT PRACY DYPLOMOWEJ

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Receptury - niezbędnik projektanta i architekta

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

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

Wzorce projektowe i architektura dla platformy Java EE

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Testowanie oprogramowania. Piotr Ciskowski

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Program szkolenia: Continuous Integration i Git

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

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

Szkolenie: Automatyzacja testowania

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

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

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

Automatyzacja bez nadmiernego bólu. Piotr Januszek

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

Programowanie zespołowe

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Spis treści. Przedmowa Karolina Zmitrowicz, Adam Roman. Część I. Organizacja i procesy 1

Maciej Oleksy Zenon Matuszyk

Testowanie oprogramowania

Programowanie Zespołowe

Implementacja Domain Driven Design - wzorce architektoniczne (część

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów

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

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, Bydgoszcz

Domain Driven Design - projektowanie modeli złożonych domen (część

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Tworzenie gier na urządzenia mobilne

Program szkolenia: Jenkins - Continuous Integration

Oferta szkoleń firmy Code Sprinters

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

INŻYNIERIA OPROGRAMOWANIA

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Oferta usług coachingowych firmy Code Sprinters

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

Praca z kodem legacy : strategie, naprawa błędów, refaktoryzacja oraz

Dwuwymiarowy sposób na podróbki > 34

Zaawansowane programowanie w języku C++

Behavior Driven Development (BDD)

Pytania i wyjaśnienia treści Specyfikacji Istotnych Warunków Zamówienia

Robotic Process Automation

Testowanie w procesie Scrum

Domain Driven Design - projektowanie modeli złożonych domen (część

Jak uchronić architekturę i wymagania przed chaosem? Warszawa, 27 stycznia 2016 roku

TESTOWANIE APLIKACJI KORPORACYJNYCH

TESTER OPROGRAMOWANIA STUDIA PODYPLOMOWE

Projektowanie oprogramowania

Usługa: Testowanie wydajności oprogramowania

Program szkolenia: JavaScript Craftsmanship

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE

Testowanie i walidacja oprogramowania

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Scala - programowanie obiektowo-funkcyjne

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Praktyka testowania dla początkujących testerów

Continuous Testing a nowa era w jakości oprogramowania. Grzegorz Leopold, Michał Błaszak

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

mint software Business Solutions Development Team

CASE STUDIES TEST FACTORY

HP Service Anywhere Uproszczenie zarządzania usługami IT

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Akademia testera oprogramowania i systemów IT Poziom I specjalista testowania (56 h) kurs dzienny

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Analiza biznesowa a metody agile owe

Domain Driven Design krok po kroku

Wstęp do testowania : Szymon Ramczykowski

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Microsoft Test Manager

Metody testowania oprogramowania w cyklu wytwarzania aplikacji. Milena Sobolewska. Rule Financial - Software Test Engineer

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Analityk i współczesna analiza

Dobre wdrożenia IT cz. I Business Case.

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Celem artykułu będzie zaproponowanie strategii testowania automatycznego

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Dlaczego testowanie jest ważne?

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

MAJ 2016 CASE STUDY

Transkrypt:

Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec test-coop Testowanie i QA developerzy testerzy 3 dni 50% wykłady / 50% warsztaty Szkolenie ma na celu wprowadzenie konkretnych praktyk umożliwiających płynną współpracę pomiędzy testerami a programistami. Przedstawione techniki mogą być stosowane również w celu umożliwienia współpracy na styku IT i biznesu. Szkolenie rozpoczyna się od przyjęcia strategii testowania odpowiadając na pytanie: co testujemy (zakres) oraz w jakim celu (rola testu). Rozpoczynamy od zapoznania z technikami Agile: Behavior Driven Development oraz Specification by Example raz z najlepszymi praktykami tworzenia wykonywalnych specyfikacji. Drugiego dnia pracujemy w zespołach nad tworzeniem automatycznych testów akceptacyjnych do projektu szkoleniowego. Każdy zespół składa się z testerów i programistów (grających role twórców projektu testowego). Programiści pracują nad warstwą automatyzacji tworząc Feature Objecty, które zajmują się interakcją z testowanym systemem - zarówno poprzez UI (Selenium) jak i API (REST). Celem programistów jest stworzenie wygodnych "agentów", na bazie których testerzy będą budować wyższe warsty testów. Testerzy pracują nad warstwą Flow i Spec by Example. Testerzy ćwiczą deklaratywne formułowanie historyjek oraz narzędzia: JBehave/SpecFlow. Narzędzia te pozwalają testerom programować w języku naturalnym parametryzowalne, wykonywalne specyfikacje. Warsztaty są wzbogacone o mechanikę grywalizacji: zespoły rywalizują ze sobą po kątem ilości znalezionych błędów i pokrycia systemu testami. Materiały wstępne Przed szkoleniem możesz zapoznać się z serią naszych artykułów: Testowanie automatyczne. Zalety szkolenia: Współpraca programistów i testerów w całym procesie produkcji oprogramowania Narzędzia automatyzacji Zagadnienia architektury aplikacji wspierającej testowalność kodu Najlepsze wzorce i praktyki Strona: 1/6

Aspekty Behavior Driven Development i Domain Driven Design Strona: 2/6

Szczegółowy program: 1. Podstawy testowania 1.1. Strategiczne podejście do testowania - dwuwymiarowe ujęcie: CO x PO CO 1.1.1. Zakres testów - co testujemy 1.1.1.1. Jednostkowe 1.1.1.2. Czym jest Unit w Unit testach? 1.1.1.3. Integracyjne 1.1.1.4. End 2 End komponentowe 1.1.1.5. End 2 End systemowe 1.1.2. Rola testów - po co testujemy 1.1.2.1. Perfekcja działania szczegółów 1.1.2.2. Akceptacyjne - spełnianie wymagań 1.1.2.3. Testy funkcjonalne 1.1.2.4. Testy bezpieczeństwa 1.1.2.5. Testy wydajności 1.1.2.6. Regresyjne - czy wciąż działa 1.2. Automatyzacja procesu testowania 1.3. Wybór strategii testowania w projekcie 1.4. Strategia budowania piramidy testów 1.4.1. Problem: im wyżej w warstwach tym więcej kombinacji możliwości i więcej zależności 1.4.2. Mapowanie piramidy na warstwy systemu 2. Architektura aplikacji otwartej na testowanie 2.1. Rozwarstwienie logiki na aplikacyjną i domenową 2.1.1. Wyłanianie Funktorów i Service Objectów Strona: 3/6

2.1.1.1. Uniknięcie zależności technicznych 2.1.1.2. Uniknięcie potrzeby Mockowania 2.2. Piramida testów - jak ją interpretować w kontekście warstw 2.2.1. Logika aplikacji - testy End 2 End 2.2.2. Logika domenowa - testy jednostkowe 2.3. Kiedy warto stosować zaślepki (Mock) a kiedy jest to zbędny koszt 3. Behaviour Driven Development 3.1. Zalety bliskiej współpracy z klientem 3.1.1. Rola dostawcy, rola klienta w testach akceptacyjnych 3.2. Tworzenie aplikacji podejściem BDD 3.3. Techniki tworzenia scenariuszy akceptacyjnych 3.3.1. Podejście deklaratywne zamiast imperatywnego 3.3.1.1. Unikanie pisania "skryptów klikania" 3.3.1.2. Raczej: "co ma być" niż "co trzeba zrobić" 3.3.2. Odporność scenariuszy na zmiany systemu 3.3.3. Wady kruchych scenariuszy 3.4. Podejście dwuwarstwowe 3.4.1. Warstwa Flow - User Story 3.4.2. Warstwa Automatyzacji interakcji z systemem 3.5. Narzędzia i wzorce 3.5.1. JBehave/Spock/SpecFlow - najlepsze praktyki 3.5.1.1. Integracja z Selenieum 3.5.2. Page Object - antywzorzec powodujący powstawanie kruchych testów 3.5.3. Feature Object - bezpieczna alternatywa dla Page Object Strona: 4/6

3.5.4. Technika ujednolicania testów wykonywanych poprzez GUI i Servisy - Agenty 4. Specification by Example 4.1. Wzorce i techniki tworzenie wykonywalnych specyfikacji 4.1.1. Pułapki 4.1.2. Przykłady złych specyfikacji 4.2. Podejście trójwarstwowe 4.2.1. Warstwa Specyfikacji - cele biznesowe 4.2.2. Warstwa Flow - User Story 4.2.3. Warstwa Automatyzacji interakcji z systemem 4.3. Narzędzia automatyzacji 5. Architektura testów akceptacyjnych - podejście trójwarstwowe 5.1. Strategia: metafora "stref zgniotu" z motoryzacji 5.1.1. Tworzenie stabilnych testów, które nie rozpadają się podczas zmian systemu 5.1.2. Integracja BDD i Spec by Example 5.2. Warstwa automatyzacji - API dla testerów 5.2.1. Interakcja z UI poprzez abstrakcję odporną zna zmiany ekranów 5.2.2. Wzorce 5.2.2.1. Agent 5.2.2.2. Feature Object 5.2.3. Narzędzia 5.2.3.1. Selenium 5.2.3.2. Remoting 5.3. Warstwa Flow 5.3.1. Scenariusze akceptacyjne BDD Strona: 5/6

5.3.2. Nastawienie na kroki biznesowe zamiast na interakcje z UI 5.3.3. Narzędzia 5.3.3.1. JBehave/Spock/SpecFlow 5.4. Warstwa Specyfikacji 5.4.1. Nastawienie na cele biznesowe zamiast flow 5.4.2. Narzędzia 5.4.2.1. JBehave/Spock/SpecFlow 5.5. Najlepsze praktyki 5.5.1. Given i Then - unikamy UI 5.5.1.1. Operowanie na API systemu 5.5.1.2. Backdoors na potrzeby testów 5.5.2. When - interakcja z UI 5.6. Archetypowe role aktorów Strona: 6/6