9 – Raport z testów i zakończenie testów

Wykonanie testów – Raportowanie statusu testów

Raportowanie statusu testowania oprogramowania:

  • Dzienny Raport Stanu testów
  • Raporty z testów
  • Raport o stanie wykonania testu

Sposoby raportowania:

  •  Email/dokument
  • Spotkanie/prezentacja
  • Oba – codzienny email i cotygodniowe spotkanie lub podobnie
  • Raport Stanu Realizacji Testu
  • Dzienny/tygodniowy Raport z Realizacji Testu

Odbiorcy raportu statusu testów:

  • zespół deweloperski,
  •  zespół wsparcia środowiska,
  • analityk biznesowy,
  • zespół projektowy.

Zawartość raportu statusu testów:

  • Liczba przypadków testowych zaplanowanych na dany dzień
  • Liczba wykonanych przypadków testowych – danego dnia
  • Liczba wykonanych przypadków testowych ogółem
  • Liczba Defektów napotkanych danego dnia/i ich stan
  • Liczba Defektów napotkanych do tej pory/ i ich stan
  • Liczba krytycznych Defektów – wciąż otwartych
  • Przestoje w środowisku – jeśli wystąpiły
  • Przeszkody – jeśli występują
  • Załącznik do arkusza wykonania testu / Link do narzędzia do zarządzania testami, gdzie umieszczone są przypadki testowe
  • Załącznik do raportu błędów/link do narzędzia do zarządzania defektami/testami używanego do zarządzania incydentami


Wykonanie testów – Ocena spełnienia kryteriów zakończenia i raportowanie
Na każdym poziomie testów i na etapie jej zakończenia wykonywana jest ocena spełnienia kryteriów zakończenia.
Polega na weryfikacji poziomu wykonania testów zgodnie z przyjętymi celami testowania.
Głównymi zadaniami oceny spełnienia kryteriów zakończenia są:

  • weryfikacja w repozytorium testów, czy zostały spełnione kryteria zakończenia testów określone podczas planowania,
  • ocenienie, czy potrzeba więcej testów lub czy nie powinny zostać zmienione kryteria zakończenia,
  • napisanie raportu podsumowującego testy wraz z rekomendacją.


Wykonanie testów – raport końcowy
Raport z testów zawiera:
1. Cel dokumentu – Krótki opis celu przygotowania dokumentu,
2.  Przegląd aplikacji – Krótki opis testowanej aplikacji,
3.  Testowanie Zakresu

  • W zakresie
  • Poza zakresem
  • Pozycje nie testowane

4.  Metryki – mają na celu zrozumieć wyniki wykonania testu, status przypadków testowych i defektów,

  •  Liczba zaplanowanych i wykonanych przypadków testowych
  •  Liczba przypadków testowych zaliczonych/niezaliczonych

5.  Rodzaje wykonywanych testów

  • Testy eksploracyjne,
  • Testy integracyjne systemu,
  • Testy Regresyjne,
  • Wszystkie inne, które były wykonane.

 6. Środowisko i narzędzia testowe -szczegóły dotyczące środowiska testowego, w którym były przeprowadzane.
 7. Wyciągnięte wnioski – opis krytycznych problemów i ich rozwiązań (jak zostały rozwiązane podczas Testów).
Ma na celu podjęcie proaktywnych decyzji podczas kolejnych testów, poprzez uniknięcie tych błędów lub znalezienie odpowiedniego obejścia.
 8. Rekomendacje – wszelkie obejścia lub sugestie,
 9. Najlepsze Praktyki,
10. Kryteria Wyjścia – definiuje się jako Zakończenie Testów poprzez spełnienie pewnych warunków, takich jak:

  • Wszystkie zaplanowane przypadki testowe są wykonane,
  • Wszystkie krytyczne defekty są zamknięte, itd.

11. Wnioski/Podpisy

  • Informacja czy zespół testujący zgadza się na 'Go Live’ aplikacji czy nie po spełnieniu Kryteriów Wyjścia.
  • Jeżeli aplikacja nie spełnia Kryteriów Wyjścia – „Aplikacja nie jest rekomendowana do 'Go Live’.
  • Decyzja o tym, czy aplikacja może zostać uruchomiona, czy nie, należy do Wyższego Kierownictwa, Klienta i innych zaangażowanych Interesariuszy.

