8 best behavior driven development tools
Przegląd najlepszych narzędzi i frameworków BDD do programowania sterowanego zachowaniem:
W tym artykule omówimy rozwój oparty na zachowaniu i niektóre powiązane narzędzia w nim wykorzystywane. Omówimy dziś niektóre z najlepszych narzędzi obecnych w branży na ten temat.
Więc zanim przejdziemy do narzędzi, czym jest rozwój oparty na zachowaniu? Jest to metoda programistyczna, która wyewoluowała z procesu rozwoju opartego na testach. Rozwój oparty na zachowaniu polega głównie na wiedzy technicznej i wiedzy biznesowej.
W większości przypadków osiąga się to za pomocą języka specyficznego dla domeny. Język dziedzinowy wykorzystuje naturalne konstrukcje języka angielskiego do definiowania wyników wspomnianego zachowania.
jak rozpocząć testowanie automatyzacji od zera
Czy nie byłoby łatwiej wyjaśnić BDD na przykładach? Tak! Zobaczmy, jak w BDD jest napisana historia użytkownika. Typowa historia użytkownika ma tytuł lub historię, narrację i scenariusze.
Tytuł : Aby utrzymać 20 modeli iPhone'a 7 w moim magazynie
- Jestem właścicielem sklepu z telefonami komórkowymi
- Aby odpowiedzieć na nowe zamówienia
- Muszę mieć w magazynie 20 modeli iPhone'a 7
Scenariusz 1:
- Biorąc pod uwagę, że klient kupił iPhone'a 7
- Wtedy moje saldo zapasów powinno spaść do 19
- Kiedy przenoszę jeden model z magazynu do magazynu
- Następnie saldo zapasów powinno wzrosnąć o 1 do 20
Scenariusz 2:
- Biorąc pod uwagę, że klient kupił iPhone'a 7
- Wtedy moje saldo zapasów powinno spaść do 19
- Klient zdecydował się zwrócić model
- Następnie saldo zapasów powinno wrócić do 20
Mając te dane i wiedzę na temat rozwoju opartego na zachowaniu, przejdziemy do przeglądu naszych starannie dobranych narzędzi, które obsługują BDD.
pytania do wywiadu qtp i odpowiedzi dla doświadczonych
=> Skontaktuj się z nami zasugerować listę tutaj.
Czego się nauczysz:
Najlepsze narzędzia BDD i ramy testowe
No to ruszamy!
# 1) Ogórek
- Pierwszą i najważniejszą kwestią jest cena. Tak! Jest darmowy.
- Cucumber pomaga w pisaniu testów, które są łatwe do zrozumienia dla każdego, niezależnie od posiadanej wiedzy technicznej.
- Interesariusze, właściciele firm, testerzy i programiści pracują nad stwierdzeniem problemu, aby uzyskać najlepszy zestaw zachowań.
- Zestawy zachowań są następnie zmieniane w warunki testu akceptacji przy użyciu ogórka.
- Ogórek jako narzędzie utrzymuje zarówno deklarację wymagań, jak i warunki testu w tym samym miejscu.
- Śledzenie implementacji jest łatwe dzięki Cucumber. Zaimplementowany i działający zestaw zachowań jest wyświetlany jako działający w Cucumber. Te, które nie działają, są odpowiednio wyświetlane.
- Cucumber obsługuje języki programowania, w tym Ruby, Java, Javascript i C # (SpecFlow).
- Zarówno testerzy, jak i programiści są zaangażowani w pisanie / opracowywanie warunków testowych.
- Cucumber może być używany do testowania dowolnego oprogramowania, którym można sterować programowo - internetowego, stacjonarnego, mobilnego, mikrousług i tak dalej.
- Aby użyć Cucumber, najpierw zdecyduj, którego języka programowania będziesz używać do automatyzacji. Generalnie najlepiej jest używać tego samego języka, który został użyty do implementacji testowanego systemu. Zainstaluj odpowiednią wersję Cucumber i środowisko programistyczne. Następnie w razie potrzeby skorzystaj z bibliotek automatyzacji (takich jak WebDriver / Selenium lub Watir).
Zalecana lektura => Ukończ samouczek dotyczący ogórków
# 2) Łatwy B
- EasyB to framework, który wykorzystuje historie jako jednostki weryfikacyjne
- EasyB jest głównie napisany w Groovy i jest kompatybilny z językami Java lub Groovy
- EasyB może służyć do generowania historii użytkowników, deklarowania specyfikacji itp.
- Ponieważ EasyB używa skryptu Groovy, specyfikacje mogą być napisane bardziej w języku angielskim niż w instrukcjach zorientowanych na programistę. To sprawia, że EasyB spełnia model BDD
- Po wprowadzeniu specyfikacji jest ona nazywana specyfikacją oczekującą. Są dodawane do systemu po wdrożeniu w systemie.
- Z pomocą przychodzi EasyB Testów jednostkowych , jeśli deweloperzy zdecydują się na to
- Obsługuje również połączenie JDBC i jest przydatny z zewnętrznymi wtyczkami (pliki JAR), a także rozszerza działanie
- Nie ma integracji IDE dla EasyB
- EasyB zapewnia również narzędzie do raportowania, które przydaje się do uzyskiwania danych w postaci XML i HTML.
Więcej szczegółów znajdziesz tutaj
# 3) JDave
- JDave to platforma programistyczna oparta na zachowaniu.
- JDave działa na JUnit a to oznacza, że może z łatwością działać w Eclipse.
- To integruje się z JMOCK2 i Hamcrest jako frameworkiem Mocking i odpowiednio dopasowaną biblioteką.
- JDave jest silnikiem specyfikacji, a każdy scenariusz przedstawia zachowanie klasy w przeciwieństwie do frameworka typu story runner, takiego jak Cucumber.
- JDave jest dość łatwy do nauczenia, a specyfikacje zostały napisane na swój sposób.
- Jednak biorąc pod uwagę BDD, JDave staje się nieco bardziej zorientowanym na programistów frameworkiem.
Więcej szczegółów na temat JDave można znaleźć pod adresem tutaj
# 4) Concordion
- Jest to jedno z najpotężniejszych narzędzi do pisania skryptów automatyzacji testów akceptacyjnych w projektach opartych na języku JAVA.
- Concordion integruje się z frameworkiem JUnit i dlatego może być używany ze zwykłymi IDE JAVA, takimi jak Eclipse, Netbeans itp.
- Concordion też pomaga w pisaniu specyfikacji. Ale tutaj specyfikacje są napisane w HTML.
- Testy akceptacyjne są napisane w kodzie urządzenia, który jest niczym innym jak językiem JAVA.
- Concordion zapewnia zewnętrzne interfejsy API w celu zwiększenia funkcjonalności. Niektóre przykłady dotyczą obsługi programu Excel. Dzięki temu specyfikacje mogą być zapisane w arkuszach programu Excel i mogą być stamtąd używane. W podobny sposób istnieją interfejsy API obsługujące przechwytywanie dzienników, zrzutów zrzutów itp.
- Ponieważ specyfikacje są napisane w HTML, dokumenty specyfikacji mogą być hiperłączami do HTML.
- Concordion jest czystym frameworkiem opartym na JAVA, który ma naprawdę ładne wsparcie dla generowania raportów.
- Jednak to nie ma wsparcia dla TestNG a analityk biznesowy musi mieć wiedzę na temat języka HTML, aby móc pisać specyfikacje.
Więcej informacji na temat Concordion można znaleźć pod adresem tutaj
# 5) JBehave
- Jbehave to oparte na zachowaniu narzędzie programistyczne dla JAVA. Jest to framework open source stworzony przez Dana Northa w 2003 roku.
- Ma dwa komponenty, a mianowicie Jbehave Web i Jbehave Main
- Jest to implementacja oparta na języku Java i obsługuje środowisko IDE
- W tym narzędziu historie są oparte na tekście
- Posiada funkcję raportowania, a raporty mogą być generowane w formacie XML, HTML lub w trybie tekstowym
- Jbehave może łatwo zintegrować się z Selenium w celu uruchamiania skryptów testowych w aplikacjach internetowych
- Ponieważ jest to framework oparty na JAVA, można go uruchomić w środowiskach IDE, takich jak Eclipse, Netbeans itp.
Więcej informacji na temat Jbehave można znaleźć pod adresem tutaj
# 6) Fitness
- Fitnesse to platforma automatyzacji typu Open Source oparta na Framework for Integrated Test (FIT) autorstwa Ward Cunningham
- Fitnesse pomaga w automatyzacji testów akceptacyjnych podczas integracji na poziomie biznesowym
- Jest napisany w języku JAVA i dołączony jako plik JAR. Wykonywalny plik JAR zawiera takie elementy, jak serwer WWW, silniki testowe (FIT lub SLIM), silnik wiki itp.
- FIT i SLIM to dwa systemy testowe, które są częścią Fitnesse. FIT jest starszym rodzeństwem i teraz jest przestarzały. Nie ma dalszych zmian związanych z FIT. Z drugiej strony SLIM to lekka wersja systemu testowego FIT.
Więcej informacji na temat Fitnesse można znaleźć pod adresem tutaj
jak napisać test junit
# 7) TestLeft
- TestLeft to narzędzie do testowania automatyzacji interfejsu użytkownika w Twoim IDE, które pozwala testować wcześniej i szybciej
- Twórz testy szybciej dzięki naszemu wiodącemu w branży szpiegowi obiektów interfejsu użytkownika, dzięki czemu nie musisz ręcznie programować opisów każdego obiektu
- Twórz modele aplikacji dla aplikacji internetowych i stacjonarnych za pomocą dwóch kliknięć
- Z łatwością integruj się z Cucumber, SpecFlow i JBehave, aby włączyć rozwój oparty na zachowaniu i przyspieszyć test zmiany biegów w lewo
- Wsparcie dla .NET, C #, Java, Jenkins i nie tylko
- Bezproblemowe osadzanie w dowolnym środowisku programistycznym ekosystemu DevOps
- Twórz zwięzły i krótszy kod dla solidnej struktury testowej
- Dostępny 30-dniowy bezpłatny okres próbny
Dowiedz się więcej o TestLeft tutaj
# 8) BeanSpec
- BeanSpec to proste narzędzie, które obsługuje złożone specyfikacje w nim zawarte
- Jest to napisane w Javie i dlatego może być obsługiwane przez IDE, takie jak Eclipse i Netbeans
- Ma swój własny raport wewnętrzny i może zostać wygenerowany po zakończeniu wykonywania.
Więcej informacji można znaleźć pod adresem tutaj
# 9) SpecFlow
- Nazywa się to Cucumber for.NET. Specflow jest podobny do Cucumber pod wieloma względami. W rzeczywistości zostało to opracowane, czerpiąc inspirację z ogórka
- Specflow używa tekstu w języku angielskim w formacie Gherkin do opisywania historii użytkowników
- Ponieważ jest oparty na .Net, SpecFlow integruje się z Visual Studio . Jednak Specflow może być również używany z wiersza poleceń
- Aby uruchomić Specflow w systemie, potrzebne są dwie rzeczy, jedna to IDE Integration, a druga to Visual Studio
- Specflow to oprogramowanie typu open source i chociaż inspirowane jest ogórkiem, ma pewne zalety w stosunku do ogórka . Po pojawieniu się programu Visual Studio użytkownik dostaje w ręce VS Debugger, który jest przydatny pod względem dodawania punktów przerwania w wierszach Given / When / Then w instrukcjach.
- Niektórzy z nas naprawdę wolą Visual Studio od Eclipse. Nie ze względu na użyteczność, ale ze względu na nazwę. Tak proste jak to! I tak dalej.
- Specflow + Runner pomaga w generowaniu raportów z testów
- Specflow + Runner wprowadza również niektóre z najnowocześniejszych funkcji do Specflow, takich jak konfiguracja automatycznego wdrażania, równoległe wykonywanie testów, inteligentne wykonywanie, w którym nieudane testy są wykonywane jako pierwsze itp.
Więcej informacji na temat SpecFlow można znaleźć pod adresem tutaj
Wniosek
Oto kilka z najlepszych narzędzi programistycznych opartych na zachowaniu, które naszym zdaniem są najlepsze na rynku. Nie krępuj się, jeśli użyłeś czegoś innego niż wymienione powyżej. A który wolisz?
=> Skontaktuj się z nami zasugerować listę tutaj.rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Framework BDD (Behavior Driven Development): kompletny samouczek
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)
- Różnice między testowaniem jednostkowym, testowaniem integracyjnym i testowaniem funkcjonalnym
- Testing Primer Pobierz eBook
- Testowanie bezpieczeństwa sieci i najlepsze narzędzia bezpieczeństwa sieci
- Testowanie w parach lub samouczek testowania we wszystkich parach z narzędziami i przykładami
- Testowanie domeny telekomunikacyjnej: Testowanie protokołów i narzędzia do testowania telekomunikacji