Integrujemy proces testowania z naszym procesem SCRUM. Moją nową rolą jest pisanie testów akceptacyjnych naszych aplikacji internetowych, aby zautomatyzować je później. Dużo czytałem o tym, jak należy pisać przypadki testowe, ale żaden nie dał mi praktycznych porad, jak napisać przypadki testowe dla złożonych aplikacji internetowych, a zamiast tego rzucił sprzeczne zasady, które trudno mi zastosować:
Przypadki testowe powinny być krótkie: weź przykład CMS. Krótkie przypadki testowe są łatwe w utrzymaniu i pozwalają zidentyfikować dane wejściowe i wyjściowe. Ale co jeśli chcę przetestować długą serię operacji (np. Dodawanie dokumentu, wysyłanie powiadomienia do innego użytkownika, inny użytkownik odpowiada, dokument zmienia stan, użytkownik otrzymuje powiadomienie). Wydaje mi się raczej, że przypadki testowe powinny reprezentować kompletne scenariusze. Ale widzę, jak to da jawnie złożone dokumenty testowe.
Testy powinny identyfikować dane wejściowe i wyjściowe:: Co jeśli mam długą formę z wieloma interaktywnymi polami i różnymi zachowaniami. Czy piszę jeden test na wszystko, czy jeden na każdy?
Przypadki testowe powinny być niezależne: Ale jak mogę to zastosować, jeśli testowanie operacji przesyłania wymaga pomyślnego połączenia? A jak to się ma do pisania przypadków testowych? Czy powinienem napisać test dla każdej operacji, ale każdy test deklaruje swoje zależności, czy powinienem przepisać cały scenariusz dla każdego testu?
Przypadki testowe powinny być lekko udokumentowane: zasady te są specyficzne dla projektów Agile. Czy masz jakieś porady, jak wdrożyć tę zasadę?
Chociaż myślałem, że pisanie przypadków testów akceptacyjnych będzie proste, czułem się przytłoczony każdą decyzją, którą musiałem podjąć (FYI: Jestem programistą, a nie profesjonalnym testerem). Więc moje główne pytanie brzmi: jakie kroki lub porady masz, aby napisać możliwe do utrzymania przypadki testów akceptacji złożonych aplikacji. Dziękuję Ci.
Edycja : Aby wyjaśnić moje pytanie: Zdaję sobie sprawę, że testy akceptacyjne powinny zaczynać się od wymagania i traktować całą aplikację jako czarną skrzynkę. Moje pytanie dotyczy praktycznych kroków do napisania dokumentu testowego, zidentyfikowania przypadków testowych, radzenia sobie z zależnościami między testami ... dla złożonych aplikacji internetowych