Czego używasz do testowania interfejsu WWW? [zamknięte]

Firma, dla której obecnie pracuję, używa Selenium do jednoczenia-testowania naszego interfejsu użytkownika. Czego używasz do testowania interfejsu WWW i jak skutecznie go odnajdujesz?

Author: Chris, 2008-08-11

15 answers

Używamy Watin w moim miejscu pracy, jesteśmy sklepem. NET więc to rozwiązanie miało duży sens. Zaczęliśmy od Watir (oryginalna implementacja Rubiego) i przełączyliśmy się później. Do tej pory było to dla nas całkiem dobre rozwiązanie

 10
Author: jonezy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-28 11:10:56

Jestem wielkim fanem selenu. Powiedzenie "unit-testing your web ui" nie jest dokładnie dokładne, jak wspomniano w niektórych komentarzach. Jednak uważam, że selen jest niezwykle przydatny do wykonywania tego rodzaju testów akceptacji i rozsądku w interfejsie użytkownika.

Dobrym sposobem na rozpoczęcie pracy jest użycie Selenium IDE jako części Twojego rozwoju. Ie, po prostu otwórz IDE, gdy rozwijasz się i napisz swój test, aby skrócić czas tworzenia. (Zamiast konieczności ręcznego przechodzenia przez interfejs użytkownika aby dojść do punktu, w którym możesz przetestować to, nad czym pracujesz, wystarczy nacisnąć przycisk, a Selenium IDE zajmie się tym za Ciebie. To wspaniała oszczędność czasu!)

Większość moich głównych przypadków użycia ma testy Selenium RC, aby je wykonać. Nie można myśleć o nich jako o testach jednostkowych na wzór frameworka xUnit, ale są to testy ukierunkowane na bardzo specyficzną funkcjonalność. Są szybkie do napisania (zwłaszcza jeśli zaimplementujesz popularne metody takie jak logowanie lub konfigurowanie przypadków testowych), szybki w obsłudze i zapewnia bardzo ciasną pętlę sprzężenia zwrotnego. W tym sensie testy RC selenu są bardzo podobne do testów jednostkowych.

Myślę, że jak Wszystko inne, jeśli włożysz wysiłek w prawidłową naukę narzędzia testowego (np. selenu), twój wysiłek zwróci się w pikach. Wspominasz, że Twoja firma już używa Selenium do testowania interfejsu użytkownika. To jest świetne. Popracuj nad tym. Jeśli selen jest trudny w użyciu lub mylący, trzymaj się go. Krzywa uczenia się naprawdę czy nie jest tak strome, gdy nauczysz się trochę API.

Jeśli pracuję nad aplikacją internetową, rzadko zdarza mi się napisać znaczną ilość kodu bez testów Selenium RC, aby go wykonać. Tak skuteczny jest selen. :) (Mam nadzieję, że to odpowie na twoje pytanie..)

 17
Author: Peter Bernier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 12:54:04

Cóż, jeśli poprawnie zaprojektowałeś swoją aplikację, i tak nie będziesz miał SCAD logiki w interfejsie użytkownika. O wiele bardziej sensowne jest oddzielenie rzeczywistej pracy wykonywanej na jednostki oddzielone od interfejsu użytkownika, a następnie przetestowanie ich.

Jeśli to zrobisz, wtedy jedynym kodem w interfejsie użytkownika będzie kod, który wywołuje backend, więc wystarczy po prostu przetestować backend.

Używałem NUnit ASP w przeszłości( w mojej pracy), i jeśli nalegasz na jednostkowe testowanie swojego interfejsu, zdecydowanie radzę używasz czegokolwiek oprócz NUnit ASP. Praca z nim jest męcząca, a testy są zazwyczaj unieważniane (wymagają zmiany) nawet po najmniejszych zmianach interfejsu użytkownika(nawet jeśli tematy testów się nie zmieniają).

 6
Author: TheSmurf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-11 02:52:41

Używamy QuickTestPro. Do tej pory jest skuteczny, ale wybór przeglądarki jest ograniczony. Najładniejszą częścią jest możliwość rejestrowania aktywności przeglądarki i przekonwertowania jej na skryptowy zestaw kroków. Istnieje również ładny dodatek. Net, więc jeśli masz jakiś kod weryfikacyjny, który musisz zrobić dla różnych etapów testu, możesz napisać metody w zestawie i wywołać je ze swojego skryptu.

 4
Author: Jay Mooney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-11 01:12:54

Używamy Visual Studio 2008 Tester Edition.

PLUSY: Bardzo dobry w przechwytywaniu interakcji użytkownika

Przechwytuje wywołania Ajax

Bardzo łatwo jest mapować dane wejściowe użytkownika do bazy danych, pliku XML lub CSV

Przechwycony test można przekonwertować do C# dla większej kontroli

Te same testy mogą być używane do testowania obciążenia i pokrycia kodu

Wady:

VS2008 Tester Edition jest oddzielnym SKU od normalnej edycji dewelopera, co oznacza dodatkowe koszt

Możesz być uczulony na Microsoft ; -)

Wykorzystaliśmy go bardzo skutecznie w projektach, jednak wiele wysiłku wymagało aktualizacji testów, za każdym razem, gdy zmienisz ekran, test może wymagać ponownego zarejestrowania

