czego się uczymy na tym poście

testowanie oprogramowania to proces sprawdzania oprogramowania pod kątem błędów. Ma to kluczowe znaczenie nie tylko dla sukcesu produktu, ale także dla samego procesu rozwoju. Jednak może to być trudne dla wielu osób, ponieważ testowanie oprogramowania wymaga innych umiejętności i technik niż inne obszary rozwoju oprogramowania, takie jak kodowanie lub analiza. W tym artykule omówimy, w jaki sposób podchodzimy do testowania oprogramowania w kontekście naszej strategii testowania i w jaki sposób śledzimy wyniki testów.

zastanawiałeś się kiedyś, czy ponowne testowanie oprogramowania jest w ogóle konieczne? Pewnie, że tak! Wszyscy wiemy, że koszt tworzenia oprogramowania może być wysoki. Nie wiemy jednak, jak często powinniśmy ponownie testować nasz kod, aby upewnić się, że nadal działa. Cóż, ten artykuł wyjaśni koncepcję ponownego testowania w testowaniu oprogramowania i dostarczy kilku powodów, dla których testowanie kodu po każdym wydaniu może nie być tak złym pomysłem.

Co to jest ponowne badanie?

ponowne testowanie jest ogólnym procesem testowania czegoś (w tym przypadku oprogramowania) ponownie, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami, i dobrym do użycia, jeśli chcesz zidentyfikować problemy z aplikacją lub systemem komputerowym. Może być używany na różne sposoby podczas cyklu tworzenia oprogramowania, ale często jest najbardziej przydatny, jeśli chodzi o naprawianie błędów.

testowanie oprogramowania po każdym wydaniu jest bardzo powszechne w świecie tworzenia oprogramowania. Jednak może to nie być konieczne dla wszystkich-zwłaszcza jeśli pracujesz nad małym projektem lub z prostymi podstawami kodu. W końcu w większości przypadków naprawianie błędów i ulepszanie istniejących funkcji bez większego wysiłku jest dość proste: po prostu napisz nowe przypadki testowe, które weryfikują poprawne zachowanie nowo zaimplementowanych funkcji i upewnij się, że przechodzą!

jednak czasami niektóre czynności testowe wymagają więcej czasu niż pisanie nowych testów (a nawet naprawianie ich później). Sytuacje te obejmują poprawki błędów dokonane przez członka zespołu, który nie jest jeszcze zaznajomiony z bazą kodu lub nowe funkcje, które wymagają obszernych testów i dokumentacji.

Kiedy Należy Stosować Ponowne Testowanie?

jak więc zdecydować, kiedy konieczne jest ponowne badanie? Przede wszystkim zależy to od wielkości projektu (i tego, jakie elementy warto przetestować). Na przykład: jeśli masz dużą linię produktów rozłożoną na kilka produktów, ponowne testowanie powinno być częścią regularnego procesu, ponieważ każde wydanie może wpływać na inne części systemu na różne sposoby.

weź również pod uwagę, że każdy naprawiony błąd doprowadzi do tworzenia dodatkowych testów przez programistów – co oznacza, że mogą poświęcić więcej czasu na pisanie przypadków testowych niż naprawianie błędów. Poza tym zdarzają się sytuacje, w których nawet jeśli jesteś pewny swojej bazy kodu, nadal konieczne jest ponowne testowanie niektórych części systemu po każdym wydaniu.

na przykład: nowa funkcjonalność może wprowadzać niespójności i nieoczekiwane zachowania, które mogą być trudne do wykrycia na początku, chyba że staną się widoczne podczas testowania lub na podstawie opinii użytkowników (i powinno to być regularną częścią procesu kontroli jakości). Rozważ również przypadki, w których automatyzacja testów nie została jeszcze wdrożona-testy te pokażą problemy dopiero po włożeniu dodatkowego wysiłku w ich ponowne przejście!

w takich sytuacjach utrzymywanie sceptycyzmu co do nowo wprowadzonych błędów jest dobrym pomysłem – dlaczego mamy ufać naszemu kodowi, skoro już udowodniono, że testowanie może być zawodne?

najlepsze praktyki jeśli ponowne testowanie

teraz, jakie są najlepsze praktyki przy podejmowaniu decyzji o ponownym testowaniu i jak to zrobić?

