SlideShare a Scribd company logo
1 of 13
Download to read offline
Jak zarabiać na testowaniu
oprogramowania
Piła 27.07.2016
darek.kacban@gmail.com
Poziomy testowania
• Testy jednostkowe
• Tworzone przez programistów.
• Zakres: Pojedyncza klasa
• Ile? 70% wszystkich testów w projekcie
• Testy integracyjne
• Tworzone przez programistów.
• Zakres: Zestawy klas, połączenie z bazą danych
• Ile? 20% wszystkich testów w projekcie
• Testy systemowe(funkcjonalne)
• Tworzone przez testerów.
• Zakres: Testy przekrojowe całego systemu
• Ile? 10% wszystkich testów w projekcie
Jakiej wiedzy potrzebuje profesjonalny tester?
0. HTML + CSS
1. Znajomość systemu kontroli wersji – np. Git, SVN
2. Biblioteka Selenium WebDriver
3. IDE – np. Visual Studio(C#), PhpStorm(PHP), PyCharm(Python)
4. Język programowania - np. C#, PHP, Python
5. Framework BDD – np. Specflow(C#), Behat(PHP), Robot(Python)
6. Język do komunikacji z klientem: Gherkin
7. Wzorzec projektowy: Page Object
1. Git
• Git to system kontroli wersji
• Co zyskujemy?
• Szybkie pobranie projektu
• Współdzielenie projektu z zespołem
• Szybka praca z wiersza poleceń
• Pełna historia zmian
• Więcej informacji:
• https://www.atlassian.com/git/tutorials/
• https://git-scm.com
1. Git - DEMO – Pobranie projektu i
uruchomienie testów w Visual Studio
• Pobieramy program Git bash - https://git-scm.com/downloads
• Instalujemy: Visual Studio 2015
• Instalujemy: Google Chrome
• Przykładowy projekt dostępny jest na stronie:
• https://bitbucket.org/dkacban/specflowexample
• W programie Git bash wydajemy polecenie:
git clone https://bitbucket.org/dkacban/specflowexample.git
• Znajdujemy w solucji chromedriver.exe i dodajemy do zmiennej PATH
• W Visual Studio otwieramy plik: SpecflowClassLibrary.sln
• Otwieramy z menu: Test->Windows->Test Explorer
• Uruchamiamy testy w przeglądarce poleceniem: Run All
2. WebDriver
• Webdriver – to biblioteka, która pozwala sterować przeglądarką
internetową (np. firefox, IE, Chrome) za pomocą kodu.
• Co zyskujemy?
• Możliwość automatyzacji powtarzalnych testów manualnych
• Raz napisany test, możemy uruchamiać na wielu przeglądarkach
• Więcej informacji:
• http://www.seleniumhq.org/projects/webdriver/
• Biblioteka dla C#: https://www.nuget.org/packages/Selenium.WebDriver
2. WebDriver - DEMO
3. IDE
• IDE – Integrated Development Environment – Aplikacja ułatwiająca
zarządzanie projektem programistycznym.
• Co zyskujemy?
• Tworzenie nowych projektów
• Szybsza edycja kodu źródłowego
• Łatwe zarządzanie strukturą projektu
• Kompilacja kodu źródłowego za pomocą jednego przycisku
• Uruchamianie testów automatycznych
• Więcej informacji:
• https://www.visualstudio.com/
4. C#
• C# - język obiektowy stworzony w 2000 roku przez Andersa Hejlsberga.
• Korzyści:
• komunikacja z przeglądarką internetową
• Sprawdzanie wyników za pomocą klasy Assert
• Więcej informacji:
• Kurs C# na Microsoft Virtual Academy - https://mva.microsoft.com/en-us/training-
courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949
• Książka Johna Sharpa - http://helion.pl/ksiazki/microsoft-visual-c-2013-krok-po-
kroku-sharp-john,a_01zd.htm
5. Specflow
• Specflow - Framework Behavior Driven Development dla .NET’a
• Korzyści:
• Ponowne wykorzystanie kodu dzięki krokom testowym
• Lepsza komunikacja z biznesem dzięki użyciu języka Gherkin
• Generowanie raportów z wykonanych testów
• Więcej informacji:
• http://www.specflow.org/
• Pozostałe implementacje BDD - https://cucumber.io/docs
6. Gherkin
• Gherkin – język pozwalający opisać zachowanie aplikacji
• Budowa: Given-When-Then
• Korzyści:
• Lepsze zrozumienie wymagań funkcjonalnych
• Język czytelny dla biznesu a nie tylko dla programistów
• Więcej informacji:
• https://github.com/cucumber/cucumber/wiki/Gherkin
• Dan North, Historia BDD - https://dannorth.net/introducing-bdd/
7. Wzorzec projektowy Page Object
• Algorytm postępowania:
• Dzielimy aplikacje na niezależne części. Np.: strona logowania, wyszukiwarka, strona
z listą wyników.
• Dla każdej części tworzymy klasę: Page Object. Np. SearchboxPage.cs, ResultsPage.cs
• Ważne: Każdy krok testowy korzysta z klasy WebDriver.
• Zalety:
• Możemy szybko znaleźć konkretny krok testowy
• Unikamy duplikacji kroków testowych
• Więcej informacji:
• książka Davida Burnsa: https://www.amazon.com/Selenium-Testing-Tools-Beginners-
Guide/dp/1849518300
Dziękuję za uwagę
Kontakt: darek.kacban@gmail.com

More Related Content

What's hot

Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2intive
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETMarcin Daczkowski
 
REvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachREvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachThe Software House
 
Continuous security
Continuous securityContinuous security
Continuous securitykraqa
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopotneoteric-eu
 
2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...Janusz Nowak
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Krzysztof Synak
 
Application in Xamarin.Forms
Application in Xamarin.FormsApplication in Xamarin.Forms
Application in Xamarin.FormsMaciej Kuchcik
 
Narzędzia frontend developera A.D. 2015
Narzędzia frontend developera A.D. 2015Narzędzia frontend developera A.D. 2015
Narzędzia frontend developera A.D. 2015psmolenski
 

What's hot (12)

Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NET
 
REvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachREvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w Railsach
 
TDD w iOS
TDD w iOS TDD w iOS
TDD w iOS
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Continuous security
Continuous securityContinuous security
Continuous security
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
 
Application in Xamarin.Forms
Application in Xamarin.FormsApplication in Xamarin.Forms
Application in Xamarin.Forms
 
Narzędzia frontend developera A.D. 2015
Narzędzia frontend developera A.D. 2015Narzędzia frontend developera A.D. 2015
Narzędzia frontend developera A.D. 2015
 

Similar to Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Selenium
SeleniumSelenium
SeleniumPROSKAR
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na AndroidzieDaftcode
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkitbartosz_w
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8DreamLab
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentSharePoint Saturday Warsaw
 
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...Future Processing
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyWydawnictwo Helion
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...Bartłomiej Miś
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołuintive
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaWydawnictwo Helion
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?Michał Dudak
 

Similar to Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016) (20)

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Selenium
SeleniumSelenium
Selenium
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
 
university day 1
university day 1university day 1
university day 1
 
Projektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacji
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
 
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
 
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programisty
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołu
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga eksperta
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?
 

Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)

  • 1. Jak zarabiać na testowaniu oprogramowania Piła 27.07.2016 darek.kacban@gmail.com
  • 2. Poziomy testowania • Testy jednostkowe • Tworzone przez programistów. • Zakres: Pojedyncza klasa • Ile? 70% wszystkich testów w projekcie • Testy integracyjne • Tworzone przez programistów. • Zakres: Zestawy klas, połączenie z bazą danych • Ile? 20% wszystkich testów w projekcie • Testy systemowe(funkcjonalne) • Tworzone przez testerów. • Zakres: Testy przekrojowe całego systemu • Ile? 10% wszystkich testów w projekcie
  • 3. Jakiej wiedzy potrzebuje profesjonalny tester? 0. HTML + CSS 1. Znajomość systemu kontroli wersji – np. Git, SVN 2. Biblioteka Selenium WebDriver 3. IDE – np. Visual Studio(C#), PhpStorm(PHP), PyCharm(Python) 4. Język programowania - np. C#, PHP, Python 5. Framework BDD – np. Specflow(C#), Behat(PHP), Robot(Python) 6. Język do komunikacji z klientem: Gherkin 7. Wzorzec projektowy: Page Object
  • 4. 1. Git • Git to system kontroli wersji • Co zyskujemy? • Szybkie pobranie projektu • Współdzielenie projektu z zespołem • Szybka praca z wiersza poleceń • Pełna historia zmian • Więcej informacji: • https://www.atlassian.com/git/tutorials/ • https://git-scm.com
  • 5. 1. Git - DEMO – Pobranie projektu i uruchomienie testów w Visual Studio • Pobieramy program Git bash - https://git-scm.com/downloads • Instalujemy: Visual Studio 2015 • Instalujemy: Google Chrome • Przykładowy projekt dostępny jest na stronie: • https://bitbucket.org/dkacban/specflowexample • W programie Git bash wydajemy polecenie: git clone https://bitbucket.org/dkacban/specflowexample.git • Znajdujemy w solucji chromedriver.exe i dodajemy do zmiennej PATH • W Visual Studio otwieramy plik: SpecflowClassLibrary.sln • Otwieramy z menu: Test->Windows->Test Explorer • Uruchamiamy testy w przeglądarce poleceniem: Run All
  • 6. 2. WebDriver • Webdriver – to biblioteka, która pozwala sterować przeglądarką internetową (np. firefox, IE, Chrome) za pomocą kodu. • Co zyskujemy? • Możliwość automatyzacji powtarzalnych testów manualnych • Raz napisany test, możemy uruchamiać na wielu przeglądarkach • Więcej informacji: • http://www.seleniumhq.org/projects/webdriver/ • Biblioteka dla C#: https://www.nuget.org/packages/Selenium.WebDriver
  • 8. 3. IDE • IDE – Integrated Development Environment – Aplikacja ułatwiająca zarządzanie projektem programistycznym. • Co zyskujemy? • Tworzenie nowych projektów • Szybsza edycja kodu źródłowego • Łatwe zarządzanie strukturą projektu • Kompilacja kodu źródłowego za pomocą jednego przycisku • Uruchamianie testów automatycznych • Więcej informacji: • https://www.visualstudio.com/
  • 9. 4. C# • C# - język obiektowy stworzony w 2000 roku przez Andersa Hejlsberga. • Korzyści: • komunikacja z przeglądarką internetową • Sprawdzanie wyników za pomocą klasy Assert • Więcej informacji: • Kurs C# na Microsoft Virtual Academy - https://mva.microsoft.com/en-us/training- courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949 • Książka Johna Sharpa - http://helion.pl/ksiazki/microsoft-visual-c-2013-krok-po- kroku-sharp-john,a_01zd.htm
  • 10. 5. Specflow • Specflow - Framework Behavior Driven Development dla .NET’a • Korzyści: • Ponowne wykorzystanie kodu dzięki krokom testowym • Lepsza komunikacja z biznesem dzięki użyciu języka Gherkin • Generowanie raportów z wykonanych testów • Więcej informacji: • http://www.specflow.org/ • Pozostałe implementacje BDD - https://cucumber.io/docs
  • 11. 6. Gherkin • Gherkin – język pozwalający opisać zachowanie aplikacji • Budowa: Given-When-Then • Korzyści: • Lepsze zrozumienie wymagań funkcjonalnych • Język czytelny dla biznesu a nie tylko dla programistów • Więcej informacji: • https://github.com/cucumber/cucumber/wiki/Gherkin • Dan North, Historia BDD - https://dannorth.net/introducing-bdd/
  • 12. 7. Wzorzec projektowy Page Object • Algorytm postępowania: • Dzielimy aplikacje na niezależne części. Np.: strona logowania, wyszukiwarka, strona z listą wyników. • Dla każdej części tworzymy klasę: Page Object. Np. SearchboxPage.cs, ResultsPage.cs • Ważne: Każdy krok testowy korzysta z klasy WebDriver. • Zalety: • Możemy szybko znaleźć konkretny krok testowy • Unikamy duplikacji kroków testowych • Więcej informacji: • książka Davida Burnsa: https://www.amazon.com/Selenium-Testing-Tools-Beginners- Guide/dp/1849518300
  • 13. Dziękuję za uwagę Kontakt: darek.kacban@gmail.com