Staramy się, aby testy były krótkie i ostre, zrobić jedną rzecz i wyjść zamiast nagrywać 10 minut, które warto kliknąć w jednym teście.

Mamy kilka standardowych typów testów UI:

Test Menu: Zaloguj się jako określonego użytkownika (lub typu/roli użytkownika) i upewnij się, że wszystkie wymagane pozycje menu są dostępne

Test sprawdzania poprawności: Otwórz stronę i kliknij Zapisz bez wprowadzania żadnych danych, upewnij się, że wyświetlą się wszystkie ostrzeżenia o sprawdzaniu poprawności. Wypełniaj po kolei wymagane pola i sprawdzaj, czy komunikaty ostrzegawcze znikają, gdy mają zostać wysłane.

Search Test: wyszukiwanie przy użyciu danych z bazy danych lub pliku danych i upewnić się, że prawidłowe dane są zwracane przez search

Test wprowadzania danych: tworzenie nowych rekordów z pliku danych, czyszczenie bazy danych, aby testy mogły być uruchamiane wiele razy

Testowanie interfejsu użytkownika jest dość czasochłonne, ale poczucie komfortu, jakie można uzyskać, gdy kilkaset testów przejdzie przed wydaniem nowej wersji, jest bezcenne.

 4
Author: macnamee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-19 12:15:47

Od jakiegoś czasu używamy JSunit do wykonywania testów jednostkowych... może to nie być ten sam rodzaj testów, o których mówisz, ale jest świetny do zapewnienia, że JavaScript działa tak, jak oczekujesz.

Uruchamiasz go w przeglądarce i można go ustawić w Ant build, aby automatycznie uruchamiał się zdalnie przeciwko kilku przeglądarkom na kilku platformach (dzięki czemu możesz upewnić się, że Twój kod jest między przeglądarkami, a także upewnić się, że logika jest poprawna).

Chyba nie zastępuje selenu, ale dobrze ją uzupełnia.

 4
Author: Mike Stone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-08 13:50:40

Używamy Selenowego rdzenia, ale stopniowo przestawiamy się na selen RC, który jest znacznie ładniejszy i łatwiejszy w zarządzaniu. Napisaliśmy wiele niestandardowych kodów, aby testy były uruchamiane na naszych serwerach ciągłej integracji, niektóre z nich w pakietach równoległych, aby działały szybciej.

Jedną z rzeczy jest to, że Selenium wydaje się restartować przeglądarkę dla każdego testu (można ustawić, aby tego nie robić, ale mamy problemy z pamięcią, gdy to zrobiliśmy). W Firefoksie może być wolno, ale w IE nie jest tak źle (kiedyś jestem podziękowanie za integraion Billa Gatesa).

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-11 01:11:07

Użyłem WATIR , co jest całkiem dobre. Podobał mi się, ponieważ jest to Ruby i pozwala na testowanie interaktywności, dostępnych elementów i parsowania kodu źródłowego. Nie używałem go przez jakiś czas, ale zakładam, że jest lepiej.

Podobno jest przeportowany na Firefoksa i Safari, ale to się dzieje już od jakiegoś czasu.

 3
Author: Ryan Doherty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-23 19:55:38

Sprawdź Canoo Web Test . Jest open source i zbudowany na frameworku ANT.

Spędziłem trochę czasu pracując z nim na Podyplomowym kursie QA oprogramowania i wydaje się to być dość potężnym narzędziem testującym.

 3
Author: Clayton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-29 21:54:08

Selenium Grid może uruchamiać testy sieciowe na wielu maszynach równolegle, co może przyspieszyć proces testowania sieci

 3
Author: Michael OK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-06 12:48:59

Używam głównie CubicTest, czyli wtyczki eclipse, która pozwala graficznie definiować testy. Może eksportować / uruchamiać testy za pomocą kilku bibliotek, w tym watir i selenium. Większość ludzi używa tylko Selenium runner.

Pełne ujawnienie: jestem jednym z deweloperów, więc jestem trochę stronniczy:)

Przyjrzyj się bliżej tutaj: cubictest.openqa.org

-Erlend

 3
Author: Erlend Halvorsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-06 13:02:50

Selen służy do testów integracyjnych, a nie testów jednostkowych. To subtelna, ale ważna różnica. Użycie, które zwykle widzę, to sprawdzanie zdrowego rozsądku. tj. mieć test, który się loguje, test, który (na przykład) przesyła historię, komentuje itp.

Chodzi o to, że testujesz, aby sprawdzić, czy cały system działa razem przed wdrożeniem, a nie aby użytkownik odkrył, że Twoja witryna jest zepsuta.

 2
Author: noah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 14:10:27

Obecnie używamy Silk4J - podejścia Java centric do testowania interfejsu WWW. Może testować Flash, Flex, AIR, Silver Light, Win32, HTML i kilka innych aplikacji.

Ponieważ Silk4J może kontrolować aplikacje Win32, może kontrolować okna dialogowe przeglądarki bezpośrednio, co jest krokiem powyżej tego, co Selenium może kontrolować i jest szczególnie przydatne w przypadku monitów o pobranie.

 1
Author: Taylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-30 04:32:46

Używamy WatiN do testowania systemu, a QUnit do testowania jednostek JavaScript.

 0
Author: orip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-11 23:28:19

Molibden jest zbudowany na Selenie i ma kilka dodatkowych funkcji.

 0
Author: Vivek Kodira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-21 04:38:30