Wyślij zapytanie Dołącz do Sii

W czasach skomplikowanych i wielowarstwowych systemów informatycznych prawidłowe testowanie oprogramowania jest ogromnym wyzwaniem. Testy manualne wykonywane przez użytkowników są dobrym sposobem na walidację aplikacji, jednak dla rozbudowanych programów są zbyt czasochłonne. Dlatego dobrym uzupełnieniem jest automatyzacja testów. Testy napisane raz mogą być wykorzystywane wielokrotnie. Sprawdza się to idealnie przede wszystkim w testach regresyjnych, gdzie drobna modyfikacja kodu wymaga wielokrotnego sprawdzenia. Byłoby dobrze, gdyby można było uruchomiać testy codziennie w nocy a rano dostawać pełny raport, zgodny z oczekiwaniami, standardami Klienta. Dlatego dzisiaj pokrótce omówiony zostanie customowy moduł raportujący napisany w Visual Studio Express for Desktop, ale można go wykorzystać w każdej innej wersji Visuala.

W Solution tworzymy nowy projekt, który nazywamy ReportCore. W References dodajemy niezbędne referencje wymagane przy robieniu zrzutów ekranu, np. System.Drawing. Tworzymy 5 plikow .cs : AbstractReporter – klasa abstrakcyjna, w której zadeklarujemy metody odpowiedzialne za stworzenie szablonu raportu; ColorStatus – enum zawierający zmienne odpowiedzialne za kolor pozycji w raporcie; UltimateReporter – klasa odpowiedzialna za tworzenie szkieletu pliku html, dziedzicząca po klasie abstrakcyjnej; SavingReport – klasa zapisująca raport w danej lokalizacji, tworząca folder itd.; Reporter – klasa właściwa, w której wywołujemy odpowiednie metody z UltimateReporter, aby dodać pozycję z odpowiednim tekstem i statusem do pliku html. Całość opiera się na wzorcu obserwatora, który opisany został tutaj: http://www.oodesign.com/observer-pattern.html

To, jak będzie wyglądał nasz customowy raport zależy od tego czego oczekuje Klient: czy będzie on pokolorowany, czy będą w nim screeny z miejsca, w którym wystąpił błąd itd. Aby użyć naszego raportu, należy w teście stworzyć nowy obiekt Reportera, podając w konstruktorze nazwę testu – ta informacja zostanie dodana do końcowego pliku html, dzięki czemu przy puszczeniu 20 różnych testów dostaniemy 20 różnych raportów, odpowiednio zatytułowanych. W klasie GUI należy zaś napisać konstruktor, który przypisze odpowiednio instancje obiektu reporter, np.:

public PurchaseGUI(Reporter report) : base(report){

report = reporter;

}

Aby notyfikować  kolejne kroki do raportu, należy w metodach w klasie GUI wywoływać funkcję Notify(), która w argumentach przyjmie treść, jaką ma wpisać do raportu oraz status, dzięki czemu ustawiony zostanie odpowiedni kolor. Gotowy raport może wyglądać jak poniżej:

ReportCore - przykład raportu
ReportCore – przykład raportu

Chcesz lepiej zrozumieć aplikacje i systemy, które testujesz? Dołącz do ModernTester, poznaj najpotrzebniejsze narzędzia, frameworki oraz języki programowania i ćwicz na specjalnie przygotowanych środowiskach testowych: Platforma e-learningowa ModernTester

Ocena:
Autor
Avatar
Paulina Łojszczyk

W Sii pracuję od niemalże 5 lat, moją specjalizacją są testy aplikacji mobilnych. Ponadto zajmuję się także poznawaniem i rozwijaniem testów w narzędziu Tosca. Prywatnie jestem szczęśliwą żoną i mamą rocznej Hani.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?