oto kilka wskazówek:

  • za każdym razem, gdy popełnisz błąd, Dołącz wystarczającą ilość informacji o sytuacji, w której problem został wprowadzony, aby ludzie mogli go odtworzyć i ponownie przetestować. Jeśli twój zespół QA ma więcej niż jedną parę oczu pracujących nad problemem, często może to zrobić szybciej niż rozwój (w rzeczywistości nie zapominaj, że programiści mają swoje własne obowiązki – co najważniejsze uczą się na błędach i naprawiają błędy). Sprawdź również fora pomocy technicznej w czasach, gdy dzieje się na nich mniej rzeczy.
  • podczas tworzenia nowych lub starych funkcji upewnij się, że wszystkie testy przechodzą przed wydaniem są gotowe do testów przez zespół QA. Jeśli nie – poproś swój zespół QA, aby je przetestował i upewnił się, że błędy zostały naprawione, pamiętaj, że nawet jeśli możesz sam naprawić błąd (za pomocą testów automatycznych lub testów ręcznych), zawsze istnieje szansa na popełnienie błędów podczas robienia tego.
  • podczas tworzenia nowej wersji istniejącej funkcji spróbuj włączyć jak najwięcej testów regresji do swojej bazy kodu – zmniejszy to przynajmniej ryzyko związane z naprawianiem regresji spowodowanych zmianami wprowadzonymi podczas opracowywania innych funkcji.
  • wydając wersję beta produktu upewnij się, że jest w pełni funkcjonalny i że wszystkie błędy zostały naprawione (jest to szczególnie ważne w przypadku poprawek dokonanych podczas opracowywania lub testowania tej nowej funkcji).
  • wydając stabilne wersje upewnij się, że wszystkie błędy zostały naprawione. Jest to szczególnie ważne w przypadku poprawek błędów dokonanych podczas tworzenia innych funkcji poza wydaną funkcją-jeśli nie zostały one uwzględnione w odpowiednich wydaniach, to kiedy ludzie próbują korzystać z tych nowych wersji, mogą napotkać problemy spowodowane tymi zmianami. Jeśli nadal są jakieś problemy, upewnij się, że zostały naprawione tak szybko, jak to możliwe.

ponowne testowanie vs testowanie regresji

po pierwsze, ponowne testowanie i testowanie regresji to oba rodzaje walidacji oprogramowania, które możesz przeprowadzić podczas procesu programowania. Nie są one jednak takie same: ponowne testowanie odbywa się pod koniec określonego etapu pracy, często gdy masz działający produkt, ale musisz upewnić się, że nie jest nadal pełen błędów lub błędów z wczesnych testów. Testowanie regresyjne to rodzaj walidacji oprogramowania, która odbywa się w różnych punktach procesu tworzenia, aby upewnić się, że niektóre aspekty kodu działają poprawnie.

w niektórych przypadkach ponowne testowanie można wykonać po prostu czytając wcześniejsze wyniki testów lub raporty i sprawdzając wszelkie problemy, o których wiesz, że zostały naprawione. Jeśli chcesz uzyskać jeszcze dokładniejsze wyniki, Możesz sprawdzić wcześniejsze problemy jeden po drugim, aby upewnić się, że zostały one załatwione. Tester IT może nawet przetestować części oprogramowania, które nigdy wcześniej nie były testowane.

w innych sytuacjach testowanie regresji można wykonać, biorąc Plan testowy i uruchamiając go na każdej wersji lub aktualizacji aplikacji, począwszy od najnowszej. W ten sposób możesz mieć pewność, że każda zmiana w Twojej aplikacji jest odpowiednio testowana.

słowo o testowaniu duplikatów z ponownym testowaniem pojawia się możliwość testowania duplikatów. Dzieje się tak, gdy ktoś testuje element Twojego oprogramowania i Znajduje z nim problem, ale wtedy nie robi się nic, aby go poprawić lub upewnić się, że to się nie powtórzy. Aby upewnić się, że tak się nie stanie, możesz utworzyć bazę danych lub listę spraw z poprzednich testów, aby testerzy mogli łatwo jej użyć, aby uniknąć powielania testów.

dobrym pomysłem jest posiadanie pewnego rodzaju dokumentacji dla każdego oprogramowania, nad którym pracujesz; jeśli ludzie ponownie testują starsze produkty, możesz poprosić ich o zapoznanie się z oryginalną dokumentacją i zaktualizowanie jej o wszelkie znalezione zmiany.

jednym z najważniejszych aspektów ponownego testowania jest śledzenie problemów, w jaki sposób zostały znalezione i co zostało zrobione, aby je naprawić. Jeśli problem nie został rozwiązany, ale zamiast tego nowe problemy są tworzone przez naprawienie innego problemu, będzie trudno dla Ciebie lub Twojego zespołu wiedzieć, co poszło nie tak.

chociaż ponowne testowanie może być czasochłonne, jest to bardzo ważna część walidacji oprogramowania i jest szczególnie przydatne, gdy jest używane w połączeniu z innymi technikami testowania. Dopóki problemy wykryte podczas ponownego testowania są rozwiązywane, możesz kontynuować ponowne testowanie starszych produktów, aby upewnić się, że Twoja najnowsza praca nie spowodowała żadnych problemów.