Automated Tests in Agile based on Serenity BDD - Michał Szybalski

Post on 15-Apr-2017

169 views 0 download

Transcript of Automated Tests in Agile based on Serenity BDD - Michał Szybalski

Automated Tests in Agile

based on Serenity BDD

Michał Szybalski

3

Agenda

1. Fundamenty BDD2. Selenium WebDriver3. Serenity BDD - Automated Acceptance

Testing with Style4. Demo Test Example5. Q&A

4

Fundamenty BDD

5

Behavior-Driven Development (BDD ) jest zwinna techniką wytwarzania oprogramowania w oparciu o konkretną strukturę formułowania wymagań. Polega na tworzeniu oprogramowania przez opisywanie jego zachowania, z perspektywy jego udziałowcow.

6

7

Założenia1. ustalenie celow wszystkich zainteresowanych

stron potrzebnych do realizacji wizji2. zaangażowanie stackholderow w proces

tworzenia oprogramowania3. stworzenie przykładow opisujących sposob

działania aplikacji4. automatyzacja wyżej wymienionych

przykładow i możliwość jej poźniejszego wykorzystania w regresji

5. wykorzystanie mockow w celu umożliwienia symulacji oprogramowania z modułami, ktore nie zostały jeszcze stworzone

8

3 Zasady BDD

1. Enough is enough2. Deliver stakeholder value3. It`s all about behaviour

9

BDD or Traditional

10

BDD or Traditional

11

BDD vs TDDTDD means writing a test that fails because the specified functionality doesn't exist, then writing the simplest code that can make the test pass – development practise

BDD means creating an executable specification that fails because the feature doesn't exist, then writing the simplest code that can make the spec pass – team methology

12

Selenium WebDriver

13

Selenium - zestaw narzędzi do automatyzacji przeglądarek internetowych na wielu platformach

WebDriver – koncepcja sterownikow, ktora umożliwia bezpośrednią komunikację i kontrolę przeglądarek internetowych

14

Selenium WebDriver

Selenium 1.0 WebDriver

MERGE

SELENIUM WEBDRIVER

Selenium IDESelenium RCSelenium Grid

15

Page Object Pattern

Page Object Pattern – technika strukturyzaji kodu testu, ktora:

• Promuje re-użycie i redykcje duplikatow w kodzie• Czyni testy bardziej czytelnymi• Usprawnia zarządzanie testami

16

Ogolne podejście

17

Użycie Page Object

18

Użycie Page Object

19

20

Serenity BDD

Serenity BDD – biblioteka open source, pomagająca tworzyć automatyczne testy akceptacyjne i regresji

Serenity informuje nie tylko jakie testy zostały wykonane, ale co ważniejsze, jakie wymagania zostały przetestowane.

21

Głowne cechy

o elastyczniejsze testyo łatwiejsze zarządzanie testamio przejrzyste raporty z testowo mapowanie testow na wymaganiao mierzy jak wiele cech aplikacji jest

faktycznie testowana

22

Cykl życia Serenity BDD

23

Definiowanie wymagań

Wyrażane jako User Stories z kryteriami akceptacji, ktore pomagają opisać wymagania – to właśnie je automatyzujemy!

24

Mapowanie wymagań

Mapowanie wymagań na kryteria akceptacji za pomocą narzędzi BDD – jBehave, cucumber.

25

Implementacja testu

Implementacja testow automatycznych w oparciu o Selenium WebDriver

26

Raport z testow

27

Raport z pokrycia testow

28

Demo Example

29

1.Introducing BDD - Dan North https://dannorth.net/introducing-bdd/

2.BDD in Action – John Ferguson Smart, 2015

3.http://behaviour-driven.org4.http://www.thucydides.info/