bdd framework
Samouczek dotyczący struktury BDD (Behavior Driven Development): Poznaj funkcje i zalety struktury BDD z przykładami struktury Cucumber
Framework BDD, czyli Behavior Driven Development to podejście do tworzenia oprogramowania, które umożliwia testerowi / analitykowi biznesowemu tworzenie przypadków testowych w prostym języku tekstowym (angielskim).
Prosty język używany w scenariuszach pomaga nawet nietechnicznym członkom zespołu zrozumieć, co się dzieje w projekcie oprogramowania. Pomaga to i poprawia komunikację między zespołami technicznymi i nietechnicznymi, menedżerami i interesariuszami.
Czego się nauczysz:
- Co to jest rozwój oparty na zachowaniu BDD?
- Cucumber - narzędzie ramowe BDD
- Zalety BDD Framework
- Wniosek
Co to jest rozwój oparty na zachowaniu BDD?
BDD wywodzi się z TDD, tj. Test Driven Development, który umożliwia użytkownikom pracę z wieloma danymi testowymi przy minimalnej ingerencji w kod oprogramowania, a tym samym pomaga zwiększyć możliwość ponownego wykorzystania kodu, co jest mechanizmem oszczędzającym czas w tworzeniu oprogramowania / automatyzacji testów .
różnica między java i c ++
Dziedzicząc TDD, BDD ma również wszystkie te cechy wraz z zaletami.
- Scenariusze testowe są zapisywane oddzielnie w innym pliku, nazwanym jako plik funkcji.
- Testy są pisane poprzez skupianie się na historiach użytkowników i zachowaniu systemu w języku laika.
- Kod może być napisany inaczej w pliku definicji kroków, tj. Java, Python.
Sugerowany odczyt => W jaki sposób testerzy są zaangażowani w podejście TBB / BDD
Dlaczego warto korzystać z BDD Framework?
Przed frameworkiem BDD wszyscy używali TDD. TDD działa dobrze w tworzeniu oprogramowania, pod warunkiem, że interesariusze znają używany framework, a ich wiedza techniczna jest wystarczająca. Jednak nie zawsze tak jest.
BDD zapewnia ścieżkę, która działa jak pomost do pokonania luki między zespołami technicznymi i nietechnicznymi, ponieważ przypadki testowe są zwykle pisane 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, sposobem testowania aplikacji i zachowaniem aplikacji, które mogą być zrozumiałe dla wszystkich.
W tym samouczku skupimy się na Ogórek - narzędzie programowe dla BDD i nauczy się je praktycznie wdrażać używając swojego języka, czyli Gherkin.
Cucumber - narzędzie ramowe BDD
Cucumber to narzędzie programistyczne oparte na zachowaniu (BDD) służące do pisania przypadków testowych.
Dane - Kiedy - Następnie Podejdź
- Dany: Pewien kontekst (warunki wstępne).
- Gdy: Wykonywana jest Akcja (Akcje).
- Następnie: Konkretny wynik / konsekwencja po powyższym kroku (wyniki).
Przykładowy plik funkcji
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When 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
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Cucumber to wtyczka testowa, która pomaga we wdrażaniu podejścia opartego na zachowaniu.
Zalecana lektura => Najlepsze narzędzia BDD, które powinieneś znać
Zalety BDD Framework
Poniżej wymieniono różne zalety BDD.
1) Pokrycie historii użytkowników
Hybrid Framework z BDD ma być łączony z różnymi funkcjami. Każdy zasób w fazie rozwoju oprogramowania może wnieść wkład do struktury BDD.
Ze względu na prostą koncepcję tekstu laika w postaci pliku funkcyjnego umożliwia interesariuszom zasobów technicznych pisanie scenariuszy w języku Gherkin z wykorzystaniem historyjek użytkownika. Zgodność zwykłego tekstu pomaga uzyskać maksymalne pokrycie testów.
Plik funkcji zawierający scenariusze to:
- Zdefiniowane historie użytkowników z firmy.
- Kryteria dla programistów umożliwiające określenie, czy specyfikacje spełniają wymagania biznesowe.
- Scenariusze testowe dla zespołu testującego.
- Osłona powłoki dla testera automatyzacji, która pozwala osobno pisać swój kod w plikach definicji kroków.
- Wyjaśnione scenariusze testowe dla interesariuszy.
Klasyfikacja definicji kroków pomaga testerowi automatyzacji zachować jego kod nietknięty, co w ten sposób pomaga w utrzymaniu skryptów.
# 2) Przejrzystość scenariuszy
Język Gherkin używa prostego tekstu 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 w łatwym zrozumieniu testu automatycznego. Wszelkie aktualizacje można wdrożyć w ramach małej dyskusji.
Siła czytelności korniszona gwarantuje przejrzystość scenariuszy dla każdego jego użytkownika, co z kolei pomaga w budowaniu odpowiedniego produktu.
# 3) Automatyzacja scenariuszy testowych
Implementacja Cucumber w frameworku BDD umożliwia testerowi automatyzacji łatwe inicjowanie skryptów z odpowiednim podejściem. Prosty język scenariuszy ogórków pomaga im lepiej zrozumieć funkcjonalność.
Cucumber jest wtyczką niezależną od języka, ponieważ jest kompatybilna z wieloma językami programowania Na przykład. Jawa , Pyton itp.
jakie jest najlepsze usuwanie wirusów
Przeczytaj także => Testowanie automatyzacji za pomocą narzędzia BDD
# 4) Ponowne wykorzystanie kodu w Framework
Podejście Given - When - Then daje testerom swobodę wykonywania tych samych kroków, ile chcemy w pliku funkcji, co stopniowo pomaga oszczędzić czas testerów automatyzacji.
Przykład:
Scenariusz: scenariusz 1
Dany Użytkownik jest kierowany do strony głównej Google
Gdy Użytkownik wyszukał w wyszukiwarce hasło „Ogórek”
Następnie Kliknięto przycisk Szukaj
I Użytkownik może zobaczyć wyniki wyszukiwania Ogórka w przeglądarce internetowej
urządzenie wirtualne modułu równoważenia obciążenia typu open source
Scenariusz: scenariusz 2
Dany Użytkownik jest kierowany do strony głównej Google
Gdy Użytkownik przeszukał wyszukiwarkę „Selenium”
Następnie Kliknięto przycisk Szukaj
I Użytkownik może zobaczyć wyniki wyszukiwania dla Selenium w przeglądarce internetowej
W dwóch powyższych scenariuszach możemy stwierdzić, że „ Dany', ' Gdy ' i ' Następnie ”Kroki są wielokrotnego użytku w drugim scenariuszu.
# 5) Parametryzacja w pliku funkcji
Użytkownik może sparametryzować kroki korniszona w pliku funkcji, aby uzyskać możliwość ponownego wykorzystania w pliku.
Na przykład, jeśli użytkownik pracuje nad aplikacją bankową, w której wielokrotnie loguje się do aplikacji. Tego typu kroki można sparametryzować innym zestawem danych i oszczędza to czas testera.
Pisząc scenariusze, użytkownik musi zdefiniować kroki pliku funkcji w taki sposób, aby użytkownik mógł łatwo korzystać ze wspólnych funkcji.
# 6) Ciągła integracja - łatwa do integracji
Cucumber wspiera również współpracę z Jenkinsem. Możesz uruchomić wykonanie testu ogórka w Jenkins, a także zaimplementować to samo w maszynach podrzędnych Jenkins. Wtyczka do raportowania ogórków zapewnia również użytkownikom rozszerzony widok do śledzenia scenariuszy testowych.
Warto przeczytać => Ciągły proces integracji
Wniosek
Rozwój oparty na zachowaniu to bardzo inteligentne podejście w zwinna metodologia . Zawsze zaleca się rozpoczęcie tworzenia lub testowania przy użyciu BDD, ponieważ korzystanie z niego zapewnia platformę do niezależnej 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. To pozwala nam pracować z wieloma technologiami Na przykład. Java, Python, Jython itp.
Ogórek jest szeroko stosowany przez wiele organizacji i freelancerów, ma również wiele społeczności, w których użytkownicy mogą omawiać swoje problemy i mogą łatwo znaleźć rozwiązania swoich problemów.
Język ogórkowy - korniszon, który używa prostych, prostych angielskich słów - zmniejsza lukę komunikacyjną między zespołami technicznymi a interesariuszami i pozwala im pracować razem na tym samym poziomie.
Mamy nadzieję, że ten artykuł pomógł Ci zrozumieć podstawy BDD Framework !!
rekomendowane lektury
- W jaki sposób testerzy są zaangażowani w techniki TDD, BDD i ATDD
- 8 Narzędzia i struktury testowe oparte na najlepszym zachowaniu (BDD)
- Testowanie automatyzacji przy użyciu narzędzia Cucumber i selenu - samouczek dotyczący selenu nr 30
- Metodologia Agile: Przewodnik dla początkujących po metodach Agile i Scrum
- Samouczek Specflow: najlepszy przewodnik po narzędziu BDD
- Proces ciągłej integracji: jak poprawić jakość oprogramowania i zmniejszyć ryzyko
- Cucumber Selenium Tutorial: Integracja Cucumber Java Selenium WebDriver
- 15 najlepszych narzędzi do ciągłej integracji w 2021 roku (w porównaniu)