Artur Wielogórski.

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

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

OD ZERA DO DOCKERA Jak (prawie) nic nie zrobić, a zarobić? Kraków 2017

Przykładowa konfiguracja konta pocztowego w programie Outlook Express z wykorzystaniem MKS 2k7 (MS Windows 2000 Proessional)

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

REFERAT PRACY DYPLOMOWEJ

Klient poczty elektronicznej - Thunderbird

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

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006

Nowocześnie zaprojektowana e-usługa - studium przypadku

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

Wprowadzenie do Behaviordriven

Kurs: ECDL Usługi w sieciach informatycznych poziom podstawowy

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

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

Behavior Driven Development (BDD)

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

JavaScript : programowanie zaawansowane / Tomasz "Comandeer" Jakut. Gliwice, cop Spis treści

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Architektura mikroserwisów na platformie Spring IO

Opis instalacji oparto na przykładzie serwera SUPERHOST z obsługą PHP i MySQL.

Automatyzacja Testowania w WEB 2.0

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

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

System zarządzający grami programistycznymi Meridius

Katalog książek cz. 3: Web Service

Program szkolenia: REST i Microservices w PHP

STAŻE DLA INFORMATYKI

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

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

ELEKTRONICZNE FAKTUROWANIE W ZAMÓWIENIACH PUBLICZNYCH. Warszawa, 15 maja 2019

Bezpieczeństwo systemów komputerowych

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Zakładanie konta

Facebook, Nasza klasa i inne. podstawowe informacje o serwisach społeczności internetowych. Cz. 2. Facebook

Szczegółowy opis zamówienia:

APEK MeasureInWeb program komunikacyjny do systemów pomiarowych.

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite

Przypadki użycia. Czyli jak opisywać funkcjonalność. Jerzy Nawrocki Mirosław Ochodek

Scala - programowanie obiektowo-funkcyjne

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

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

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

Dokumentacja projektu QUAIKE Architektura oprogramowania

Portal wykładowco w. Jeżeli chcesz rozpocząć pracę z portalem, skontaktuj się ze swoim planistą. Planista utworzy konto logowania dla Ciebie.

System kontroli wersji, system zarządzania kodem źródłowym

G DATA TechPaper. Aktualizacja rozwiązań G DATA Business do wersji 14.1

Programowanie Komponentowe WebAPI

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

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Outlook Express - konfigurowanie i korzystanie.

Załącznik nr 1. Specyfikacja techniczna portalu internetowego Łódź, r.

Sklep Internetowy (HTML/xHTML, CSS, JavaScript, PHP, MySQL)

Dobre wdrożenia IT cz. I Business Case.

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

Google Testing. Radosław Smilgin, , TestWarez

e-izba IZBA GOSPODARKI ELEKTRONICZNEJ Poradniki e-commerce Polska OFERTA ZAKUPU REKLAM

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

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA

Aplikacje WWW - lab 11

Mapa witryny - Poradnik od A do Z

SPINACZ.edu.pl platforma współpracy nauki z biznesem w zakresie innowacyjnych rozwiązań informatycznych

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Jak stworzyć własny blog w kreatorze Click Web?

Hot Potatoes. Zdania z lukami Przyporządkowanie. Tworzy spis wszystkich zadań. Krzyżówki

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

Korzystanie z Certyfikatów CC Signet w programie MS Outlook 98

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Zapisywanie algorytmów w języku programowania

Wniosek o kartę EKUZ z Profilem Zaufanym - jak to zrobić?

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Przykład konfiguracji koncentratora SSL VPN w trybie Reverse Proxy (dotyczy serii urządzeń ZyWALL USG)

Spis treúci. 1. Wprowadzenie... 13

JIRA. Zarządzanie uprawnieniami przy dużej ilości projektów. Maciej Ląd ( )

Testowanie oprogramowania

World Wide Web? rkijanka

REFERAT PRACY DYPLOMOWEJ

Generatory pomocy multimedialnych

Programowanie zespołowe

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Implementacja protokołu komunikacyjnego

Technologia Informacyjna Lekcja 5

Połączenie VPN Host-LAN PPTP z wykorzystaniem Windows XP. 1. Konfiguracja serwera VPN. 2. Konfiguracja klienta VPN

Instrukcja składania wniosków do RIS Instrukcja użytkownika

Programowanie obiektowe

Programowanie Zespołowe

Konfiguracja konta pocztowego na szkolnym serwerze

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Zagadnienia. Inżynieria Oprogramowania

Transkrypt:

Artur Wielogórski http://github.com/wodor

Testowanie w PHP Po co piszemy i uruchamiamy testy?

Testowanie w PHP Aby wiedzieć, że : To co implementujemy działa

Testowanie w PHP Aby wiedzieć, że : To co implementujemy działa Nie zepsuliśmy tego co było napisane wcześniej

Testowanie w PHP Aby wiedzieć, że : To co implementujemy działa Nie zepsuliśmy tego co było napisane wcześniej Aby mieć odwagę do refaktoryzacji

