Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik

Podobne dokumenty
Tworzenie przypadków testowych

Dlaczego testowanie jest ważne?

Testowanie i walidacja oprogramowania

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska

Maciej Oleksy Zenon Matuszyk

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Testy poziom po poziomie

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Testowanie oprogramowania

Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu. Projekt ZEFIR 2

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

Pytania próbne ISTQB CTFL

Wstęp do testowania : Szymon Ramczykowski

Testowanie oprogramowania. Piotr Ciskowski

Praktyka testowania dla początkujących testerów

Certyfikowany tester Przykładowy egzamin poziomu podstawowego

Metody testowania oprogramowania w cyklu wytwarzania aplikacji. Milena Sobolewska. Rule Financial - Software Test Engineer

Najwyżej ocenione raporty dla Mr Buggy 4

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Pytania próbne ISTQB CTFL 1 110

Sukces vs porażka. Sukces. Porażka

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Szczegółowy plan szkolenia

Szablon Planu Testów Akceptacyjnych

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Projektowanie oprogramowania

Przypadki bez przypadków. Jak dobierać scenariusze testowe.

Certyfikowany tester Pytania przykładowe do poziomu podstawowego

Która z wymienionych czynności powinna być wspierana przez narzędzie do zarządzania testami?

Spis treści. Przedmowa Karolina Zmitrowicz, Adam Roman. Część I. Organizacja i procesy 1

Testujemy dedykowanymi zasobami (ang. agile testers)

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Optymalizacja Automatycznych Testów Regresywnych

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Jakość w procesie wytwarzania oprogramowania

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

CASE STUDIES TEST FACTORY

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

Certyfikowany tester Przykładowy egzamin poziomu podstawowego

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Darmowy fragment

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Techniki (automatyzacji) projektowania testów. Adam Roman WarszawQA, 24 II 2016

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Jan Sabak Szkoła Główna Handlowa października 2011

Testowanie w procesie Scrum

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Zasady organizacji projektów informatycznych

Projektowanie oprogramowania

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Systemy zabezpieczeń

Nazwa Projektu. Plan testów. Wersja N.NN

ZARZĄDZANIE PROCESEM TESTOWYM (SQAM Test Manager) 7-8 luty 2008, Warszawa Zdobądź z nami certyfikat SQAM Test Manager.

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

Technologie informacyjne - wykład 12 -

Etapy życia oprogramowania

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

REFERAT PRACY DYPLOMOWEJ

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Usługa: Testowanie wydajności oprogramowania

Certyfikowany tester Plan poziomu podstawowego

Szkolenie: Automatyzacja testowania

Krótkie wprowadzenie do ModelSim i Quartus2

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

PRZEWODNIK PO PRZEDMIOCIE

Automatyzacja Testowania w WEB 2.0

Przygotowanie do egzaminu ISTQB Certyfikowany Tester Poziom Podstawowy

Procesowa specyfikacja systemów IT

Microsoft Test Manager

Projektowanie oprogramowania

Konwerter Plan testów. Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008

Wprowadzenie do testowania

Modelowanie testów. czyli po co testerowi znajomość UML

Spis treúci. 1. Wprowadzenie... 13

Egzamin / zaliczenie na ocenę*

Inżynieria Programowania Testowanie oprogramowania

Procesy ETL. 10maja2009. Paweł Szołtysek

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

Opis realizacji dla czterech zespołów (4 przypadki użycia)

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Usługa: Audyt kodu źródłowego

Testy automatyczne. Korzystające z junit

Session Based Testing Czyli eksploracyjne testowanie w sesjach. Karolina Bilewska PapryQArz

Michał Olejnik. 22 grudnia 2009

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Dni: 3. Opis: Adresaci szkolenia

SYSTEMY CZASU RZECZYWISTEGO STEROWNIK WIND. Dokumentacja projektu. Danilo Lakovic. Joanna Duda. Piotr Leżoń. Mateusz Pytel

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

