Narzędzia wspierające testowanie Instrukcja do laboratorium



Podobne dokumenty
Instrukcja użytkownika

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Przewodnik Szybki start

Sage Migrator Migracja do wersji Sage Kadry i Płace

Sage Migrator 2018.c Migracja do wersji Sage Kadry i Płace 2018.b

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

1. Doradcy Logowanie i Pulpit Mój profil Moje kwalifikacje Moi klienci Szczegóły klientów...

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Instrukcja obsługi Zaplecza epk dla Pracowników Instytucji w zakresie zarządzania danymi szczegółowymi dotyczącymi sposobu realizacji procedury

INSTRUKCJA UŻYTKOWNIKA

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

Polityka cookies w serwisie internetowym

Przewodnik dla klienta

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instrukcja użytkownika Internetowej Platformy Edukacyjnej UPRP

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.2/2015

emszmal 3: Eksport wyciągów do Reset2 R2fk SQL (4.xx) (plugin dostępny wraz z dodatkiem Biznes)

Instrukcja obsługi Zaplecza serwisu biznes.gov.pl dla Pracowników Instytucji w zakresie weryfikacji opisów procedur przygotowanych przez Zespół epk

Instalowanie VHOPE i plików biblioteki VHOPE

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

Włączanie/wyłączanie paska menu

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

elektroniczna Platforma Usług Administracji Publicznej

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

emszmal 3: Eksport do WAPRO WF-FaKir dla Windows (plugin dostępny w wersji ecommerce)

Przewodnik... Tworzenie Landing Page

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

Nagrywamy podcasty program Audacity

Część 3 - Konfiguracja

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

dziennik Instrukcja obsługi

Opis modułu pl.id w programie Komornik SQL-VAT

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

Dokumentacja użytkownika E-działania - POLCHAR

Przewodnik... Segmentacja listy Odbiorców

Dodawanie stron do zakładek

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Instrukcja użytkownika systemu medycznego. Pracownik medyczny psycholog / rehabilitant

Załącznik 1 instrukcje instalacji

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Sage Migrator 2019.b Migracja do wersji Sage Kadry i Płace 2019.a

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

emszmal 3: Automatyczne księgowanie płatności do zamówień w programie Subiekt Nexo (plugin dostępny w wersji ecommerce)

Kurier DPD dla Subiekt GT

Aplikacja npodpis do obsługi certyfikatu

Panel rodzica Wersja 2.5

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

APLIKACJA SHAREPOINT

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instrukcja migracji PREMIUM. Mendeley_Migration_Guide_Polish.indd 1

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2015

Sage Symfonia ERP Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji

Instrukcja importu przesyłek. z Menedżera Sprzedaży do aplikacji Webklient

Panel rodzica Wersja 2.12

Problemy techniczne SQL Server

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

PWI Instrukcja użytkownika

mysupport Instrukcja obsługi dla użytkowników

Problemy techniczne SQL Server

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Problemy techniczne SQL Server

WYPOŻYCZALNIA BY CTI INSTRUKCJA

Materiał szkoleniowy:

Załącznik 1 instrukcje instalacji

elektroniczna Platforma Usług Administracji Publicznej

Instrukcja pracy w systemie USOSweb dla wykładowców PWSZ w Koninie - wpisywanie ocen -

ELEKTRONICZNA SKRZYNKA PODAWCZA CYFROWY URZĄD Województwa Warmińsko Mazurskiego Część użytkownika

Pomoc dla systemu WordPress

Problemy techniczne SQL Server

Podręcznik Użytkownika LSI WRPO

Instrukcja użytkownika systemu medycznego

emszmal 3: Automatyczne księgowanie płatności do zamówień w programie Subiekt GT (plugin dostępny w wersji ecommerce)

PekaoBIZNES 24 Szybki START. Przewodnik dla Użytkowników z dostępem podstawowym

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

I. Program II. Opis głównych funkcji programu... 19

Problemy techniczne. Jak zainstalować i zarejestrować program Optivum?

Dodawanie stron do zakładek

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x


Platforma e-learningowa

WOJEWÓDZTWO PODKARPACKIE

IIIIIIIIIIIIIIIMMIMMIII

Instrukcja zarządzania kontami i prawami. użytkowników w systemie express V. 5

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Transkrypt:

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 studentxx@example.com, 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