co to jest testowanie serwerów ?
testowanie serwera sprawdza, czy usługi potrzebne do tworzenia aplikacji działają zgodnie z przeznaczeniem. Pakiet testowy zawiera wiele przypadków testowych, które pokazują nie tylko to, co działa poprawnie, ale co działa, gdy nie powinno, na przykład logowanie bez hasła lub żądanie bezpiecznych danych innego użytkownika. Serwer powinien poprawnie obsłużyć każdy z przypadków testowych.
testowanie serwera odbywa się zazwyczaj poprzez pisanie i uruchamianie skryptów, co czyni go rodzajem automatycznego testowania.
Dlaczego Warto Testować Usługi?
testowanie serwerów ma wiele zalet, które uzasadniają początkową inwestycję czasową wymaganą do opracowania pakietów testowych.
Inżynierowie zyskują większą wiedzę na temat struktury i przepływu usługi
kiedy twój zespół rozumie usługi i jak mają one funkcjonować, są w stanie dokonywać obserwacji i zadawać pytania, które natychmiast ujawniają wady, a nie wnikać dalej w projekt. Pomaga to zredukować błędy i przyspieszyć rozwój.
testy mogą wskazać wady usługi przed rozpoczęciem pracy dewelopera
bez testowania serwera programiści muszą poświęcić czas na zlokalizowanie problemu. Czy powstał na ich końcu? Czy to problem z obsługą? Dzięki skryptom testującym serwer można to natychmiast zidentyfikować, co eliminuje niepewność. W rezultacie przyczynę problemu można odkryć i naprawić bez czasochłonnego, ręcznego debugowania. Dodatkowo, testy serwera mogą być przeprowadzane asynchronicznie, co może ostatecznie zaoszczędzić czas i pieniądze.
testy mogą identyfikować zmiany szybciej niż testy ręczne w działającej aplikacji
skrypty są znacznie, znacznie szybsze niż testy ręczne, zajmując kilka sekund (w zależności od złożoności). Mogą również testować znacznie szerszy zakres przypadków i są bardziej spójne, zakładając, że są skutecznie napisane.
dodatkowo pozwalają zespołom znacznie szybciej identyfikować zmiany wprowadzone w usługach. W niektórych przypadkach prace nad usługami i innymi aspektami projektów będą prowadzone jednocześnie. Ponieważ możesz zobaczyć, co zostało zmienione i kiedy zostało zmienione, jeśli występują problemy, możesz łatwo zidentyfikować, czy usługi są winowajcą.
zarówno QA, jak i Programiści stają się mniej sfrustrowani
wreszcie, testowanie serwerów po prostu ułatwia pracę zespołowi, pozwalając im wykonywać swoją pracę bardziej efektywnie. Jest mniej zamieszania, mniej czasu spędzonego na próbie zidentyfikowania, gdzie problemy, mniej czasu spędzonego na próbie ręcznego debugowania, a wina jest skierowana na źródło problemu.
rzeczy, o których należy pamiętać podczas testowania serwera
tworzenie pakietów testowych wymaga czasu – pisanie skryptów wymaga czasu, ale na dłuższą metę zaoszczędzi to zespołowi dużo czasu (i bólów głowy).
konserwacja wymaga czasu – utrzymanie skryptów wymaga czasu, jeśli coś się zmieni; na przykład, jeśli zostanie dodane nowe wywołanie, potrzebujesz dodatkowego skryptu, aby je przetestować.
potrzebujesz dokumentacji-aby móc pisać skrypty, potrzebujesz odpowiedniej dokumentacji usług (jest to coś, czego i tak potrzebujesz do rozwoju)