ZAŁĄCZNIK Nr 2 do CZĘŚCI II SIWZ WYCIĄG ZE STANDARDÓW, ZASAD I WZORCÓW INTEGRACYJNYCH OBOWIĄZUJĄCYCH W PSE S.A.

Wprowadzenie do Algo tradingu czyli zaawansowane funkcje platformy MT4. Robert Gawron, , Warszawa

Testowanie oprogramowania. Wykład 1 dlaczego testowanie jest niezbędne czym jest testowanie ogólne zasady testowania

ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ

Testy akceptacyjne w administracji publicznej

Dwuwymiarowy sposób na podróbki > 34

Transkrypt:

Zawód tester, czyli na czym polega testowanie Katarzyna Łabinska Justyna Sacha - Gawlik

Agenda: 1. Poznajmy się 2. Tester - kto to jest? 3. Podstawy testowania 4. Testowanie manualne a automatyczne 5. Case studies - czyli trochę praktyki 6. Nasze możliwości - ścieżki rozwoju 7. Podsumowanie

Tester - kto to jest? Tester jest osobą, która (w ogromnym skrócie) jest odpowiedzialna za przygotowanie i przeprowadzenie różnego rodzaju testów na dostarczonym przez programistów oprogramowaniu z reguły na podstawie dokumentacji technicznej.

Cechy dobrego testera: ciekawość drobiazgowość cierpliwość i duża motywacja umiejętność logicznego myślenia zdolność komunikacji asertywność zawodowy pesymizm

Podstawy testowania

Czym jest testowanie? Testowanie to proces związany z wytwarzaniem oprogramowania. Jest to jeden z procesów zapewnienia jakości oprogramowania. Testowanie ma na celu weryfikację oraz walidację oprogramowania. Weryfikacja - pozwala skontrolować, czy wytwarzane oprogramowanie jest zgodne ze specyfikacją. Walidacja - sprawdza, czy oprogramowanie jest zgodne z oczekiwaniami użytkownika.

Kilka ważnych definicji: Błąd: działanie człowieka powodujące powstanie nieprawidłowego rezultatu. [Wg IEEE610] Defekt: wada modyłu lub systemu, która może spowodować, że moduł lub system nie wykona zakładanej czynności. Defekt, który wystapi podczas uruchomienia programu, może spowodować awarię modułu lub systemu. Awaria: Odchyłka modułu lub systemu od oczekiwanego zachowania lub rezultatu działania.

Ogólne cele testowania: Znajdowanie defektów Budowanie zaufania odnośnie jakości oraz dostarczanie informacji o jakości Zapobieganie awariom

Testowanie i jakość: Testowanie NIE podnosi jakości oprogramowania Testowanie podnosi zaufanie do oprogramowania Testowanie zwiększa jakość, jeśli defekty zostaną naprawione

Ogólne zasady testowania: 7 zasad testowania: 1. Testowanie ujawnia błędy 2. Testowanie gruntowne jest niemożliwe 3. Wczesne testowanie 4. Kumulowanie się błędów 5. Paradoks pestycydów 6. Testowanie jest zależne od kontekstu 7. Mylne przekonanie o bezbłędności

Wymagania? Jak to z nimi jest

Proces testowy: 5 czynności podstawowego procesu testowego planowanie i nadzór nad testami analiza i projektowanie testów implementacja i wykonanie testów ocena kryteriów zakończenia i raportowanie czynności zamykające test

Cztery poziomy testowania testy modułowe (jednostkowe) testy integracyjne testy systemowe testy akceptacyjne

Typy testów: 1. Testowanie funkcji ( testowanie funkcjonalne) 2. Testowanie atrubutów niefunkcjonalnych (testowanie niefunkcjonalne) 3. Testowanie sktuktury/architektury oprogramowania (testowanie strukturalne) 4. Testowanie zwiazane ze zmianami: retesty, testy regresywne

