![Page 1: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/1.jpg)
(jeszcze) efektywniejsze
wykorzystanie keywordów
w testowaniu
czyli jak skutecznie pisać własne słowa
kluczowe
![Page 2: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/2.jpg)
O autorze• Od ponad 10 lat w jakości oprogramowania
• Własne funkcjonalności testowe na licencji open
source
• Pracuje w firmie Meelogic
![Page 3: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/3.jpg)
Wprowadzenie
• Testowanie w oparciu o słowa kluczowe jest
powszechną metodą testową (keyword driven testing)
• Słowo kluczowe reprezentuje akcję testową i jest
interpretowane przez framework testowy
• Posiada własną składnię w której można wywołać
zewnętrzny kod (przez keywordy właśnie!)
• Popularne narzędzie open source: Robot
Framework
![Page 4: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/4.jpg)
Co nam dostarcza framework testowy?
• Składnię testów opisaną słowami
kluczowymi wraz z IDE
• Logowanie
• Obsługę wyjątków
• Możliwość łatwego dodawanie własnych
bibliotek (czyli zbiorów słów kluczowych)
![Page 5: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/5.jpg)
Ograniczenia składni
• Mało przejrzysta składnia przy złożonych
problemach
• Brak zagnieżdżonych pętli
• Brak „while”
• Itd.
![Page 6: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/6.jpg)
Pułapka
• Wady przesłaniają zalety
• Rezygnacja z narzędzia i poszukiwanie
kolejnego rozwiązania
• Tworzenie własnego narzędzia –
czasochłonne i ryzkowne
![Page 7: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/7.jpg)
Wykorzystać zalety narzędzia i wyeliminować
wady poprzez przeniesienie logiki testu ze
składni testu do keywordów napisanych języku
programowania
Rozwiązanie
![Page 8: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/8.jpg)
Przypadek teoretyczny
Szukanie ilości wystąpień litery „b” w liście
zawierającej litery (9 linijek)
![Page 9: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/9.jpg)
Przypadek teoretyczny poprawiony
Logika testu przeniesiona do Pythona
![Page 10: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/10.jpg)
Przykład:
Selenium2Library
16 linijek
![Page 11: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/11.jpg)
Przykład poprawiony
Tylko 1 linijka!
Reszta w
Keywordzie
Czy w takim razie
potrzebujemy
framework? TAK !
![Page 12: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/12.jpg)
Przykład poprawiony
raz jeszcze
Tylko 1 linijka!
Reszta w
keywordzie
![Page 13: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/13.jpg)
Kiedy jeszcze warto pisać własne
keywordy ? • Chcemy wykorzystać wszystkie zalety frameworka
testowego ale nie ma potrzebnej funkcjonalności
testowej
• Tworzymy własną generyczną bibliotekę testową
lub
• Tworzymy własną specyficzną bibliotekę testową
dedykowaną do naszego środowiska testowego (trudno
oczekiwać, że istnieje skoro ma być dedykowana do
środowiska)
![Page 14: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/14.jpg)
kilka słów o praktycznych
aspektach tworzenia słów
kluczowych
na przykładzie Robot Framework
![Page 15: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/15.jpg)
Co to jest biblioteka testowa?
• Biblioteka to najczęściej po prostu zbiór funkcji w
wybranym języku używanych przez framework testowy
• Najczęściej używany wzorzec projektowy: adapter
(ang. wrapper). Przykład: robotowa biblioteka
Selenium2Library – stanowi warstwę pośredniczącą
między Selenium a Robotem
![Page 16: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/16.jpg)
To łatwe !
„Creating your own test libraries is a
breeze.”
robotframework.org
![Page 17: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/17.jpg)
Jakie języki wspiera Robot Framework
• Python – najbardziej naturalna forma pisania pluginów,
gdyż Robot Framework jest też pisany w Pythonie.
• Java – trochę bardziej skomplikowana forma, do
wykorzystania jeśli jest wyraźny powód do użycia
Javy.
![Page 18: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/18.jpg)
dziękuję za uwagę
część praktyczna i czas na pytania
![Page 19: (jeszcze) Efektywniejsze wykorzystanie keywowrdów w testowaniu · Wprowadzenie • Testowanie w oparciu o słowa kluczowe jest powszechną metodą testową (keyword driven testing)](https://reader031.vdocuments.mx/reader031/viewer/2022031502/5c78a54d09d3f27b458b7935/html5/thumbnails/19.jpg)