2011-04-26 24 views
6

Jestem w trakcie oceniania kilku frameworków automatyzacji testów i doceniłbym pewne dane wejściowe. Mamy dużą aplikację biznesową do przetwarzania punktów kredytowych i ma ona trzy punkty końcowe: web ui, soap i podstawowy http/post. Moje wymagania są takie, jak poniżej.Sugeruję schemat automatyzacji testów dla mojego scenariusza

Nasza kontrola jakości jest bardzo często wykorzystywana do testowania opartego na danych (wszystkie dane wejściowe pochodzą z programu Excel, a więc oczekiwany wynik dla stwierdzeń). Zasadniczo każdy wiersz w arkuszu programu Excel zawiera zarówno dane wejściowe, jak i oczekiwany wynik. Chcemy, aby nasza kontrola jakości właśnie edytowała arkusze programu Excel. Nasz zespół programistów będzie odpowiedzialny za zapewnienie niezbędnych bibliotek testowych/urządzeń. Biorąc pod uwagę powyższy scenariusz, chciałbym użyć jednego pojedynczego schematu automatyzacji, który może odczytać te arkusze excel i przetestować wszystkie punkty końcowe mojej aplikacji, tj. Web ui, soap i http/post. Proszę dać mi znać, które ramy automatyzacji testów pasują do moich potrzeb. Doceń niektóre wskazówki i samouczki, które pomogą mi zacząć.

Odpowiedz

2

I już przez niektóre z proponowanych ram ale ostateczny wybór zrobiłem było napisać moje własne biblioteki domen (DSL jeśli będzie) na górze

  1. Spock
  2. Geb
  3. Groovy i
  4. HTTP Builder
  5. sonar i Hudson

Obecnie przeprowadzamy 14000+ (i rosnące) testy regresji każdej nocy w ramach CI.

3

Zaleca się Fit/Fitness. To dobry sposób na umożliwienie analitykom biznesowym samodzielnego uruchamiania testów.

+0

Dzięki za polecenie Fit. Choć podoba mi się to, cały proces pisania testów w składni wiki jest przytłaczający dla QA, a my także chcemy kontroli wersji testowej –

+0

Fitnesse doskonale do tego pasuje, może pracować z selenem dla webui i ma restfixture, które zrobi kawałki mydła. Będzie działał dobrze z każdym VCS i poważnie częściowo przeszkolona małpa może korzystać z wiki ..... – Bill

1

Nie jestem świadomy narzędzia, które pozwoliłoby przetestować cały punkt końcowy z danymi przechowywanymi w arkuszu kalkulacyjnym. Konieczne będzie przyjrzenie się napisaniu niestandardowego programu testowego zbudowanego na istniejącym torze testowym, aby umożliwić odczytanie danych z arkusza kalkulacyjnego.

Jednak bardziej skupiłbym się na wybraniu narzędzia dopasowanego do punktu końcowego, który próbujesz przetestować. Dla interfejsu internetowego polecam selenium lub HtmlUnit. Aby uzyskać dane z arkusza kalkulacyjnego w tych testach, należy przyjrzeć się metodom alternatywnym. Ale te będą korzystać z interfejsu użytkownika tak blisko użytkownika, jak to możliwe.

Aby przetestować punkt końcowy mydła, sugerowałbym tylko pisanie testów jednostkowych przy użyciu JUnit i wyśmiewanie zaplecza. Możesz przetestować backend oddzielnie z testami jednostkowymi, aby upewnić się, że działa poprawnie. W zależności od architektury aplikacji może to nie być opcja dla Ciebie. Możesz ustawić je jako testy integracyjne i wykonać je przez JUnit i potwierdzić otrzymany komunikat. Ponownie musisz napisać bibliotekę, która uzyskała dane i oczekiwane wartości z arkusza kalkulacyjnego.

Mam nadzieję, że to pomocne dla Ciebie.

0

Mogę polecić soapUI (http://www.soapui.org/) lub aplikację JMeter (http://jmeter.apache.org/).

Z SoapUI zrobiłem testy funkcjonalne dla mojej (mydło-) usługi internetowej. Możesz zautomatyzować te testy.

Z Apache JMeter Przeprowadziłem automatyczne testy wydajności w interfejsie internetowym. Dane testowe również opierały się na arkuszu Excela.

poważaniem Patrick

0

może chcesz przyjrzeć Twist od ThoughtWorks. To funkcjonalne IDE testujące. QA/BA mogą używać języka naturalnego do definiowania przypadków testowych. Twist używa Selenium i JUnit pod maską, więc wygenerowane przypadki testowe mogą być kontrolowane pod względem wersji.

Zgadzam się z @stuartf, że nie znajdziesz rozwiązania z pudełka, które załaduje dane Excela i wystąpi przeciwko niemu. Możesz użyć POI lub jakiegoś innego programu Excel do załadowania danych w twojej strukturze testowej.

5

Robotframework umożliwia korzystanie z danych testowych pochodzących z plików zewnętrznych. Nie próbowałem z arkuszami programu Excel, ale zrobiłem to z danymi w formacie CSV, a także z JSON.W najgorszym wypadku może być konieczne wyeksportowanie danych programu Excel do formatu przyjaznego dla Pythona, ale można to zrobić w sposób przejrzysty dla osób prowadzących arkusz kalkulacyjny.

Krótko mówiąc, można utworzyć słowo kluczowe w pythonie (lub dowolnym języku opartym na JVM, jeśli używasz jython), które czyta się w arkuszu kalkulacyjnym i konwertuje je na dane używane w testach.

Jednak, jeśli absolutnie wszystkie twoje testy są prowadzone z tego pliku danych, nie potrzebujesz ramy. Wystarczy napisać krótki skrypt w dowolnym języku, który będzie iterować w każdym wierszu i wywoła funkcję, która ma odpowiednik curl lub wget. Ramy są przydatne, jeśli potrzebujesz sposobu na reprezentowanie scenariuszy testowych, ale już to masz.

Mimo to zaletą korzystania z robota - nawet jeśli masz tylko jeden test, który mówi "sprawdzaj za pomocą każdego wiersza arkusza kalkulacyjnego" - jest to, że masz ładne raporty, które robot ma, i może z łatwością zintegrować go z Jenkins/Hudson.