Techniki projektowanie testów: 1. Czarnoskrzynkowe techniki projektowania testów (black-box testing) 2. Białoskrzynkowe techniki projektowania testów (white-box testing) 3. Techniki projektowania testów oparte na doświadczeniu

1. Czarnoskrzynkowe techniki projektowania testów (black-box testing) Nazywane są technikami opartymi o specyfikację. Przypadki testowe mogą być wytwarzane systematycznie na podstawie modeli. Z definicji nie wykorzystują żadnych informacji o strukturze wewnętrznej testowanego modułu lub systemu.

Do technik czarnoskrzynkowych zaliczamy: podział na klasy równoważności analizę wartości brzegowych testowanie w oparciu o teblicę decyzyjna testowanie przejść między stanami testowanie w oparciu o przypadki testowe

Klasy równoważności: Informacje wejściowe do oprogramowania lub systemu podzielone są na grupy, które (prawdopodobnie) zmuszą aplikację do podobnych zachowań. Klasy równoważności można zdefiniować zarówno do poprawnych jak i niepoprawnych danych Mogą być identyfikowane dla wartości wejścia, wartości wewnętrznych, wartości zależnych od czasu oraz dla parametrów interfejsu

Klasy równoważności: Testy projektuje się by pokryć klasy równoważności Stosowane na każdym poziomie testowym Mogą być użyte dla osiągnięcia pokrycia wartości wejściowych i wyjściowych, przykład: Wejściowe: wiek, długość ciągu znaków Wyjściowe: nastawione parametry, sygnał 0/1

Klasy równoważności: niepoprawna klasa różnowazności poprawna klasa różnowazności niepoprawna klasa różnowazności

Klasy równoważności: Przykład: Hasło może mieć minimum 6 znaków i nie więcej niż 12 znaków 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 klasa równoważności reprezentowana wartość 0-5 3 6-12 9 13+ 18

Analiza wartości brzegowych: Doświadczenie: Zachowanie na krawędziach klasy równoważności prawdopodobnie zwróci błędy (bardzo wdzięczny obszar do testowania) Maksymalne i minimalne wartości partycji są jej wartościami granicznymi Analiza wartości granicznych może być zastosowana na każdym poziomie testów Wartości brzegowe mogą być również wykorzystane do określania danych testowych

Analiza wartości brzegowych: Klasa równowazności x-1 hx x+1 y-1 y y+1 x,y x-1, y+1 x-1, x, x+1, y-1, y, y+1 - poprawne wartości graniczne kas równowazności - niepoprawne wartości graniczne kas równowazności - pełny test wartosci granicznych

Tablica decyzyjna: Prezentacja złożonych reguł biznesowych Analiza wszystkich kombinacji warunków wejściowych Metoda przydatna do testów oprogramowania, którego działanie zależy od wielu decyzji logicznych Warunki wejściowe i akcje najczęściej organizuje się tak, aby odzwierciedlały prawdę lub fałsz

Tablica decyzyjna: przykład Przypadki testowe zaprojektowane przy pomocy tablicy decyzyjnej. Jeżeli osoba na lotnisku jest pasażerem i ma co najmniej 18 lat to może kupić alkohol, a także jeżeli leci do kraju poza UE to otrzymuje ulgę podatkową, w przeciwnym wypadku ulga podatkowa nie przysługuje.

Tablica decyzyjna: przykład Warunki/przypadki P1 P2 P3 P4 P5 P6 P7 P8 pasażer T T T T F F F F powyżej 18 lat T T F F T T F F poza UE T F T F T F T F Akcja sprzedaż T T F F F F F F rabat T F F F F F F F