Testowanie w PHP Zaufanie

...zawiedzione Testy przechodzą, ale software nie działa.

False Positive! dlaczego

False Positive! Słabo napisane testy

False Positive! Słabo napisane testy Błędy we frontendzie

False Positive! Słabo napisane testy Błędy we frontendzie Błędy w konfiguracji

False Positive! Słabo napisane testy Błędy we frontendzie Błędy w konfiguracji

Web Acceptance, FTW!

Web Acceptance Kto używa Selenium lub Sahi? Kto lubi?

Web Acceptance, WTF? Brak prostego, spójnego języka opisującego zachowania!

False Positive! Słabo napisane testy Błędy we frontendzie Błędy w konfiguracji

False Positive! Słabo napisane testy Brak prostego, spójnego języka opisującego zachowania

Agile!

Agile! Ludzki Język Wykonywalna specyfikacja

Agile! Ludzki Język Wykonywalna specyfikacja Opisuj Zachowania

Agile! Ludzki Język Wykonywalna specyfikacja Opisuj Zachowania Format user story Business Value

Agile! Ludzki Język Wykonywalna specyfikacja Format user story Business Value Opisuj Zachowania Najpierw Testy

Agile! Ludzki Język Wykonywalna specyfikacja Opisuj Zachowania BDD Najpierw Testy Format user story Business Value

\\Poczta\Okienko\Polecone

\\Poczta\Okienko\Polecone Jako adresat Powinienem móc odebrać list adresowany do mnie aby go przeczytać

Gherkin Właściwość: Jako adresat Powinienem móc odebrać list adresowany do mnie aby go przeczytać

Założenia Właściwość: Jako adresat Powinienem móc odebrać list adresowany do mnie aby go przeczytać

Założenia Założenia: Zakładając że istnieją userzy: bob Oraz Na poczcie są listy: bob ala ma kota

Scenariusz Właściwość: Jako adresat Powinienem móc odebrać list adresowany do mnie aby go przeczytać

Scenariusz Założenia: Zakładając że istnieją userzy: bob Oraz Na poczcie są listy: bob ala ma kota Scenariusz: Jako właściciel listu odbieram go Zakładając że jestem "bob" I podchodzę do okienka pytając o list Wtedy powinienem otrzymać list z informacją "ala ma kota"

Scenariusz Założenia: Zakładając że istnieją userzy: bob Oraz Na poczcie są listy: bob ala ma kota Scenariusz: Jako właściciel listu odbieram go Zakładając że jestem "bob"

Scenariusz Założenia: Zakładając że istnieją userzy: bob Oraz Na poczcie są listy: bob ala ma kota Scenariusz: Jako właściciel listu odbieram go Zakładając że jestem "bob" I podchodzę do okienka pytając o list

Scenariusz Założenia: Zakładając że istnieją userzy: bob Oraz Na poczcie są listy: bob ala ma kota Scenariusz: Jako właściciel listu odbieram go Zakładając że jestem "bob" I podchodzę do okienka pytając o list Wtedy powinienem otrzymać list z informacją "ala ma kota"

Engage! $ behat --init

Let's try! Właściwość: Jako adresat Powinienem móc odebrać list adresowany do mnie aby go przeczytać

Poczta Scenariusz: Jako właściciel listu odbieram go Zakładając że jestem "bob" I podchodzę do okienka pytając o list Wtedy powinienem otrzymać pytanie o dowód Jeśli pokazuję dowód obywatela "bob" Wtedy powinienem otrzymać list z informacja "ala ma kota"

Dwa słowa O dostarczaniu założeń

Jak to działa? FeatureContext

Efekty Testy powstają na bieżąco. Spisane scenariusze są czytelną dokumentacją. Mamy testy, które dodają nam odwagi, aby wykonywać refactoring na bieżąco.

Use Case Nowy serwis phpunit

Jedna rzecz na raz Staraj się zawsze testować jedną rzecz, lub jeden krok użytkownika. Korzystaj z Backgroundów

Nie wszystkie kombinacje

Optymalizuj gdy to konieczne https://github.com/liip/liipfunctionaltestbundle

Aczkolwiek...... czasem trzeba zrobić coś więcej

Testy Wyszukiwarki i każdej innej usługi, której konfigurację musimy kontrolować.

... w rozproszonym środowisku Serwer CI Solr DB

Event System @beforesuite Konfiguracja Założenia Serwer CI Indeksowanie Solr DB @beforescenario - polecenie indexowania

Gdzie co i kiedy Developer --tags="~@long&&~@solr" Ci --tags="~@dev"

Wyniki Testy są uruchamiane regularnie. Testy nie utrudniają pracy developerom. Testy obejmują mechanizm indeksowania. Testy faktycznie wykrywają regresje, których nie zauważylibyśmy tak szybko.

Co z JavaScript @javascript @mink:[driver_name]

Kto za tym stoi http://everzet.com/ http://behat.org

Pytania?

dziękuję za uwagę