Behavior Driven Development (BDD)

Podobne dokumenty
Wprowadzenie do Behaviordriven

Techniki efektywnego testowania kodu dla programistów Java (Spock

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

Spring Framework - wprowadzenie i zagadnienia zaawansowane

REFERAT PRACY DYPLOMOWEJ

Tester oprogramowania 2014/15 Tematy prac dyplomowych

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

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

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

Michał Olejnik. 22 grudnia 2009

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

Programowanie zespołowe

Program szkolenia: Continuous Integration i Git

Wprowadzenie do testów jednostkowych. Marcin Dziedzic, Wiktor Żołnowski

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

Priorytetyzacja przypadków testowych za pomocą macierzy

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

METODY PROGRAMOWANIA

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

Szkolenie: Automatyzacja testowania

Programowanie kontraktowe w Javie

Prowadzący: Bartosz Górczyński, CTPartners S.A, itsmf Polska. Miedzeszyn, wrzesień 2010

Informatyzacja przedsiębiorstw WYKŁAD

Programowanie zespołowe

Plan Testów Systemu SOS

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

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

Projektowanie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

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

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

Inżynieria oprogramowania II

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.)

HP Service Anywhere Uproszczenie zarządzania usługami IT

Analityk i współczesna analiza

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Szkolenia zgodne z sylabusem ISTQB.

Programowanie Zespołowe

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

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

OSGi Agata Hejmej

Opisy szkoleń dla certyfikatów Agile Scrum.

Optymalizacja Automatycznych Testów Regresywnych

Inżynieria oprogramowania (Software Engineering)

Automatyzacja bez nadmiernego bólu. Piotr Januszek

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Automatyczne testowanie aplikacji Android

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

Politechnika Wrocławska

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Niecertyfikowany tester Plan poziomu zerowego

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

PRZEWODNIK PO PRZEDMIOCIE

Czysta architektura (nawet z Django!) Sebas an PyWaw 72

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Feature Driven Development

Monitoring procesów z wykorzystaniem systemu ADONIS

Meandry komunikacji Biznes-IT

n+1 sposobów na automatyczne testy aplikacji mobilnych WrotQA, webinar Łukasz Siudakiewicz Damian Szczurek Automation Test Engineer

Prezentacja firmy Royal Solutions Sp. z o.o.

Dokumentacja techniczna API systemu SimPay.pl

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

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Przypadki bez przypadków. Jak dobierać scenariusze testowe.

Plik pobrano z Tytuł: Wzorce projektowe, cz. 2 Strategy Ostatnia aktualizacja:

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Jarosław Żeliński analityk biznesowy, projektant systemów

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

PRZEWODNIK PO PRZEDMIOCIE

Procedury Plan komunikacji w projektach

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Zakład Ubezpieczeń Społecznych Departament Zamówień Publicznych ul. Szamocka 3, 5, Warszawa

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

ZGŁOSZENIE DOBREJ PRAKTYKI

Artur Wielogórski.

TESTOWANIE APLIKACJI KORPORACYJNYCH

Informatyzacja przedsiębiorstw WYKŁAD

Założenia modelu dostarczenia wartości z budowy inteligentnego miasta

Produkt pośredni nr 3: Opis produktu pośredniego -aplikacji Life Design 50+

Oprogramowanie dla biznesu Numer 4 (86) Kwiecień 2011 NOWE APLIKACJE W WEBLSP: DLA RYZYKA I ADMINISTRACJA IT

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

Jak powstaje model biznesowy? Co to jest? Modelowanie biznesowe. Model biznesowy. Jak powstaje model biznesowy? Jak firma generuje przychody?

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace.

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

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

W poprzedniej prezentacji: Model Najlepszych Praktyk

Szkolenie wycofane z oferty

Indywidualne wywiady pogłębione. Blanka Słowik Żaneta Wąsik Joanna Stefańczyk

X-DRIVEN DESIGN, Y-DRIVEN DEVELOPMENT NICZEGO NIE ZMIENIĄ

Session Based Testing Czyli eksploracyjne testowanie w sesjach. Karolina Bilewska PapryQArz

PROGRAMOWANIE ZORIENTOWANE BEHAWIORALNIE, JAKO RECEPTA NA PROBLEMY ZWIĄZANE Z TTD

CMS, CRM, sklepy internetowe, aplikacje Web

Transkrypt:

Wydział Informatyki i Zarządzania Wrocław, 12 marca 2010

Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 BDD w Javie 5 6

Cele prezentacji Wprowadzenie Cele prezentacji Prawda o projektach przedstawienie podejścia BDD wyjaśnienie cyklu w BDD określenie zasad dotyczących BDD omówienie historyjek użytkownika i scenariuszy zaprezentowanie mechanizmów BDD stosowanych w Javie wyjaśnienie praktyki BDD na przykładach wykazanie korzyści płynących ze stosowania BDD

Cele prezentacji Prawda o projektach

Wprowadzenie Behavior Driven Development Cykl w BDD Historia Założenia, główne zasady Cykl w BDD

Historia Wprowadzenie Behavior Driven Development Cykl w BDD stosunkowo nowe podejście wywodzące się z TDD i ATDD początki: 2003 rok - Dan North odpowiedź na trudności w TDD: czym obiekt jest? kontra co obiekt robi?

