SlideShare a Scribd company logo
AUTOMATYZACJA
TESTÓW Z CANOPY
Prezentacja na KraQA
AGENDA
• Czym jest Canopy?
• Czym różni się od czystego Selenium
• Co dodaliśmy od siebie?
• Jak zmieniło to naszą organizację
• Chwila magii, czyli demo
KILKA SŁÓW O CANOPY
• Canopy to F# nakładka na Selenium
• Twórcą biblioteki jest Chris Holt „lefthandedgoat”
(https://lefthandedgoat.github.io/canopy/ )
• Ogólna filozofia to:
• Jednolita i stabilna nakładka na Selenium
• Prosta do nauki
• Przejrzyste API
• Oparta na licencji MIT
• Wbudowane raportowanie (na potrzeby CI, lub do html)
• Możliwość samodzielnego rozszerzania biblioteki
CANOPY VS. SELENIUM
WAŻNE, ŻEBY TE PLUSY …
Plusy
• Niezawodność
• Czas wykonania
• Czas przygotowania skryptu
• Niski próg wejścia dla testera manualnego
• Jedno narzędzie dla dewelopera i testera (u nas)
• Uruchamianie testów stand-alone (bez Visuala, instalacji driverów)
• Możliwość rozbudowy frameworka
CANOPY VS. SELENIUM
… NIE PRZESŁONIŁY NAM MINUSÓW
Minusy
• F# i canopy - mało popularne, mało znane
• Płatne narzędzia do tworzenia kodu (w naszej organizacji)
GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Co dostajemy out-of-box
• Biblioteka (via NuGet)
• Uruchamianie z Visuala
• Raport na konsoli
Co trzeba dorobić na start
• Ściągnąć drivery
• Skonfigurować uruchomienie liveHtmlReportera – raport z html
GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Technicznie
• Uruchamianie przez Schedulera (Harmonogram zadań windows, Jenkins,etc)
• Przekazanie parametrów uruchomienia w .xml dla uruchamiania samych
.exe
• Wyniki wystawiane jako JSON
• Dostosowanie raportów do prezentacji na TV
• Dodatkowe metody usprawniające pisanie testów: obsługę list, poprawę
scrollowania, etc. (i tu się przydaje F# )
GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Prezentacja wyników
historycznych pokazuje,
że testy są stabilne
GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Organizacyjnie
• Zmiana celu testów automatycznych
• Testy automatyczne jako produkt
• System szkoleń dla testerów
• Kampania informacyjna
• Dyżury przy testach
Monitoring
Top 100
After Roll-Out
Top 1.000
Testy zespołów
GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Radiatory pokazują stan
środowisk testowych
Trzeba przyciągnąć
uwagę do awarii 
CO NA TO ORGANIZACJA
Przed
• Smoke test trwający ok. 15 min
• Niska stabilność, nawet do 30% false-positive
• Brak zaufania do testów
• Brak zainteresowania testerów
• Brak zainteresowania managerów
• Problemy z instalacją IDE i środowiska
• Brak wpływu na wdrożenia
Po
• Smoke test trwający ok. 1,5 min
• Wysoka stabilność, ~2% false-positive
• Ludzie patrzą w testy
• Dostajemy konstruktywne pomysły
• Managerowie zespołów inwestują w testerów
• Testy pisane przez zespoły
• Wdrożenia uzależnione od wyniku testów
automatycznych
DEMO
DZIĘKUJEMY ZA UWAGĘ
Paweł Stopczyk
INFLUX, mBank
Pawel.Stopczyk@partners.mbank.pl
Przemek Niedziałkowski
mBank
Przemyslaw.Niedzialkowski@mbank.pl

More Related Content

Similar to Automatyzacja testow canopy

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Bartłomiej Cymanowski
 
[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
 
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web ServicesKraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
kraqa
 
university day 1
university day 1university day 1
university day 1
Sławomir Borowiec
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
DreamLab
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Tomasz Kopacz
 
Porażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodnościPorażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodności
Kamil Grabowski
 
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
Grzegorz Godlewski
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
The Software House
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
kraqa
 
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PROIDEA
 
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
Polcom
 
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
Droptica
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
Marcin Samsonowski
 
Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
Wydawnictwo Helion
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
Artur Radosz
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
Future Processing
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
qbeuek
 

Similar to Automatyzacja testow canopy (20)

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
 
[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...
 
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web ServicesKraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
 
university day 1
university day 1university day 1
university day 1
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
 
Porażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodnościPorażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodności
 
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
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
 
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
 
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy
 
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
Codeception - jak zacząć pisać automatyczne testy do Drupala [PL]
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
 
Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 

More from kraqa

Postman - podstawy testowania REST API
Postman - podstawy testowania REST APIPostman - podstawy testowania REST API
Postman - podstawy testowania REST API
kraqa
 
Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20
kraqa
 
Machine learning powered regression - KraQA 42 - Pawel Dyrek
Machine learning powered regression - KraQA 42 - Pawel Dyrek Machine learning powered regression - KraQA 42 - Pawel Dyrek
Machine learning powered regression - KraQA 42 - Pawel Dyrek
kraqa
 
Kontrakt testy - KraQA 42 - Slawomir Radzyminski
Kontrakt testy - KraQA 42 - Slawomir RadzyminskiKontrakt testy - KraQA 42 - Slawomir Radzyminski
Kontrakt testy - KraQA 42 - Slawomir Radzyminski
kraqa
 
KraQA#41 - PageFactory
KraQA#41 - PageFactoryKraQA#41 - PageFactory
KraQA#41 - PageFactory
kraqa
 
KraQA#39 - Jak testowac tool do testow
KraQA#39 - Jak testowac tool do testowKraQA#39 - Jak testowac tool do testow
KraQA#39 - Jak testowac tool do testow
kraqa
 
Hyperion - wystarczy jeden shake
Hyperion - wystarczy jeden shakeHyperion - wystarczy jeden shake
Hyperion - wystarczy jeden shake
kraqa
 
Wybor urzadzen mobilnych do testow
Wybor urzadzen mobilnych do testowWybor urzadzen mobilnych do testow
Wybor urzadzen mobilnych do testow
kraqa
 
Continuous security
Continuous securityContinuous security
Continuous security
kraqa
 
Let s meet inside
Let s meet insideLet s meet inside
Let s meet inside
kraqa
 
O wezu przy kawie
O wezu przy kawieO wezu przy kawie
O wezu przy kawie
kraqa
 
Strategia do automatów
Strategia do automatówStrategia do automatów
Strategia do automatów
kraqa
 
Z czym do api
Z czym do apiZ czym do api
Z czym do api
kraqa
 
Jenkins pipelines
Jenkins pipelinesJenkins pipelines
Jenkins pipelines
kraqa
 
Testy UI
Testy UITesty UI
Testy UI
kraqa
 
Tester w pułapce myślenia
Tester w pułapce myśleniaTester w pułapce myślenia
Tester w pułapce myślenia
kraqa
 
Kiedy tester zostaje managerem
Kiedy tester zostaje manageremKiedy tester zostaje managerem
Kiedy tester zostaje managerem
kraqa
 
KraQA#32 - RODO
KraQA#32 - RODOKraQA#32 - RODO
KraQA#32 - RODO
kraqa
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Dec
kraqa
 
SkładQA #3 - Contract Testing, M. Bryła
SkładQA #3 - Contract Testing, M. BryłaSkładQA #3 - Contract Testing, M. Bryła
SkładQA #3 - Contract Testing, M. Bryła
kraqa
 

More from kraqa (20)

Postman - podstawy testowania REST API
Postman - podstawy testowania REST APIPostman - podstawy testowania REST API
Postman - podstawy testowania REST API
 
Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20
 
Machine learning powered regression - KraQA 42 - Pawel Dyrek
Machine learning powered regression - KraQA 42 - Pawel Dyrek Machine learning powered regression - KraQA 42 - Pawel Dyrek
Machine learning powered regression - KraQA 42 - Pawel Dyrek
 
Kontrakt testy - KraQA 42 - Slawomir Radzyminski
Kontrakt testy - KraQA 42 - Slawomir RadzyminskiKontrakt testy - KraQA 42 - Slawomir Radzyminski
Kontrakt testy - KraQA 42 - Slawomir Radzyminski
 
KraQA#41 - PageFactory
KraQA#41 - PageFactoryKraQA#41 - PageFactory
KraQA#41 - PageFactory
 
KraQA#39 - Jak testowac tool do testow
KraQA#39 - Jak testowac tool do testowKraQA#39 - Jak testowac tool do testow
KraQA#39 - Jak testowac tool do testow
 
Hyperion - wystarczy jeden shake
Hyperion - wystarczy jeden shakeHyperion - wystarczy jeden shake
Hyperion - wystarczy jeden shake
 
Wybor urzadzen mobilnych do testow
Wybor urzadzen mobilnych do testowWybor urzadzen mobilnych do testow
Wybor urzadzen mobilnych do testow
 
Continuous security
Continuous securityContinuous security
Continuous security
 
Let s meet inside
Let s meet insideLet s meet inside
Let s meet inside
 
O wezu przy kawie
O wezu przy kawieO wezu przy kawie
O wezu przy kawie
 
Strategia do automatów
Strategia do automatówStrategia do automatów
Strategia do automatów
 
Z czym do api
Z czym do apiZ czym do api
Z czym do api
 
Jenkins pipelines
Jenkins pipelinesJenkins pipelines
Jenkins pipelines
 
Testy UI
Testy UITesty UI
Testy UI
 
Tester w pułapce myślenia
Tester w pułapce myśleniaTester w pułapce myślenia
Tester w pułapce myślenia
 
Kiedy tester zostaje managerem
Kiedy tester zostaje manageremKiedy tester zostaje managerem
Kiedy tester zostaje managerem
 
KraQA#32 - RODO
KraQA#32 - RODOKraQA#32 - RODO
KraQA#32 - RODO
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Dec
 
SkładQA #3 - Contract Testing, M. Bryła
SkładQA #3 - Contract Testing, M. BryłaSkładQA #3 - Contract Testing, M. Bryła
SkładQA #3 - Contract Testing, M. Bryła
 

Automatyzacja testow canopy

  • 2. AGENDA • Czym jest Canopy? • Czym różni się od czystego Selenium • Co dodaliśmy od siebie? • Jak zmieniło to naszą organizację • Chwila magii, czyli demo
  • 3. KILKA SŁÓW O CANOPY • Canopy to F# nakładka na Selenium • Twórcą biblioteki jest Chris Holt „lefthandedgoat” (https://lefthandedgoat.github.io/canopy/ ) • Ogólna filozofia to: • Jednolita i stabilna nakładka na Selenium • Prosta do nauki • Przejrzyste API • Oparta na licencji MIT • Wbudowane raportowanie (na potrzeby CI, lub do html) • Możliwość samodzielnego rozszerzania biblioteki
  • 4. CANOPY VS. SELENIUM WAŻNE, ŻEBY TE PLUSY … Plusy • Niezawodność • Czas wykonania • Czas przygotowania skryptu • Niski próg wejścia dla testera manualnego • Jedno narzędzie dla dewelopera i testera (u nas) • Uruchamianie testów stand-alone (bez Visuala, instalacji driverów) • Możliwość rozbudowy frameworka
  • 5. CANOPY VS. SELENIUM … NIE PRZESŁONIŁY NAM MINUSÓW Minusy • F# i canopy - mało popularne, mało znane • Płatne narzędzia do tworzenia kodu (w naszej organizacji)
  • 6. GARNITUR NA MIARĘ, CZYLI CO USPRAWNILIŚMY Co dostajemy out-of-box • Biblioteka (via NuGet) • Uruchamianie z Visuala • Raport na konsoli Co trzeba dorobić na start • Ściągnąć drivery • Skonfigurować uruchomienie liveHtmlReportera – raport z html
  • 7. GARNITUR NA MIARĘ, CZYLI CO USPRAWNILIŚMY Technicznie • Uruchamianie przez Schedulera (Harmonogram zadań windows, Jenkins,etc) • Przekazanie parametrów uruchomienia w .xml dla uruchamiania samych .exe • Wyniki wystawiane jako JSON • Dostosowanie raportów do prezentacji na TV • Dodatkowe metody usprawniające pisanie testów: obsługę list, poprawę scrollowania, etc. (i tu się przydaje F# )
  • 8. GARNITUR NA MIARĘ, CZYLI CO USPRAWNILIŚMY Prezentacja wyników historycznych pokazuje, że testy są stabilne
  • 9. GARNITUR NA MIARĘ, CZYLI CO USPRAWNILIŚMY Organizacyjnie • Zmiana celu testów automatycznych • Testy automatyczne jako produkt • System szkoleń dla testerów • Kampania informacyjna • Dyżury przy testach Monitoring Top 100 After Roll-Out Top 1.000 Testy zespołów
  • 10. GARNITUR NA MIARĘ, CZYLI CO USPRAWNILIŚMY Radiatory pokazują stan środowisk testowych Trzeba przyciągnąć uwagę do awarii 
  • 11. CO NA TO ORGANIZACJA Przed • Smoke test trwający ok. 15 min • Niska stabilność, nawet do 30% false-positive • Brak zaufania do testów • Brak zainteresowania testerów • Brak zainteresowania managerów • Problemy z instalacją IDE i środowiska • Brak wpływu na wdrożenia Po • Smoke test trwający ok. 1,5 min • Wysoka stabilność, ~2% false-positive • Ludzie patrzą w testy • Dostajemy konstruktywne pomysły • Managerowie zespołów inwestują w testerów • Testy pisane przez zespoły • Wdrożenia uzależnione od wyniku testów automatycznych
  • 12. DEMO
  • 13. DZIĘKUJEMY ZA UWAGĘ Paweł Stopczyk INFLUX, mBank Pawel.Stopczyk@partners.mbank.pl Przemek Niedziałkowski mBank Przemyslaw.Niedzialkowski@mbank.pl