Przejścia pomiędzy stanami Testowanie przejść pomiędzy stanami: technika projektowania przypadków testowych, w której przypadki są projektowane tak, aby sprawdzały dozwolone oraz niedozwolone przejścia między stanami testowanie zachowania TP (testowany produkt) oparty na zdefiniowanych stanach systemu i przejściach między nimi (automaty skończone). Testy mogą być projektowane w taki sposób, aby pokryć każdy stan, wykonać każde przejście, wykonać specyficzne sekwencje przejść lub przetestować przejścia niedozwolone. System można przedstawić jako diagram przejść pomiędzy stanami.

Przejścia między stanami Start card inserted Eat card wait for PIN enter PIN 1st try PIN not OK 2nd try PIN not OK 3rd try PIN not OK PIN OK PIN OK PIN OK Access to account

2. Białoskrzynkowe techniki projektowania testów (white-box testing) Testy oparte na strukturze Wykorzystuje wewnętrzną strukturę systemu jako podstawę testów do tworzenia przypadków testowych Za pomocą technik białoskrzynkowych możliwe jest zmierzenie pokrycia kodu testami i dodanie większej ilości przypadków, tak aby zostały przetestowane wszystkie wymagane obszary

Do technik białoskrzynkowych zaliczamy: pokrycie instrukcji pokrycie decyzji pokrycie warunków decyzji

3. Techniki projektowania testów oparte na doświadczeniu testy projektuje się na podstawie wiedzy i intuicji testerów oraz ich doświadczenia z podobnymi aplikacjami i technologiami. Szeroko wykorzystywaną techniką opartą na doświadczeniu jest zgadywanie błędów. Polega to na sporządzeniu listy możliwych defektów i na zaprojektowaniu testów, które atakują te defekty. To systematyczne podejście jest nazywane atakiem usterkowym.

Testowanie eksploracyjne: polega na równoległym projektowaniu testów, ich wykonywaniu, zapisywaniu wyników oraz uczeniu się, bazując na zamówieniu na testy zawierającym cele testów i trzymając się ram czasowych. To podejście okazuje się najpożyteczniejsze, gdy nie ma specyfikacji.

Testowanie manualne testowanie ręczne tester - użytkownik końcowy tester - brak znajomości oprogramowania do testów automatycznych nie wszystko można zautomatyzować nakład czasu i pracy cel - potwierdzenie, że testowana aplikacja jest wolna od defektów oraz działa zgodnie ze specyfikacją

Testowanie automatyczne Wykonywany przy pomocy dedykowanego oprogramowania, np. Selenium, SoupUI Oszczędzają czas oraz koszty Raz napisany test można wykorzystać wielokrotnie tester - znajomość oprogramowania do automatyzacji testów Uzupełniają testy automatyczne są powtarzalne

scieżki rozwoju pracy testera Lider Testów Specjalista Automatyzacji Senior Tester Tester Charakterystyk TESTER

Dziękujmy za uwagę

Plan testów dokument opisujący zakres, metody, zasoby oraz harmonogram zamierzonych czynności testowych. Określa między innymi elementy testowe, testowane cechy, zadania testowe, kto będzie te zadania wykonywał, stopień niezależności testerów, środowisko testowe,technikę projektowania testów oraz kryteria wejścia i wyjścia, przesłanki ich użycia, a także ryzyka wymagające ciągłego planowania. Jest to zapis procesu planowania testów. Scenariusz testowy, zwany Specyfikacją procedury testowej dokument określający ciąg akcji umożliwiających wykonanie testu. Znana także jako skrypt testowy lub manualny skrypt testowy.

Przypadek testowy zbiór danych wejściowych, wstępnych warunków wykonania, oczekiwanych rezultatów i końcowych warunków wykonania opracowany w określonym celu lub dla warunku testowego, jak wykonanie pewnej ścieżki programu lub zweryfikowanie zgodności z konkretnym wymaganiem. Warunek testowy element lub zdarzenie modułu lub systemu, który może być zweryfikowany przez jeden lub więcej przypadków testowych, np. funkcja, transakcja, cecha, atrybut jakości lub element struktury.