Założenia, główne zasady Behavior Driven Development Cykl w BDD liczy się przede wszystkim zachowanie minimalizacja formalizmów, maksymalizacja zrozumienia naturalny język zrozumiały dla każdego nazwy metod testowych powinny być zdaniami łatwiejsze czytanie kodu i interpretacja testów kod stanowi dokumentację

Cykl w BDD (1) Wprowadzenie Behavior Driven Development Cykl w BDD

Cykl w BDD (2) - poziom aplikacji Behavior Driven Development Cykl w BDD Zewnętrzny cykl: tzw. wysokopoziomowy dotyczy zachowania aplikacji związany ze scenariuszem konkretnej historyjki użytkownika

Cykl w BDD (3) - poziom obiektów Behavior Driven Development Cykl w BDD Wewnętrzny cykl: tzw. niskopoziomowy dotyczy zachowania obiektów związany z akcjami wykonowanymi podczas pojedyńczego kroku w scenariuszu

Cykl w BDD (4) Wprowadzenie Behavior Driven Development Cykl w BDD

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Czym jest historyjka? Jak powstają historyjki Jak powinna wyglądać dobra historyjka Scenariusze

Czym jest historyjka? Wprowadzenie Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze 1 wymaganie dotyczące systemu zapisane przez klienta 2 składa się z trzech części: tytułu narracji kryteriów akceptacji

Budowa historyjki Wprowadzenie Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze 1 tytuł - najlepiej w jednej lini, opisujący historyjkę

Budowa historyjki Wprowadzenie Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze 1 tytuł - najlepiej w jednej lini, opisujący historyjkę 2 narracja - rola, opis funkcjonalności, korzyści: As a [ROLE] I want [FEATURE] So that [BENEFIT]

Budowa historyjki Wprowadzenie Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze 1 tytuł - najlepiej w jednej lini, opisujący historyjkę 2 narracja - rola, opis funkcjonalności, korzyści: As a [ROLE] I want [FEATURE] So that [BENEFIT] 3 kryteria akceptacji - zapisane jako scenariusz, określają kiedy historyjka jest kompletna: Scenario 1: Title Given [context] And [some more context]... When [event] Then [outcome] And [another outcome]...

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Historyjka powinna być produktem konwersacji kilku osób:

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Historyjka powinna być produktem konwersacji kilku osób: 1 Analityk biznesowy rozmawia z udziałowcem o tym, jaka cecha bądź wymaganie jest potrzebne (pomagając uporządkować to jako narrację).

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Historyjka powinna być produktem konwersacji kilku osób: 1 Analityk biznesowy rozmawia z udziałowcem o tym, jaka cecha bądź wymaganie jest potrzebne (pomagając uporządkować to jako narrację). 2 Nastepnie tester pomaga zdefiniować krztałt historyjki w postaci kryteriów akceptacji, determinując, które scenariusze mają znaczenie, a które można pominać.

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Historyjka powinna być produktem konwersacji kilku osób: 1 Analityk biznesowy rozmawia z udziałowcem o tym, jaka cecha bądź wymaganie jest potrzebne (pomagając uporządkować to jako narrację). 2 Nastepnie tester pomaga zdefiniować krztałt historyjki w postaci kryteriów akceptacji, determinując, które scenariusze mają znaczenie, a które można pominać. 3 Technik po analizie danej hisotoryjki określa jej koszt i może zaproponować inne rozwiązanie.

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Jak powinna wyglądać dobra historyjka? (1)

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Jak powinna wyglądać dobra historyjka? (2)

Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Jak powinna wyglądać dobra historyjka? (3)

Scenariusze Wprowadzenie Czym jest historyjka? Jak powinna wyglądać dobra historyjka? Scenariusze Grupowanie scenariuszy podobnych: Klient pobiera gotówkę (zakładamy że: bankomat działa i karta jest ważna) Klient pobiera gotówkę z nieważna kartą (zakładamy że: bankomat działa) Klient pobiera gotówkę z niedziałającego bankomatu (zakładamy że: karta jest ważna) Dalsza rozbudowa: Co się stanie gdy karta będzie przeterminowana?

Wprowadzenie do BDD BDD w Javie Adnotacje do BDD BDD w Javie Adnotacje kroków (na poziomie obiektów) Adnotacje scenariuszy (na poziomie aplikacji)

do BDD Wprowadzenie do BDD BDD w Javie Adnotacje Frameworki wspierające BDD w różnych językach: dla Ruby ego - RSpec + Cucumber (http://rspec.info) dla PHP - PHPSpec (http://www.phpspec.org) dla Javy - JBehave (http://jbehave.org)

BDD w Javie Wprowadzenie do BDD BDD w Javie Adnotacje JUnit - framework do testów jednostkowych JBehave - framework do BDD Hamcrest - lub inna biblioteka dopasowań

do BDD BDD w Javie Adnotacje Adnotacje kroków (na poziomie obiektów) @Given @When @Then @Alias @Aliases

Adnotacje scenariuszy Wprowadzenie do BDD BDD w Javie Adnotacje @BeforeScenario @AfterScenario

Korzyści stosowania BDD Korzyści nacisk położony na to, co obiekt ma robić, a nie jak ma to robić ułatwienie komunikacji pomiędzy osobami zaangażowanymi w projekt (wspólny język) kod staje się dokumentacją scenariusze stanowią dodatkowe testy

Przykładowe scenariusze Przykładowe scenariusze w Eclipse Scenariusze mogą mieć dowolną formę!

w Eclipse Wprowadzenie Przykładowe scenariusze w Eclipse

Przykładowe scenariusze w Eclipse