BDD (Behavior Driven Development) Framework samouczek: poznaj cechy i zalety BDD Framework z przykładami Cucumber framework
BDD Framework czyli Behavior Driven Development to podejście do tworzenia oprogramowania, które pozwala testerowi/analitykowi biznesowemu tworzyć przypadki testowe w prostym języku tekstowym (angielskim).
prosty język używany w scenariuszach pomaga nawet nietechnicznym członkom zespołu zrozumieć, co dzieje się w projekcie oprogramowania., Pomaga to i poprawia komunikację między zespołami technicznymi i nietechnicznymi, menedżerami i interesariuszami.
Co To jest BDD Behavior Driven Development?
BDD powstaje z TDD, czyli Test Driven Development, który umożliwia użytkownikom pracę z wieloma danymi testowymi przy minimalnej interwencji w kod oprogramowania, a tym samym pomaga zwiększyć wielokrotność kodu, co jest mechanizmem oszczędzającym czas w tworzeniu oprogramowania / automatyzacji testów.
poprzez dziedziczenie TDD, BDD ma również wszystkie te cechy wraz ze swoimi zaletami.,
- scenariusze testowe są zapisywane oddzielnie w innym pliku o nazwie Feature file.
- testy są pisane poprzez skupienie historii użytkownika i zachowania systemu w języku laika.
- kod może być zapisany w pliku z definicjami kroków, np. Java, Python.
sugerowany Read => W Jaki Sposób testerzy są zaangażowani w podejście TBB/BDD
dlaczego warto używać frameworka BDD?
przed frameworkiem BDD wszyscy używali TDD., TDD działa dobrze w tworzeniu oprogramowania, pod warunkiem, że interesariusze są zaznajomieni z używanymi frameworkami i ich wiedza techniczna jest wystarczająca. Jednak nie zawsze może tak być.
BDD zapewnia ścieżkę, która działa jako pomost do pokonania luki między zespołami technicznymi i nietechnicznymi, ponieważ przypadki testowe są zwykle napisane prostym tekstem, tj. w języku angielskim. Główną zaletą BDD jest niski żargon i jaśniejsze podejście, które jest łatwiejsze do zrozumienia.
Jak wdrożyć podejście BDD?,
scenariusze testowe powinny być napisane prostym językiem ze szczegółowym opisem testu, sposobu testowania aplikacji i zachowania aplikacji, które mogą być zrozumiałe dla wszystkich.
w tym tutorialu skupimy się na Cucumber – narzędziu programowym do BDD i nauczymy się go praktycznie zaimplementować za pomocą jego języka tj. Gherkin.
Cucumber – narzędzie Framework BDD
Cucumber jest narzędziem do tworzenia przypadków testowych (Behavior Driven Development, BDD).,
podejście Given – When – Then
przykładowy plik funkcji
Feature: BDD implementation using CucumberScenario: Login to G-mail using Cucumber pluginGiven User is navigating to G-mail Login PageWhen User need to enter username as "Username" and password as "Password"Then User is successfully navigated to the G-mail Mail Box
przykładowy plik definicji kroku
Cucumber jest wtyczką testową, która pomaga w implementacji podejścia behavior-driven development.
Recommended Reading =>najlepsze narzędzia BDD, które powinieneś znać
zalety BDD Framework
Poniżej znajdują się różne zalety BDD.
#1) opis User Stories
Hybrydowy Framework z BDD ma być łączony z różnymi funkcjami., Każdy zasób w fazie rozwoju oprogramowania może przyczynić się do frameworka BDD.
ze względu na łatwą koncepcję tekstu laika w postaci pliku fabularnego umożliwia zainteresowanym osobom z zasobów technicznych pisanie scenariuszy w języku Gherkin za pomocą user stories. Zgodność zwykłego tekstu pomaga uzyskać maksymalny zasięg podczas testowania.
Plik funkcji zawierający scenariusze to:
- zdefiniowane historie użytkowników z firmy.
- kryteria dla programistów określające, czy specyfikacje spełniają wymagania biznesowe.
- scenariusze testów dla zespołu testującego.,
- Osłona powłoki dla testera automatyzacji, która pozwala im oddzielnie zapisywać swój kod w plikach definicji kroków.
- wyjaśniono scenariusze testów dla zainteresowanych stron.
klasyfikacja definicji kroków pomaga testerowi automatyzacji zachować swój kod nietknięty, co pomaga w utrzymaniu skryptów.
#2) klarowność scenariuszy
język Gherkin wykorzystuje zwykły tekst laika, który koncentruje się na wyniku produktu, który jest testowany / rozwijany przy użyciu BDD.,
ponieważ plik funkcji oddziela opis techniczny w innym pliku definicji kroków dla testerów automatyzacji, inteligentnie pomaga osobie nietechnicznej łatwo zrozumieć zautomatyzowany test. Wszelkie aktualizacje można zaimplementować w małej dyskusji.
moc czytelności gherkin gwarantuje przejrzystość scenariuszy dla każdego z jego użytkowników, co z kolei pomaga w budowie odpowiedniego produktu.
#3) Automatyzacja scenariuszy testowych
implementacja Cucumber w frameworku BDD umożliwia testerowi automatyzacji łatwe inicjowanie skryptów z odpowiednim podejściem., Łatwy język scenariuszy ogórka pomaga im lepiej zrozumieć funkcjonalność.
Cucumber jest wtyczką niezależną od języka, ponieważ jest kompatybilna z wieloma językami programowania, np. Java, Python itp.
Also Read => testowanie automatyzacji przy użyciu narzędzia BDD
#4) ponowne użycie kodu w ramach
podejście Given – When – Then daje możliwość testerom użycia tych samych kroków, co wiele razy chcemy w pliku funkcji, co stopniowo pomaga w oszczędzaniu czasu dla testerów automatyzacji.,:
Scenariusz: scenariusz 1
podany użytkownik jest nawigowany do strony głównej Google
gdy użytkownik wyszukał „Ogórek” w wyszukiwarce
następnie kliknął przycisk Szukaj
I użytkownik może zobaczyć wyniki wyszukiwania ogórka w przeglądarce
Scenariusz: scenariusz 2
podany użytkownik jest nawigowany do strony głównej Google
gdy użytkownik wyszukał „Selenium” w wyszukiwarce
następnie kliknął przycisk Szukaj
I użytkownik mógł zobaczyć wyniki wyszukiwania ogórka w przeglądarce
wyniki wyszukiwania Selenium w przeglądarce internetowej
w dwóch powyższych scenariuszach możemy stwierdzić, że kroki „given”, „When” I „then” są wielokrotnego użytku w drugim scenariuszu.,
#5) parametryzacja w pliku funkcji
użytkownik może parametryzować kroki w pliku funkcji, aby uzyskać możliwość ponownego użycia w pliku.
na przykład, jeśli użytkownik pracuje nad aplikacją bankową, w której loguje się do aplikacji wielokrotnie. Tego rodzaju kroki mogą być parametryzowane za pomocą innego zestawu danych i oszczędza to czas dla testera.
podczas pisania scenariuszy, użytkownik musi zdefiniować kroki pliku funkcji w taki sposób, aby użytkownik mógł łatwo korzystać ze wspólnej funkcjonalności.,
#6) ciągła Integracja – łatwa do integracji
obsługuje również pracę z Jenkinsem. Możesz uruchomić test cucumber w Jenkins, a także zaimplementować to samo w Jenkins slave machines. Wtyczka do raportowania cucumber zapewnia również użytkownikom Rozszerzony widok do śledzenia scenariuszy testowych.
warto przeczytać> proces ciągłej integracji
wnioski
Behavior Driven Development jest bardzo inteligentnym podejściem w metodologii zwinnej., Zawsze zaleca się rozpoczęcie rozwoju lub testowania przy użyciu BDD, ponieważ korzystanie z niego daje platformę do samodzielnej pracy z różnymi technologiami.
ogórek jest jednym z najlepszych narzędzi, które pomaga wdrożyć podejście Behavior Driven Development w projekcie oprogramowania. Pozwala nam to na pracę z wieloma technologiami np. Java, Python, Jython itp.
ogórek jest szeroko stosowany przez wiele organizacji i freelancerów, posiada również wiele społeczności, w których użytkownicy mogą dyskutować o swoich problemach i mogą łatwo znaleźć rozwiązania swoich problemów.,
język ogórkowy – Gherkin, który używa prostych, prostych angielskich słów – zmniejsza lukę komunikacyjną między zespołami technicznymi a interesariuszami i pozwala im współpracować na tym samym poziomie.
mamy nadzieję, że ten artykuł pomógł Ci zrozumieć podstawy frameworka BDD!!