Sii Polska

SII UKRAINE

SII SWEDEN

  • Szkolenia
  • Kariera
Dołącz do nas Kontakt
Wstecz

Sii Polska

SII UKRAINE

SII SWEDEN

Wstecz

11.01.2016

ReportCore – customowy moduł raportujący

11.01.2016

ReportCore – customowy moduł raportujący

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
Avatar

O autorze

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.

Wszystkie artykuły autora

Zostaw komentarz

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

Może Cię również zainteresować

Dołącz do nas

Sprawdź oferty pracy

Pokaż wyniki
Dołącz do nas Kontakt

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?