12.  Definicje, akronimy i skróty – podaje znaczenie skrótów używanych w tym dokumencie oraz wszelkie inne nowe definicje
Przykład:
https://www.softwaretestinghelp.com/wp-content/qa/uploads/2014/06/Sample-Test-Summary-Report-by-SoftwareTestingHelp.pdf

DOM & CSS & HTML

  • HTML (Hypertext Markup language)


NIE jest to język programowania – jest to język znaczników.
Kod, którego zastosowanie przeznaczone jest do tworzenia strony i jej zawartości. Najczęściej treść reprezentowana jest jako zestaw akapitów, list, obrazków lub tabel.
W celu określonej reprezentacji danej reprezentacji danych – używamy tagów.

Utworzenie akapitu:
Uczymy się na kursie Testera Oprogramowania Future Collars

Musimy użyć określonego zapisu:
<p>Uczymy się na kursie Testera Oprogramowania Future Collars</p>

DOM & CSS & HTML

  • CSS (Cascading Style Sheets)


Kaskadowe arkusze stylów – tak jak HTML, nie jest to język programowania – jest to język arkuszy stylów.
Pozwala on stosować style do poszczególnych elementów w dokumentach HTML. 
Dzięki użyciu CSS możemy, np.: zmienić kolor paragrafu na niebieski.
Kod do zmiany paragrafów na czerwony:

Należy pamiętać, że to nie wystarczy – należy utworzyć powiązanie między kodem napisanym powyżej a dokumentem HTML.

DOM & CSS & HTML

  • DOM (Document Object Model)


Obiektowy model dokumentu – przed otworzeniem strony każda przeglądarka tworzy jej model DOM. Jest to sposób reprezentacji  dokumentów XML i HTML w postaci modelu. 

  • W momencie wpisania adresu – kod – ciąg znaków przekształcany jest w stronę internetową.
  • Interpretacja kodu HTML przechowywana jest w obiektach (paragrafy) – jest to obiektowy model dokumentu. 
  • DOM odpowiedzialny jest za opis hierarchii obiektów na stronie. Na szczycie znajduje się obiekt window – czyli najzwyczajniej okno naszej przeglądarki (zawiera obiekty, funkcje, itp.) . Kolejny obiekt – document – obiekty strony.
  • Kolejnym elementem są skrypty odpowiedzialne za definicję działań obecnych elementów.


DEVTOOLS

Development Tools – są to narzędzia wbudowane bezpośrednio w przeglądarkę, które umożliwiają analizę i edycję przeglądanej strony. Większość przeglądarek ma swoje wersje tego narzędzia. Dzięki użyciu tych narzędzi możemy nie tylko zbadać problem, ale wykonać wiele innych czynności, tj.: symulacja użycia innego urządzenia.

Czemu testerzy powinni znać to narzędzie?
Po pierwsze – użycie tego narzędzia pozwoli na lepszą i szybszą diagnozę problemów i ułatwi komunikację z Deweloperami poprzez załączenie zrzutów ekranu lub filmików z tego narzędzia do zgłoszenia błędu. Po drugie – daje nam to narzędzie możliwość testowania w różnych symulowanych środowiskach (smartfon, tablet).

Jak uruchomić?
Prawy przycisk na stronie i opcja (Zbadaj/Inspect) lub Ctrl + Shift + C.

DEVTOOLS – podstawowe funkcje

Elements – często używana zakładka w celu analizy kodu (Drzewo DOM), który wyświetlany jest w łatwej do czytania formie. Możemy badać kod HTML, sprawdzać poszczególne elementy strony i ich zagnieżdżenie w kodzie, natomiast po prawej stronie sekcję ze stylami CSS, która odpowiada za wygląd danego elementu. Sekcji elements możemy użyć, by sprawdzić np.: położenie testowanego elementu, jego czcionki czy koloru użytego do danego tekstu.

Analiza wersji tablet/smartphone – pozwala ono na testy strony w różnych rozdzielczościach. Można tutaj sprawdzić responsywność strony i czy strona i elementy wyświetlają się w odpowiedni sposób. 
Najczęściej używamy by sprawdzić, czy elementy strony wyświetlają się w sposób prawidłowy.
Console – na tej zakładce w momencie, gdy coś działa w sposób nieprawidłowy – jesteśmy w stanie znaleźć błędy, które możemy przesłać do developerów.

