Testowanie zwinne - narzędzia
W projektach zwinnych testerzy są odpowiedzialni za następujące codzienne zadania -
Wspieraj programistów w kodowaniu, wyjaśniając oczekiwane zachowanie systemu.
Pomóż programistom w tworzeniu skutecznych i wydajnych testów jednostkowych.
Twórz skrypty automatyzacji.
Zintegruj narzędzia / skrypty do testowania automatyzacji z ciągłą integracją na potrzeby testów regresyjnych.
W celu efektywnej i szybkiej realizacji tych zadań w większości projektów zwinnych stosowany jest system Continuous Integration (CI), który obsługuje CI kodu i komponenty testowe.
Testerzy i programiści w projektach zwinnych mogą korzystać z różnych narzędzi do zarządzania sesjami testowymi oraz do tworzenia i przesyłania raportów defektów. Oprócz specjalistycznych narzędzi do testowania zwinnego zespoły zwinne mogą również skorzystać z narzędzi do automatyzacji testów i zarządzania testami.
Note - Rozwiązania Record-and-Playback, Test-Last, Heavyweight i Test Automation nie są elastyczne, ponieważ -
Przepływ pracy test-last zachęcany przez takie narzędzia nie działa w zespołach zwinnych.
Nieobsługiwane skrypty utworzone za pomocą takich narzędzi stają się przeszkodą do zmiany
Takie specjalistyczne narzędzia stwarzają zapotrzebowanie na specjalistów ds. Automatyzacji testów, a tym samym sprzyjają silosom
Narzędzia, które są szeroko stosowane to:
S.No. | Narzędzie i cel |
---|---|
1 | Hudson Struktura CI |
2 | Selenium Testowanie funkcjonalne - zintegrowane z Hudson |
3 | CruiseControl Struktura CI |
4 | Junit Test jednostkowy języka Java |
5 | Nunit Test jednostkowy .Net |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Pokrycie testów Java |
7 | Jester Java - testowanie mutacji / automatyczne rozsiewanie błędów |
8 | Gretel Narzędzie do monitorowania zakresu testów Java |
9 | TestCocoon C / C ++ lub C # - zmniejsza liczbę testów, znajdując nadmiarowe testy i wyszukuje martwy kod |
10 | JAZZ Java - pokrycie gałęzi, węzłów i rozbrajania oraz implementacja graficznego interfejsu użytkownika, planowania testów, instrumentacji dynamicznej i analizatora testów |
11 | Ant Java - kompilacja automatyzacji |
12 | Nant .Net - budowanie automatyzacji |
13 | Bonfire Dodatek Agile Testing dla JIRA |
Narzędzia do zwinnej automatyzacji testów
Efektywna obsługa narzędzi do automatyzacji testów Agile -
Wczesna automatyzacja testów przy użyciu podejścia najpierw testowego.
Pisanie kodu automatyzacji testów przy użyciu prawdziwych języków, języków specyficznych dla domeny.
Koncentrując się na oczekiwanym zachowaniu systemu.
Oddzielenie istoty testu od szczegółów implementacji, dzięki czemu jest niezależna od technologii.
Wspieranie współpracy.
Zautomatyzowane testy jednostkowe (przy użyciu Junit lub NUnit) obsługują podejście do kodowania w pierwszej kolejności. Są to testy białoskrzynkowe i zapewniają, że konstrukcja jest solidna i nie ma żadnych wad. Takie testy są tworzone przez programistów przy wsparciu testerów i mogą być niezależne od wymaganej funkcjonalności. Skutkuje to dostarczeniem produktu, który może nie spełniać wymagań klienta, a tym samym nie mieć wartości biznesowej.
Rozwiązanie tego problemu polega na zautomatyzowaniu testów akceptacyjnych, które są pisane we współpracy z klientem, innymi interesariuszami, testerami i programistami. Automatyczne testy akceptacyjne są pisane przez klientów lub właścicieli produktów / analityków biznesowych i odzwierciedlają oczekiwane zachowanie produktu. Zaangażowanie programistów zapewnia produkcję kodu zgodnie z wymaganiami. Jeśli jednak testowanie koncentruje się tylko na akceptacji, wynikowy kod może pozostać nierozszerzalny.
W związku z tym zautomatyzowane testy jednostkowe i automatyczne testy akceptacyjne są uzupełniające i oba są potrzebne w zwinnym rozwoju.
Zwinne narzędzia i struktury, które obsługują automatyczne testy akceptacyjne to -
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
Dopasowanie
Ward Cunningham opracował narzędzie Fit, którego można używać do automatyzacji testów akceptacyjnych. Dopasowanie pozwala -
Klienci lub właściciele produktów, aby podać przykłady zachowania produktów za pomocą programów Microsoft Word i Microsoft Excel
Programiści mogą łatwo przekształcić te przykłady w testy automatyczne.
Fit 1.1 obsługuje zarówno język Java, jak i .NET.
FitNesse
FitNesse to wiki, które jest stylem serwera internetowego, który pozwala każdemu odwiedzającemu na dokonywanie dowolnych edycji, w tym zmianę istniejących stron i tworzenie nowych. Prosty język znaczników umożliwia łatwe tworzenie nagłówków, pogrubianie tekstu, podkreślanie i kursywę, tworzenie list wypunktowanych i wykonywanie innych rodzajów prostego formatowania.
W FitNesse automatyzacja testów akceptacyjnych wygląda następująco -
Testy ekspresowe jako tabele danych wejściowych i oczekiwanych danych wyjściowych.
Użyj FitNesse, aby umieścić tabelę testową na stronie, którą możesz edytować.
Alternatywnie, umieść tabelę testową w programie Microsoft Excel, skopiuj do schowka, a następnie użyj Spreadsheet to FitNesse polecenie, aby FitNesse poprawnie sformatował tabelę
Uruchom test
Wyniki testu uzyskuje się poprzez kodowanie kolorami komórek w tabeli testowej
zielone komórki oznaczają, że uzyskano oczekiwane wartości
czerwone krwinki oznaczają, że uzyskano inną wartość niż oczekiwana
żółte komórki oznaczają, że został zgłoszony wyjątek
Ogórek
Cucumber to narzędzie oparte na architekturze Behavior Driven Development (BDD). Kluczowe cechy to -
Służy do pisania testów akceptacyjnych dla aplikacji internetowych.
Umożliwia automatyzację walidacji funkcjonalnej w czytelnym i zrozumiałym formacie, takim jak zwykły angielski.
Został zaimplementowany w języku Ruby, a następnie rozszerzony na framework Java. Oba obsługują Junit.
Obsługuje inne języki, takie jak Perl, PHP, Python, .Net itp.
Może być stosowany razem z selenem, watirem, kapibarą itp.