/ / Jakie są zalety i wady testu jednostkowego vs. zautomatyzowany test końcowy [zamknięty] - test jednostkowy, zarządzanie projektem, testy automatyczne

Jakie są zalety i wady testu Unit Test vs. GUI zautomatyzowany End-to-End [zamknięty] - testowanie jednostkowe, zarządzanie projektami, testy automatyczne

jeśli projekt ma ograniczony budżet,Czy zainwestujesz czas swojego zespołu w pisanie testu jednostkowego nie Gui lub zautomatyzowanego skryptu testowego End-to-End? Dla mnie wolę automatyczny test end-to-gui, ponieważ może on symulować rzeczywiste operacje użytkownika.

Odpowiedzi:

2 dla odpowiedzi № 1

Zalety pisania zautomatyzowanych testów interfejsu E2E zamiast testów jednostkowych

Nie musisz być zaznajomiony zspecyficzna implementacja, a nawet jak działa kodowanie, aby napisać zautomatyzowane testy interfejsu użytkownika. Wiele narzędzi pozwala po prostu kliknąć rekord, wykonać pewne czynności i zapisać skrypt.

Z pewnością znajdziesz też wiele błędów wpływających na użytkowników, ponieważ pracujesz bezpośrednio z aplikacją z perspektywy użytkownika.

Wady pisania automatycznych testów interfejsu E2E zamiast testów jednostkowych

Zautomatyzowane testy end-to-end nie są prawie tak łatwe do utrzymania jak prawdziwe testy jednostkowe. To samo dotyczy testów GUI, ponieważ GUI jest najbardziej prawdopodobną częścią programu, która zmienia się w sposób, który przerywa istniejącą automatyzację.

Dużo łatwiej jest uzyskać 100% pokrycie kodemw zautomatyzowanych testach jednostkowych i jest mniej prawdopodobne, że będzie powielanie logiki w każdym teście. Jeśli otrzymasz jedną awarię testową, jest bardziej prawdopodobne, że odpowiada ona konkretnemu fragmentowi kodu. I odwrotnie, jeśli masz jedną przerwę w kodzie, jest mniej prawdopodobne, że spowoduje to więcej niż jeden test.

Na tym poziomie istnieje większe prawdopodobieństwo, że będziesz w stanie zająć się dziwnymi przypadkami narożnymi, których nigdy byś nie zobaczył, gdybyś nie korzystał z kodu bezpośrednio.

Dużo trudniej jest też skonfigurować maszynęautomatycznie uruchamiaj testy w bardziej zintegrowanym środowisku. Dzięki testom jednostek izolowanych można je uruchamiać na komputerze dev lub nawet na komputerze kompilacyjnym, ponieważ nie powinny one mieć absolutnie żadnych zależności ani wpływu na skrzynkę, na której działają.

Strategia

Osobiście wolałbym, aby programiści napisali testy jednostkowe, aby zespół testowy mógł skupić się na automatyzacji testów wyższego poziomu.

Powinieneś również wziąć pod uwagę obciążenie / perf / bezpieczeństwo / fuzztestowanie. Są z natury wyższe, są trudne, jeśli nie niemożliwe do przetestowania ręcznie, i dają ogromną szansę na automatyzację testów (jeśli chodzi o liczbę godzin). Są też najmniej skłonni do pracy od podstaw, ponieważ istnieją dziesiątki istniejących narzędzi, które można wykorzystać.


1 dla odpowiedzi nr 2

Test jednostkowy to taki, w którym można przetestowaćfunkcjonalność każdej metody implementacji. Głównym powodem przeprowadzania testu jednostkowego jest zapewnienie deweloperowi pewności w dokonywaniu zmian w kodach, wiedząc, że zmiany w jednym miejscu nie wpływają na inne miejsca ani nie powodują anomalii kodów roboczych.

W twojej sytuacji możesz ocenić, czywidzisz wartość utrzymania w swoim projekcie (tzn. otrzymasz kontrakt na zwrot konserwacyjny), jeśli tak, możesz położyć większy nacisk na testy jednostkowe.

Testowanie jednostkowe jest jednym z najpewniejszych i definitywnych sposobów na zapewnienie zmiany wniosków i poprawek błędów. :RE


1 dla odpowiedzi nr 3

Ten film wideo porównuje różne rodzaje technik testowania.

Testy jednostkowe są preferowane jako:

  • Opracowanie testów jednostkowych zachęca do dobrego projektowania
  • Testy jednostkowe są znacznie łatwiejsze do napisania w testach interfejsu użytkownika
  • Nieudany test jednostkowy dokładnie wskazuje źródło problemu

0 dla odpowiedzi nr 4

Ustaw się jako zespół podobny do scruma, zidentyfikuj właściciela produktu (który będzie reprezentował klientów) i wymyśl Definicję ukończenia dla każdej historii na stole.

To pomoże ci zrównoważyć inwestycje czasoweczłonkowie zespołu będą mieli jasność co do tego, co muszą zrobić, aby mieć historie / zadania wykonane. Pozwól im się samoorganizować i opracować odpowiednią strategię w odniesieniu do testów jednostkowych i testów E2E.

Tak długo, jak spotykają się z DoD - osiągają właściwą równowagę ...

Testy jednostkowe różnią się znacznie od testów E2E -do ich opracowania potrzebne są różne umiejętności itp. Oba są równie ważne i nie jest łatwo powiedzieć, gdzie zainwestować (i gdzie „wyciąć conrners”) - to zależy od charakteru produktu, który buduje zespół - ty może być w stanie to zarządzać.

Myślę, że prowadzenie go jak zespół scrumowy (zwinny) - często przeglądaj i dostosowuj - pomoże ci osiągnąć właściwą równowagę.