Network – zakładka analizująca ruch pomiędzy serwerem a przeglądarką, co pozwala na wychwycenie elementów odpowiadających za spowolnienie aplikacji. 

Podstawowe Statusy HTTP (kody odpowiedzi):

1XX – informacyjne
2XX – kody sukcesu
3XX – przekierowanie
4XX – błąd po stronie klienta
5XX – błąd po stronie  serwera

Najpopularniej występujące kody odpowiedzi:
200 – Success – OK
400 – Bad Request – błędna składnia zapytania klienta
401 – Unauthorized – klient chce uzyskać do zasobu, który wymaga dodatkowej autoryzacji
403 – serwer rozumie zapytanie klienta, natomiast konfiguracja zabezpieczeń nie pozwala mu na zwrócenie odpowiedzi
404 – Not Found – serwer nie widzi zasobu, o którym klient wysyła zapytanie 
500 – Internal Server Error – Wewnętrzny błąd serwera – nie może zrealizować zapytania klienta
502 – Bad Gateway – Serwer, który pełni rolę bramy – otrzymał niepoprawną odpowiedź od serwera i nie może odpowiedzieć na zapytanie klienta

Dodatek:

Zakończenie czynności testowych:

Zakończenie czynności testowych i dalsza obsługa procesu.

Na zakończenie czynności testowych i dalszej obsługi procesu składa się:

·        Zakończenie czynności testowych
·        Wdrożenie na produkcję
·        Utrzymanie
·        Ciągłe doskonalenie

Wykonanie testów – Czynności zamykające testy

Zadania wykonywane w ramach czynności zamykających testy są:
·        sprawdzenie, które planowane produkty zostały dostarczone,
·        zamknięcie raportów incydentów lub utworzenie zgłoszeń zmian dla tych, które pozostały otwarte,
·        udokumentowanie akceptacji systemu,
·        dokończenie i zarchiwizowanie dokumentów, środowiska testowego i infrastruktury testowej do ponownego użycia w późniejszym terminie,
·        przekazanie dokumentów testowych do zespołu serwisowego,
·        przeanalizowanie doświadczeń, by ustalić, jakie zmiany są potrzebne w przyszłych wydaniach i projektach,
·        wykorzystanie zebranych informacji do podniesienia dojrzałości testowania.
 
Wykonanie testów – Wdrożenie

·        Wdrożenie na produkcję – to planowanie i zarządzanie elementami niezbędnymi do pomyślnego wdrożenia nowych lub zmodyfikowanych funkcjonalności w środowisku produkcyjnym.
·        Jest to proces, który skupia się na wszystkich aspektach funkcjonalności, a nie włączenie na wdrożeniu samej aplikacji i sposobu jej wykorzystania w organizacji w trakcie normalnej pracy operacyjnej.
·        Ważne, aby wdrożenie było prawidłowe i sprawne, wraz ze wsparciem w trakcie awarii.
 
Główne procesy: 

  1. Planowanie i Wsparcie Przekazania – ten proces ma na celu zaplanowanie wszystkich procesów etapu przekazania usług do eksploatacji i współpracę zasobów, których te procesy wymagają. W zakres planowania wchodzi przygotowanie paczek wdrożeniowych, instrukcji wdrożeniowych, planu wdrożenia i wymaganych szkoleń dla administratorów systemu. Złożoność planów wdrożeniowych w dużej mierze jest uwarunkowane wielkością systemu i ilościami integracji.
  2. Zarządzanie Zmianami – proces umożliwia wprowadzanie zmian w systemach, infrastrukturze i systemach informatycznych, przy minimalnej niedostępności funkcjonowania procesów biznesowych.


Typy zmiany: 

·        Normalne – wymaganie zmiany od klienta, może być rozpatrywane w normalnym trybie i planowane przez Product Ownera kiedy ma zostać ujęte w Sprint.
·        Standardowe – jest to przykładowo nadanie uprawnień dla użytkownika.
·        Pilne – awaria, np. dziura bezpieczeństwa, która naraża infrastrukturę na potencjalną penetrację hakerów, najwyższy priorytet. 

Zarządzanie Komponentami Usług i Konfiguracją – dostarcza jedno spójne źródło informacji o składnikach usług informatycznych i zasobach IT niezbędnych do dostarczania oprogramowania.

