Narzędzia wspierające testowanie

Transkrypt

Narzędzia wspierające testowanie
Narzędzia wspierające testowanie
Instrukcja do laboratorium
Organizacja laboratorium
Podział na grupy
Podczas laboratorium będziecie pracowali w grupach 4-5 osobowych nad wspólną realizacją
tych samych zadań, na wzór grupy testerów zatrudnionych w rzeczywistym projekcie. Zakres
zadań zostanie wskazany przez prowadzącego.
Podział na projekty
Aby liczba osób zaangażowanych w całym projekcie lepiej odpowiadała wielkości projektu,
dwa zespoły (złożone z 2-3 grup każdy) będą realizowały równolegle dwa takie same
projekty. Zakres projektu zostanie wskazany przez prowadzącego.
Aplikacja ICM
Informacje wstępne
ICM to aplikacja webowa, która służy zgłaszaniu przypadków awarii technicznych na osiedlu
mieszkaniowym. Ma umożliwiać zgłaszanie incydentów przez Użytkowników systemu,
zarządzanie zgłoszeniami incydentów przez Administratorów oraz obsługę zgłoszeń
incydentów przez Pracowników technicznych w sposób zapewniający sprawną i możliwą do
weryfikacji naprawę awarii.
Dokumentacja
Dokumentacja aplikacji ICM znajduje się na stronie projektu w serwisie GitHub:
https://github.com/kolorobot/spring-mvc-icm-demo/wiki
Aplikacja
ICM należy pobrać z lokalizacji podanej na stronie www.testcoast.com. Kroki, które należy
wykonać w celu uruchomienia aplikacji, są podane w dokumentacji:
https://github.com/kolorobot/spring-mvc-icm-demo/wiki/Uruchomienie-aplikacji
1
Przypadki testowe
Definicja
Przypadek testowy to zbiór warunków wstępnych, danych wejściowych i oczekiwanych
rezultatów opracowany dla określonych warunków testowych w celu przeprowadzenia ich
weryfikacji. Spisanie przypadków testowych umożliwia wielokrotne wykonanie tych samych
ścieżek testowych, bezpośrednie porównanie wyników pomiędzy sesjami testowymi,
mierzenie pokrycia testami, ocenę poprawy stanu testowanego oprogramowania itd.
Proste narzędzia
W najprostszej postaci przypadek testowy przyjmuje często formę dokumentu spisanego w
arkuszu kalkulacyjnym: Microsoft Excel, OpenOffice Calc, Google Sheets, Collabedit itp. Zaletą
tego rozwiązania jest łatwa dostępność narzędzi i proste możliwości zarządzania
przypadkami. Wadą jest brak zaawansowanych możliwości zarządzania przypadkami: ich
przypisaniem i wykonaniem, sesjami testowymi, raportowaniem wyników itd.
Zadanie: Opracowanie przypadków testowych
Na podstawie polecenia prowadzącego oraz dokumentacji aplikacji ICM napisz przypadki
testowe przy użyciu narzędzia Google Sheets stosując przygotowany szablon.
Aplikacje webowe
Przeglądarki internetowe
Współczesne przeglądarki internetowe to potężne narzędzia, których funkcjonalności
wykraczają dalece poza wyświetlanie stron. Do najbardziej popularnych przeglądarek
internetowych należą (w nawiasach podany udział w światowym rynku, dane za grudzień
2014 wg W3Counter):
2
•
Google Chrome (42,5%)
•
Internet Explorer (17,6%)
•
Mozilla Firefox (15,6%)
•
Safari (14,6%)
•
Opera (3,2%)
•
Inne (6,5%)
Analiza źródła strony
Podejrzenie kodu HTML stanowiącego źródło strony internetowej:
•
Chrome i Firefox: Ctrl+U
Podgląd zawartości ciasteczek (cookies)
Podejrzenie zawartości ciasteczek:
•
Chrome: wpisz w pole adresu chrome://settings/cookies
•
Firefox: Narzędzia → Opcje → Prywatność → usunąć pojedyncze ciasteczka
Pamięć podręczna (cache)
Usunięcie zawartości pamięci podręcznej:
•
Chrome i Firefox: Ctrl+Shift+Delete
Tryb prywatny/incognito
Nowe okno otwarte bez zawartości i zapisywania pamięci podręcznej.
•
Chrome nowe okno incognito: Ctrl+Shift+N
•
Firefox nowe okno prywatne: Ctrl+Shift+P
3
Narzędzia dla programistów
Wbudowane we wszystkie najbardziej popularne przeglądarki (Chrome, Internet Explorer,
Firefox)
Dodatki
Programy wspierające wytwarzanie i testowanie aplikacji webowych, dostępne do
zainstalowania w przeglądarkach, na przykład:
•
Firefox: Firebug https://addons.mozilla.org/pl/firefox/addon/firebug/
Zrzuty ekranów
Jeden zrzut ekranu może powiedzieć więcej niż tysiąc zapisanych słów. Zrzuty ekranów
bardzo ułatwiają analizę zgłaszanych problemów. Dlatego podczas testowania aplikacji
webowych wykonywanie zrzutów ekranu jest niezbędne. Na zrzucie ekranu można dodawać
opisy, oznaczać fragmenty. To wszystko można wykonać przy pomocy prostych lub
dedykowanych narzędzi.
Print Screen
Klawisz PrtSc umożliwia skopiowanie do schowka widoku elementów na ekranie.
•
Skopiowanie do schowka całego widoku ekranu: PrtSc
•
Skopiowanie do schowka widoku bieżącego okna: Alt+PrtSc
W celu przeprowadzenia niezbędnej edycji skopiowany widok można wkleić do dowolnego
programu graficznego, np. Paint.
Dodatki do przeglądarek
Do ściągnięcia dostępne są wręcz setki dodatków do przeglądarek, ułatwiających
wykonywanie zrzutów ekranu. Wystarczy wybrać, sprawdzić i używać.
4
Greenshot
Jedną z aplikacji dedykowanych do ułatwienia wykonywania zrzutów ekranu jest Greenshot.
Można ją pobrać ze strony:
http://getgreenshot.org
Log testów
Definicja
Log testów to chronologiczny zapis istotnych szczegółów na temat wykonania testów.
Informacje te mogą być zbierane w postaci odręcznych notatek lub zapisów w plikach
tekstowych (Microsoft Word, Notepad++), ale istnieją też dedykowane narzędzia, które
wspierają ten proces.
Nawet podczas wykonywania testów według udokumentowanych przypadków testowych
należy prowadzić notatki na temat wykonywanych czynności. Nie wszystkie informacje są
zawarte w treści przypadków, a czasem drobne szczegóły, na przykład dotyczące kontekstu,
mogą nabrać nieoczekiwanego znaczenia. Dlatego należy zapisywać wszystkie problemy,
odkrycia, wnioski, spostrzeżenia.
Prowadzenie bieżących notatek jest szczególnie ważne podczas testów eksploracyjnych, które
nie podążają za spisaną wcześniej ścieżką testową. Wykonane kroki mogą być niemożliwe do
odtworzenia, o ile nie zostaną utrwalone w postaci notatek.
Szybkie notatki
Aplikacją ułatwiającą wykonywanie szybkich notatek jest Rapid Reporter. Można ją pobrać
wraz z instrukcją użytkownika ze strony:
http://testing.gershon.info/reporter/
Zadanie: Testy eksploracyjne
Zapoznaj się z sekcją Basic Usage instrukcji aplikacji Rapid Reporter. Uruchom testowaną
aplikację ICM i przeprowadź jej test eksploracyjny, wykonując notatki przy pomocy aplikacji
Rapid Reporter lub innego wybranego narzędzia.
Zadanie: Testowanie skryptowe
Wykonaj testy w oparciu o przypadki testowe udokumentowane w Google Sheets. Nie wahaj
się poprawić treści przypadków w oparciu o doświadczenia zebrane podczas testu
eksploracyjnego (możesz do tego wykorzystać wykonane notatki).
5
Zarządzanie testami
Narzędzia
Efektywne zarządzanie testami to nie tylko przechowywanie treści przypadków testowych.
Bardziej zaawansowane działania obejmują: tworzenie zestawów testów (test suite),
rejestrowanie wielu przebiegów testów (test run), analizę wyników testów i raportowanie,
przypisywanie wykonania testów poszczególnym osobom, śledzenie powiązań testów np. z
wymaganiami itp. To wszystko wymaga zastosowania dedykowanych narzędzi do
zarządzania testami.
Przykładem takiego narzędzia jest aplikacja webowa TestLink. Jest to oprogramowanie o
otwartych źródłach, które można używać za darmo (jest dostępne na licencji GPL). Na rynku
jest dostępnych również wiele komercyjnych narzędzi, wśród nich TestRail firmy Gurock
Software.
TestRail
Oprogramowanie TestRail to aplikacja webowa, którą można zainstalować na własnym
serwerze (SaaP) lub korzystać z instalacji online na serwerach producenta (SaaS). Na
potrzeby laboratorium będziemy wykorzystywali instancję w chmurze znajdującą się pod
adresem:
https://wsblab.testrail.net
Dla każdego studenta utworzone zostało konto o loginie [email protected], gdzie XX to
numer przyznany przez prowadzącego. Hasło do konta zostanie podane przez prowadzącego.
Dane konta
Po pierwszym logowaniu proszę wybrać ustawienia konta klikając na nazwę użytkownika w
prawym górnym rogu i wybierając My Settings, a następnie zmienić nazwę użytkownika Full
Name na swoje imię i nazwisko.
6
Migracja pomiędzy narzędziami
W trakcie rozwoju projektu informatycznego czasami zachodzi konieczność przeniesienia
pracy do nowego narzędzia. Migracja danych może stanowić duże wyzwanie i być kosztowna,
ale często rekompensują to długofalowe korzyści związane z wdrożeniem i wykorzystaniem
lepszego narzędzia.
Zadanie: Import przypadków testowych
Uwaga! To zadanie każda grupa powinna wykonać tylko jeden raz (czyli powinien je
zrealizować przedstawiciel grupy we współpracy z pozostałymi osobami).
1. Przypadki testowe opracowane w Google Sheets zapisz na dysku w postaci pliku CSV.
W tym celu wybierz opcję File → Download as → Comma-separated values.
2. W narzędziu TestRail, w projekcie przypisanym grupie na początku zajęć, załóż zestaw
testów (test suite) z nazwą odpowiadającą zakresowi prac wykonywanych przez grupę
(testowanej roli).
3. Użyj wbudowanej funkcji importu przypadków testowych z pliku CSV, aby wprowadzić
przygotowane wcześniej przypadki do narzędzia TestRail.
Szczegółowy sposób przeprowadzenia importu jest opisany w oficjalnej dokumentacji:
http://docs.gurock.com/testrail-userguide/howto-import-csv
Uwaga! Jeśli skończyłeś ten etap pracy, zgłoś to prowadzącemu i poczekaj na dalsze instrukcje.
Śledzenie zgłoszeń
Błędy w oprogramowaniu wykryte w czasie trwania projektu rejestrowane są przy pomocy
narzędzia do śledzenia zgłoszeń. Jego zadaniem jest wsparcie procesu przeprowadzenia
problemu przez wszystkie etapy naprawy, aż do potwierdzenia skuteczności poprawki i
zamknięcia zgłoszenia.
Jest bardzo dużo narzędzi służących do tego celu: Bugzilla, Mantis, Redmine itp. Wśród nich
również JIRA firmy Atlassian.
JIRA
JIRA również jest aplikacją webową, dostępną zarówno w formie instalacji na własnym
serwerze, jak i instalacji online na serwerach producenta. Na potrzeby laboratorium będziemy
wykorzystywali instancję w chmurze znajdującą się pod adresem:
https://wsblab.atlassian.net/
Dla każdego studenta zostało utworzone konto o loginie studentXX, gdzie XX to numer
przyznany przez prowadzącego. Hasło do konta zostanie podane przez prowadzącego.
7
Dane konta
Po pierwszym logowaniu proszę wybrać ustawienia konta klikając na awatar w prawym
górnym rogu i wybierając Profile, a następnie na symbol ołówka po prawej stronie sekcji
Details. Proszę zmienić nazwę użytkownika Full Name na swoje imię i nazwisko.
Zgłoszenia
Schemat obiegu zgłoszeń
Każde narzędzie do śledzenia zgłoszeń umożliwia zdefiniowanie schematu obiegu zgłoszeń.
Określa on stany, role przypisanych osób, dozwolone przejścia i operacje jakie można
wykonać na poszczególnych etapach cyklu życia zgłoszenia. Przykładowy schemat obiegu
zgłoszeń prezentuje poniższy obrazek:
Utworzenie nowego zgłoszenia
Nowe zgłoszenie w JIRA dodaje się przez kliknięcie przycisku Create na górnej belce lub
wciśnięcie klawisza C na klawiaturze. W celu dodania zgłoszenia należy wypełnić formularz
zawierający standardowe pola, niektóre z nich są wypełniane automatycznie.
8
Najbardziej istotne jest: wybranie właściwego projektu w polu Project, określenie typu
zgłoszenia w polu Issue Type, wpisanie treściwego tytułu w polu Summary, określenie
stosownego poziomu istotności zgłoszenia w polu Priority oraz umieszczenie szczegółowego
opisu w polu Description. W projektach wykorzystywanych podczas laboratorium
obowiązkowe jest również wybranie komponentu, którego dotyczy zgłoszenie w polu
Component. Proszę również ustawić etykietę z nazwą testowanej roli w polu Label. Po
dodaniu zgłoszenia można je edytować i poprawić, dopisać komentarz, przypisać innemu
użytkownikowi itp.
Wskazówki dla dobrego zgłoszenia
Wpisując zgłoszenia należy pamiętać o 10 wskazówkach Rexa Blacka dla dobrego zgłoszenia:
1. Systematyczność: testuj dokładnie
2. Powtarzalność: przetestuj ponownie
3. Odizolowanie: przetestuj inaczej
4. Generalizacja: przetestuj gdzie indziej
5. Porównanie: przejrzyj wyniki podobnych testów
6. Podsumowanie: skup uwagę interesariuszy
7. Skondensowanie: usuń niepotrzebne informacje
8. Ujednoznacznienie: używaj jasnych określeń
9. Neutralizacja: opisz problem obiektywnie
10. Przejrzenie: dla pewności
Zadanie: Zgłaszanie nieprawidłowości
Bazując na wcześniej wykonanych testach, zebranych informacjach, notatkach, zrzutach
ekranu oraz operacjach wykonywanych na bieżąco w aplikacji wpisz kilka zgłoszeń
dotyczących nieprawidłowości wykrytych w obszarze testowanym przez twoją grupę.
Pamiętaj, liczy się jakość zgłoszeń, a nie ich liczba.
Uwaga! Jeśli skończyłeś ten etap pracy, zgłoś to prowadzącemu i poczekaj na dalsze instrukcje.
9
Manager bazy danych
Wiele programów przechowuje przetwarzane informacje w bazach danych. W ramach testów
takiej aplikacji konieczne jest zweryfikowanie nie tylko działania funkcjonalności dostępnych
użytkownikowi (front-end), ale również funkcjonowania niższych warstw, realizujących
logikę działania systemu (back-end).
Manager bazy danych to program komputerowy, który umożliwia zarządzanie bazą danych.
Narzędzia tego typu pozwalają tworzyć bazy danych, tworzyć i edytować ich strukturę,
odczytywać i modyfikować zapisane dane itp.
Dostępne są różne rodzaje managerów baz danych. Mogą być dedykowane dla jednego
systemu, dostarczane przez twórców bazy danych (np. SQL Server Management Studio, Oracle
SQL Developer, MySQL Workbench) lub przez innych producentów (np. phpMyAdmin). Mogą
być również uniwersalne, pozwalające na pracę z wieloma rodzajami systemów baz danych
(np. SQuireL).
Ponieważ ICM to aplikacja webowa działająca w oparciu o bazę danych SQLite, dlatego w jej
przypadku również konieczne jest przetestowanie i zweryfikowanie operacji wykonywanych
w trakcie pracy na bazie danych. Baza danych zapisana jest w pliku binarnym icm.db
znajdującym się w katalogu uruchomienia aplikacji.
SQLite Manager
Prostym i łatwym w obsłudze klientem baz danych SQLite jest dodatek do przeglądarki
Firefox o nazwie SQLite Manager. Aby go zainstalować, z menu programu Mozilla Firefox
wybierz opcję Narzędzia → Dodatki, wyszukaj Rozszerzenie SQLite Manager i kliknij przycisk
Zainstaluj. Po zainstalowaniu otwórz SQLite Manager wybierając opcję z menu Narzędzia.
https://addons.mozilla.org/pl/firefox/addon/sqlite-manager/
SQLite Studio
Równie prostym i niewymagającym instalacji klientem baz danych SQLite jest program
stworzony przez Polaka Pawła Salawę o nazwie SQLite Studio. Nie wymaga instalacji, można
go pobrać ze strony producenta:
https://salsoft.com.pl/
10
Zadanie: Testowanie z wykorzystaniem bazy danych
Korzystając z dokumentacji Projektu technicznego i bazy danych aplikacji ICM otwartej w
wybranym managerze, uzupełnij przypadki testowe zapisane w Google Sheet lub TestRail o
weryfikację wpisów dokonywanych w bazie. Wykonaj testy, uzupełnij lub dodaj zgłoszenia
nieprawidłowości związane z działaniem aplikacji na bazie danych.
Zadanie: Weryfikacja danych z raportów
Przy pomocy zapytań wykonywanych do bazy danych aplikacji ICM zweryfikuj dane z
raportów prezentowanych w panelu administracyjnym.
Pliki XML
XML to uniwersalny język znaczników przeznaczony do reprezentowania danych w plikach
tekstowych o sformalizowanej strukturze. Umożliwia wymianę informacji pomiędzy różnymi
systemami w standardowo określony sposób. Jest popularny i często wykorzystywany do
serializacji danych aplikacji.
11
Językiem opracowanym dla sprawnego odczytywania zawartości dokumentów XML jest
XPath. Można z niego skorzystać przy pomocy edytora XPath. Przykładowe materiały i
tutoriale na temat XPath:
http://www.w3schools.com/xpath/
http://zvon.org/xxl/XPathTutorial/General_pol/examples.html
Funkcjonalnością aplikacji ICM wykorzystującą język XML jest eksport danych zapisanych w
bazie do postaci plików tekstowych, dostępny z poziomu panelu administracyjnego. Do
wykonania zadań dobrze jest użyć plików z dużą ilością wyeksportowanych danych,
powstałych podczas wykonywania poprzednich ćwiczeń. Do porównania i sprawdzenia
wyników można równolegle używać managera bazy danych lub samej aplikacji.
Edytor XPath
Edytorem języka XPath może się stać Notepad++ po zainstalowaniu dodatku XPatherizer.
Można to zrobić przy pomocy wbudowanego w edytor Plugin Managera.
Zadanie: Analiza danych XML przy użyciu XPath
Przy użyciu funkcji w panelu administracyjnym wyeksportuj dane z aplikacji do plików XML.
Użyj edytora XPatherizer do wykonania następujących poleceń:
1. Zweryfikuj, czy liczba incydentów w pliku XML jest taka sama, jak w bazie danych i
panelu administracyjnym („Liczba incydentów”). Podpowiedź: Aby zliczyć liczbę
elementów w dokumencie XML użyj funkcji count().
2. Wybierz identyfikatory dowolnych incydentów z bazy danych lub samej aplikacji i
sprawdź, czy znajdują się one w pliku eksportu. Podpowiedź: Napisz wyrażenie XPath,
które zwraca elementy zawierające atrybuty („@”) równe podanej wartości. Aby w
jednym zapytaniu użyć porównania wielu wartości użyj operatorów and lub or
(http://www.w3schools.com/xpath/xpath_operators.asp)
3. Zweryfikuj, czy liczba incydentów dla każdego statusu jest prawidłowa, np. czy liczba
incydentów o statusie NEW w pliku XML jest taka sama, jak w bazie danych i panelu
administracyjnym („Liczba incydentów w statusie Zgłoszony”). Podpowiedź: Atrybut w
12
wyrażeniach XPath oznacza się używając znaku „@”. Użyj funkcji count(). Musisz
utworzyć tyle zapytań, ile jest statusów.
4. Wybierz wartości dla typu i opisu wybranego incydentu z bazy danych lub samej
aplikacji i wyszukaj odpowiadający mu wpis w pliku XML o takiej samej wartości
elementu type oraz description. Podpowiedź: Użyj funkcji text() do porównania
wartości elementu.
5. Zweryfikuj, czy liczba incydentów w pliku XML utworzonych „dzisiaj” jest taka sama,
jak w bazie danych i panelu administracyjnym („Liczba incydentów utworzonych
dzisiaj”). Podpowiedź: Wykonaj zadanie z użyciem funkcji dopasowujących contains()
lub starts-with() dla atrybutu created.
Komparatory
Komparatory to narzędzia ułatwiające wyszukiwanie różnic lub zmian w plikach tekstowych.
Występują w formie:
•
Samodzielnych programów (np. WinMerge)
•
Modułów wbudowanych w inne programy (np. Notepad++, Total Commander,
Microsoft Word, Eclipse, Git)
•
Narzędzi dostępnych on-line (np. www.diffchecker.com)
Zastosowanie w testowaniu
Jednym z zastosowań komparatorów w testowaniu jest weryfikacja zmian dokonywanych
przez aplikację w bazie danych podczas wykonywania poszczególnych operacji.
Taką weryfikację można przeprowadzić na przykład:
• Przed i po wywołaniu funkcji programu realizującej konkretną funkcjonalność
• Przed i po wykonaniu przypadku lub scenariusza testowego
Innym zastosowaniem może być weryfikacja poprawności wyników w testach regresji, na
przykład:
•
Porównanie danych zapisanych w bazie przez poprzednią i aktualną wersję aplikacji
po wykonaniu tego samego scenariusza testowego
Zastosowanie komparatora w testach regresji może niekiedy być wyzwaniem. Bezpośrednia
zgodność może być złamana przez różnice w danych pozamerytorycznych:
•
Identyfikatorach zapisów
•
Bieżących datach przetwarzania
Tymczasem porównania tych wartości nie można pominąć, ponieważ np. identyfikatory
wskazują zależności pomiędzy zapisami w różnych tabelach
Źródłem danych do porównania mogą być dane pozyskane przez funkcję eksportu dostępną
w samej aplikacji, ale najlepiej jeśli dane można pozyskać przez funkcję eksportu dostępną w
kliencie bazy danych.
13
WinMerge
Program WinMerge można pobrać ze strony www.winmerge.org w formie instalatora lub
plików binarnych (do uruchomienia bez instalacji).
Po uruchomieniu WinMerge warto zmienić opcję Edit → Options → Editor → Line Difference
Coloring → Character level.
Aby porównać pliki, należy wybrać opcję File → Open i wskazać ścieżkę do dwóch plików
będących przedmiotem porównania w polach Left i Right.
Przykład zastosowania WinMerge w testach aplikacji ICM
Przykładowe źródła danych do porównań:
• Eksport bazy danych przy pomocy SQLite Manager, opcja Database → Export Database
• Eksport danych o incydentach i użytkownikach do plików CSV i XML przy pomocy
funkcjonalności dostępnej w panelu administratora
Eksport bazy danych przy pomocy SQLite Manager tworzy plik tekstowy zawierający
polecenia SQL, które pozwalają na odtworzenie struktury i zawartości bazy. Możliwe jest
również wyeksportowanie danych do plików CSV, ale wówczas konieczne jest eksportowanie
każdej tabeli osobno.
14
Przykład 1. Różnice w pliku eksportu bazy danych przed i po wykonaniu przez administratora
operacji dodania audytu i przypisania incydentu pracownikowi:
Jak widać, po wykonaniu przedmiotowej operacji w bazie danych nastąpiły dwie zmiany:
• W tabeli audit pojawił się nowy zapis
• Jedno z pól jednego z wierszy w tabeli incident zmieniło wartość z nieokreślonej NULL
na liczbę 2
Zadaniem testera jest zweryfikowanie, czy wprowadzone modyfikacje danych odpowiadają
pod względem merytorycznym operacjom wykonanym przy pomocy testowanej aplikacji.
Aplikacja ICM umożliwia również eksport niektórych danych do plików CSV i XML z panelu
administratora. Oba formaty są tekstowe i nadają się do porównań.
15
Przykład 2. Różnice w pliku eksportu informacji o incydentach do formatu CSV i XML po
wykonaniu przez pracownika operacji dodania audytu i zmiany statusu incydentu na
rozwiązany:
Zadaniem testera jest zweryfikowanie, czy zmiany w danych zawartych w plikach eksportu
odpowiadają pod względem merytorycznym operacjom wykonanym przy pomocy testowanej
aplikacji.
16
Zadanie: Testowanie z wykorzystaniem komparatora
Użyj programu WinMerge do wykonania poniższych poleceń:
1. Wykonaj eksport zawartości bazy danych przed i po wykonaniu kilku pojedynczych
operacji. Zweryfikuj poprawność zapisów dokonywanych w bazie przez aplikację.
2. Wybierz kilka przypadków/scenariuszy testowych i wykonaj eksport zawartości bazy
danych przed i po wykonaniu sekwencji operacji. Zweryfikuj poprawność zapisów
dokonywanych w bazie przez aplikację.
3. Wybierz kilka przypadków/scenariuszy testowych i wykonaj eksport do plików z
panelu administratora przed i po wykonaniu sekwencji operacji. Zweryfikuj
poprawność zapisów dokonywanych przez aplikację w plikach eksportu.
Logi
Log (inaczej: dziennik, plik dziennika, rejestr zdarzeń) to chronologiczny zapis zawierający
informację o zdarzeniach i działaniach dotyczących systemu. Log tworzony jest
automatycznie przez dany program. Logi są używane do analizowania pracy systemu, np.
wykrywania wszelkich błędów i nieprawidłowości działającego oprogramowania.
Zastosowanie w testowaniu
Logi zapisywane przez testowaną aplikację można wykorzystać:
• Jako wskazówkę w trakcie prowadzenia testu, jako że logi bardzo często ujawniają
informacje na temat wewnętrznej logiki działania aplikacji (szara skrzynka)
• Jako załączniki do zgłoszeń nieprawidłowości, w celu ułatwienia programistom
zlokalizowania defektów w kodzie
Odczyt plików logu
W celu wyświetlenia zawartości plików logu można zastosować:
• Programy dostępne w systemie operacyjnym (np. tail w systemie Unix)
• Narzędzia dedykowane do odczytywania logów (np. BareTail, mTail)
• Edytory plików tekstowych (np. Notepad++)
Pliki logu mogą być również parsowane przy pomocy własnych skryptów, napisanych np. w
języku Python. Ułatwia to odczytanie czy pozyskanie najbardziej istotnych informacji.
BareTail
Program BareTail można pobrać ze strony www.baremetalsoft.com/baretail w formie pliku
wykonywalnego (do uruchomienia bez instalacji).
Monitorowany plik logu należy wskazać przy pomocy polecenia File → Open.
Użyteczną funkcją programu BareTail jest kolorowanie wyświetlanej zawartości pliku logu,
które można konfigurować według własnych potrzeb i upodobań w menu Highlighting.
17
W użytkowaniu programu przydaje się również opcja Always on top, dostępna w menu
Preferences → Options → Main window, jak również funkcja View → Automatically Size, która
pozwala łatwo umieścić okno programu w dogodnym miejscu na ekranie monitora.
mTail
Program mTail można pobrać ze strony ophilipp.free.fr/op_tail.htm w formie pliku
wykonywalnego (do uruchomienia bez instalacji).
Monitorowany plik logu należy wskazać przy pomocy polecenia File → Browse.
Użyteczną funkcją programu mTail jest filtrowanie wyświetlanej zawartości pliku logu, które
można ustawić przy pomocy polecenia Filter. W użytkowaniu programu przydaje się również
opcja Always on top, dostępna w głównym oknie programu.
Przykład zastosowania logów w testach aplikacji ICM
Aplikacja ICM zapisuje logi w pliku icm.log znajdującym się w katalogu uruchomienia aplikacji.
Testy funkcjonalne aplikacji ICM można wykonywać prowadząc jednocześnie bieżący podgląd
zawartości pliku icm.log przy pomocy jednego z dedykowanych programów.
18
Przykład 1. Błędy aplikacji wyfiltrowane z pliku icm.log wyświetlone w programie mTail:
Przykład 2. Pokolorowana zawartość pliku icm.log wyświetlona w programie BareTail:
19
Zadanie: Testowanie z wykorzystaniem logów
Użyj programów do odczytu logów do wykonania poniższych poleceń.
1. Powtórz kroki opisane w zgłoszeniach nieprawidłowości z jednoczesnym
monitorowaniem plików logu. Uzupełnij zgłoszenia o informacje i dane zebrane na
podstawie zapisów w plikach logu.
2. Napisz skrypty w języku Python, które dokonają parsowania pliku icm.log i zapiszą do
osobnych plików tekstowych:
a. Wszystkie zapytania SQL wykonywane przez aplikację
b. Wszystkie informacje o błędach (ERROR) wygenerowane przez aplikację
20

Podobne dokumenty