Działania związane z zarządzaniem komponentami usług i konfiguracja obejmują: 

·        Zarządzanie i planowanie, 
·        Identyfikację konfiguracji, 
·        Kontrolę konfiguracji, 
·        Obsługę statusu i raportowanie, 
·        Weryfikację i audyt. 

Zarządzanie Wersjami i Wdrożeniami – budowanie pakietu wersji, przetestowanie i wdrożenie funkcjonalności lub zmiany. Proces obejmuje również wsparcie we wczesnym okresie bezpośrednio po wdrożeniu.

Weryfikacja i Testowanie Usług – odpowiada za weryfikowanie i testowanie powdrożeniowe nowych lub zmienianych funkcjonalności. Zapewnia, by były zgodne ze specyfikacją projektową i spełniały wymagania biznesowe.

Ocena – ocena nowych lub zmienionych funkcjonalności pod względem wydajności i kosztu. 

Zarządzanie Wiedzą – odpowiada za gromadzenie, analizę, przechowywanie i udostępnianie informacji oraz wiedzy w organizacji. W ramach tego procesu utrzymywany jest system zarządzania wiedzą. Ma za zadanie zwiększenie wydajności usług informatycznych poprzez minimalizację potrzeby ponownego zdobywania wiedzy oraz zapewnienie, by odpowiednie osoby, w odpowiednim czasie, posiadały odpowiednią wiedzę w celu dostarczania oraz wspierania funkcjonalności wymaganych przez biznes.

Wykonanie testów – Utrzymanie

Głównym celem fazy utrzymania jest koordynacja oraz wykonanie niezbędnych czynności i procesów w celu dostarczania usług klientom i użytkownikom na wymaganym poziomie.
Na tą fazę składają się:
·        Zdarzenie – rejestrowalna zmiana stanu dowolnej funkcjonalności potrzebnej do działania systemu, 
·        Incydent – zdarzenie, które powoduje lub może spowodować w przyszłości negatywne odchylenie od zakładanego działania systemu/systemów,
·        Problem – nieznana przyczyna jednego lub więcej incydentów, 
·        Żądanie Zmiany – wniosek o zmianę jednej lub więcej funkcjonalności,
·        Zgłoszenie Serwisowe – wniosek o wykonanie standardowej operacji niezmieniająca żadnej funkcjonalności (np. zmiana hasła, zapytanie dokumentację itp.).
Główne procesy, jakie możemy wyróżnić w cyklu to: 

Zarządzanie Zdarzeniem – zadaniem tego procesu jest monitorowanie, rejestrowanie i kategoryzacja zdarzeń w trakcie całego ich cyklu życia w środowisku zapewniającym dostarczanie usług IT. Zarządzanie zdarzeniami generuje i wykrywa powiadomienia, podczas gdy monitoring sprawdza status komponentów, nawet w przypadku, gdy nie nastąpiło żadne zdarzenie.

Zarządzanie Incydentem – ten proces ma na celu jak najszybsze usunięcie skutków incydentu – działa jak strażak – ma przywrócić usługę informatyczną użytkownikom tak szybko, jak to tylko możliwe, minimalizując niekorzystny wpływ incydentu na działanie procesów biznesowych. Incydenty są często wykrywane przez proces Zarządzania zdarzeniami lub zgłaszane bezpośrednio przez użytkowników kontaktujących się z Dostawcą za pomocą funkcji Service Desk-iem. Zarządzanie incydentami leczy szybko i skutecznie objawy awarii, posługując się standardowymi obejściami. Za analizę rzeczywistych przyczyn awarii i ich leczenie odpowiada proces Zarządzania problemami.”*

Zarządzanie Problemem – ma za zadanie zapobiegać powstawaniu incydentów oraz minimalizować wpływ incydentów, których pojawieniu się nie można zapobiec. W ramach tego procesu szukana jest przyczyna źródłowa jednego lub więcej incydentów. W przypadku znalezienia szybkiego rozwiązania tymczasowego, rejestrowane jest obejście, które może służyć przy obsłudze incydentów. Znane oznaki incydentów i ich obejścia rejestrowane są jako znane błędy. Docelowym rozwiązaniem problemu jest naprawienie przyczyny źródłowej poprzez zmianę zgłoszoną. 

Realizacja Wniosków – celem tego procesu jest obsługa Zgłoszeń Serwisowych. Umożliwia użytkownikom wnioskowanie o standardowe usługi informatyczne, ich otrzymywanie, zapewnienie informacji na temat świadczonych usług i procedur umożliwiających ich otrzymanie, zajmuje się również skargami od użytkowników.”*

Zarządzanie Uprawnieniami Dostępu – proces odpowiada za umożliwienie użytkownikom dostępu do świadczonych usług IT, określonych danych lub innych zasobów oraz za uniemożliwienie dostępu do nich osobom nieuprawnionym. Na proces składa się weryfikacja tożsamości i uprawnień, przyznawanie dostępu do usług, rejestracja i śledzenie dostępu, usuwanie i zmiana uprawnień w momencie zmiany statusu lub roli. Zarządzanie uprawnieniami dostępu pomaga chronić poufność, integralność oraz dostępność zasobów, zapewniając by jedynie upoważnieni użytkownicy mieli dostęp oraz prawo do modyfikowania zasobów.”*

* ITIL

Główne funkcje w tym cyklu to: 

  1. Service Desk – jest jedynym punktem kontaktu z użytkownikami oraz odpowiada za koordynowanie licznych procesów, oraz grup IT.


Do obowiązków Service Desku należy między innymi: 

·        Rejestracja incydentów i wniosków o usługę, 
·        Określanie kategorii zgłoszeń, 
·        Nadawanie priorytetów zgłoszeniom, 
·        Wstępna diagnoza incydentów, 
·        Rozwiązywanie incydentów, 
·        Eskalacja incydentów i wniosków o usługę,
·        Informowanie użytkowników o postępach prac, 
·        Zamykanie rozwiązanych incydentów i wniosków. 

Zarządzanie Techniczne – odpowiada za zapewnienie umiejętności technicznych niezbędnych do wspierania usług informatycznych i zarządzania infrastrukturą informatyczną. W małych organizacjach możliwe jest umieszczenie kompetencji technicznych w jednym departamencie, jednak większe organizacje są zazwyczaj podzielone na kilka wyspecjalizowanych technicznie departamentów.
 
Zarządzanie Aplikacjami – funkcja odpowiedzialna za gromadzenie wiedzy administratorów i konsultantów z zakresu danej aplikacji. 

Zarządzanie Eksploatacją IT – odpowiada za codzienne działania operacyjne niezbędne do zarządzania infrastrukturą informatyczną. 

Wykonanie testów – Ciągłe doskonalenie
“Głównym celem procesu jest ocena i poprawa jakości usług informatycznych, ogólnej dojrzałości cyklu życia usługi oraz związanych z nim procesów. Odpowiada za diagnostykę, analizę oraz rekomendacje możliwości doskonalenia w każdej fazie cyklu życia:
·        Strategii usługi,
·        Projektowaniu usługi,
·        Przekazaniu usługi,
·        Eksploatacji usługi.“*

*ITIL

“Główne procesy, jakie możemy wyróżnić w cyklu to: 

Proces udoskonalania usług:
·        Zdefiniuj, co powinieneś mierzyć (ilość incydentów, średni czas rozwiązania incydentów), 
·        Określ, co możesz mierzyć, 
·        Zbieraj dane, 
·        Przetwarzaj zebrane dane, 
·        Analizuj zebrane dane, 
·        Przygotuj i wykorzystaj informacje, 
·        Zrealizuj postępowanie udoskonalające.

Mierzenie Usług – odpowiada za zdefiniowanie zasad mierzenia jakości komponentów usług informatycznych oraz konsolidowania pomiarów; ITIL mówi o następujących powodach, które uzasadniają monitorowanie i mierzenie: ocena trafności wcześniejszych decyzji, ukierunkowanie działań udoskonalających, udowodnienie słuszności postępowania, interwencja w momentach krytycznych w rozumieniu uzgodnionego poziomu usług.

Raportowanie (Service Reporting) – odpowiada za tworzenie i dostarczanie raportów pokazujących wyniki jakości świadczonych usług informatycznych oraz trendy w zestawieniu z celami zapisanymi w umowie SLA.“*
SLA – Service Level Agreement – umowa o gwarantowanym poziomie świadczenia – np. rozwiązanie problemu o Priorytecie 4 w ciągu 7 dni roboczych.

*ITIL