Testowanie oprogramowania



Podobne dokumenty
Sukces vs porażka. Sukces. Porażka

Dlaczego testowanie jest ważne?

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

Maciej Oleksy Zenon Matuszyk

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE

Testowanie oprogramowania. Piotr Ciskowski

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

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

Testy automatyczne. Korzystające z junit

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

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

TESTOWANIE APLIKACJI KORPORACYJNYCH

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

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

Programowanie zespołowe

Testowanie oprogramowania. Testowanie oprogramowania 1/34

udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia r.

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Praktyka testowania dla początkujących testerów

Systemy zabezpieczeń

Etapy życia oprogramowania

Zasady organizacji projektów informatycznych

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

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

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

Szablon Planu Testów Akceptacyjnych

RUP. Rational Unified Process

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

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

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

Plan Testów Systemu SOS

Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP Plan testów

Pytania próbne ISTQB CTFL

Jakość w procesie wytwarzania oprogramowania

Certyfikowany tester Przykładowy egzamin poziomu podstawowego

Pytania próbne ISTQB CTFL 1 110

Inżynieria oprogramowania (Software Engineering)

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Wprowadzenie do systemów informacyjnych

Analityk i współczesna analiza

Rubik s Manager - Plan testów

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Plan testów dla systemu USOSweb 2.0

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Wykład 7. Projektowanie kodu oprogramowania

Testowanie i walidacja oprogramowania

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

Jak opisać wymagania zamawiającego wybrane elementy

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Testujemy dedykowanymi zasobami (ang. agile testers)

Plan testów. Robert Dyczkowski, Piotr Findeisen, Filip Grzdkowski. 4 czerwca 2006

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Feature Driven Development

REFERAT PRACY DYPLOMOWEJ

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

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

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Wykład 1 Inżynieria Oprogramowania

Certyfikowany tester Przykładowy egzamin poziomu podstawowego

Weryfikacja i walidacja. Metody testowania systemów informatycznych

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

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

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

Usługa: Testowanie wydajności oprogramowania

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

WPROWADZENIE DO UML-a

PRZEWODNIK PO PRZEDMIOCIE

Opis metodyki i procesu produkcji oprogramowania

Pytania w ramach opublikowania postępowania znak postępowania: WORD/D/23/144/W/2015.

Zarządzanie złożonymi środowiskami do testów integracji

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

Metodyka wdrożenia. Bartosz Szczęch. Starszy Konsultant MS Dynamics NAV

Wprowadzenie do testowania

INŻYNIERIA OPROGRAMOWANIA

Krzysztof Wawrzyniak Quo vadis BS? Ożarów Mazowiecki, styczeń 2014

INŻYNIERIA OPROGRAMOWANIA

Spring Framework - wprowadzenie i zagadnienia zaawansowane

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

Program szkolenia: Jenkins - Continuous Integration

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

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

Metodyki zwinne wytwarzania oprogramowania

Specyfikacja usług. 1. Zakup usług informatycznych dla realizacji dostępu do systemu dla obsługi relacji B2B.

Inżynieria oprogramowania (Software Engineering)

Projektowanie oprogramowania

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Inżynieria Oprogramowania w Praktyce

Możliwe strategie tworzenia niezawodnego oprogramowania:

Zaawansowane programowanie w języku C++

t e s t o w a n i e j e s t ł a t w e

Testowanie systemów informatycznych Kod przedmiotu

Niniejszy załącznik składa się z 5 ponumerowanych stron

Jak patrzymy na testy czyli Jak punkt widzenia zależy od punktu siedzenia. Click Piotr Kałuski to edit Master subtitle style

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015

Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój 116, WIMiI al. Armii Krajowej 21 grzegorz.michalski@icis.pcz.pl www.icis.pcz.pl/ michalski W temacie korespondencji elektronicznej proszę dodawać prefix [TO].

Testowanie oprogramowania 3/17 Wprowadzenie Główne aksjomaty testowania 1 programu nie da się w pełni przetestować, 2 testowanie jest ryzykowne, 3 test nie udowodni braku błędów, 4 im więcej błędów znaleziono, tym więcej błędów pozostało do znalezienia, 5 nie wszystkie znalezione błędy zostaną naprawione, 6 trudno określić, kiedy błąd jest błędem, 7 testowanie powinno rozpoczynać się jak najwcześniej, 8 błędy się kumulują, 9 przypadki testowe powinny być aktualizowane, 10 specyfikacje produktów nigdy nie są gotowe.

Testowanie oprogramowania 4/17 Co to jest błąd? Definicja: Z błędem oprogramowania mamy do czynienia, kiedy spełniony jest co najmniej jeden warunek: 1 oprogramowanie nie wykonuje zadania określonego w specyfikacji, 2 oprogramowanie wykonuje coś, czego zgodnie ze specyfikacją robić nie powinno, 3 oprogramowanie wykonuje coś, czego nie uwzględniono w specyfikacji, 4 oprogramowanie nie wykonuje czegoś nie uwzględnionego w specyfikacji (ale powinno), 5 oprogramowanie jest trudne do zrozumienia, trudne do użycia lub powolne.

Testowanie oprogramowania 5/17 Dlaczego powstaje wadliwe oprogramowanie? Przyczyny błędów złożoność oprogramowania, użytkownicy: nieprawidłowe użycie oprogramowania, ograniczenia projektowe: terminy, zasoby, słaba znajomość technologii i/lub narzędzi. zbyt ambitne cele, błędy zawsze zdążymy usunąć.

Testowanie oprogramowania 6/17 Czy testowanie jest ważne? Zadajmy sobie pytanie: Czy istnieją dziś branże przemysłu/codziennego życia, w których nie uźywa się oprogramowania? Oprogramowanie z błędami: 1 powoduje utratę zaufania klientów, 2 utrudnia zdobywanie nowych klientów, 3 powoduje odpływ starych klientów, 4 może wyeliminować produkt z rynku, 5 może spowodować zagrożenie życia - eliminacja firmy z rynku.

Testowanie oprogramowania 7/17 Co to jest testowanie? testowanie oprogramowania Testowanie nie jest tylko wykonywaniem testów (uruchamianie oprogramowania w celu odszukania defektów/usterek). Wykonywanie testów to tylko jeden z elementów testowania oprogramowania, takich jak: planowanie, nadzorowanie, projektowanie zadań testowych, porównywanie wyników, tworzenie raportów dotyczących przebiegu procesu testowania, zakończenie i zamykanie testów.

Testowanie oprogramowania 8/17 Cele testowania oprogramowania (I) Zadania testowania oprogramowania: wykrywanie błędów w celu ich usunięcia, sprawdzanie zgodności z innymi aplikacjami, redukcja kosztów związanych z pomocą techniczną, kontrola zgodności z zadanymi wymaganiami, kontrola zgodności z prawnymi uregulowaniami

Testowanie oprogramowania 9/17 Cele testowania oprogramowania (II) Testowanie wytwórcze Nadrzędnym celem tego typu testowania jest wywołanie jak największej liczby awarii systemu oraz wyeliminowanie ich przyczyn. Testowanie akceptacyjne Nadrzędnym celem tego typu testowania jest dowiedzenie, że oprogramowanie działa zgodnie z założeniami. Testowanie pielęgnacyjne Nadrzędnym celem tego typu testowania jest zweryfikowane czy po wprowadzeniu zmian oprogramowanie nie zawiera nowych usterek. Testowanie produkcyjne Nadrzędnym celem tego typu testowania jest sprawdzenie niezawodności oraz dostępności systemu.

Testowanie oprogramowania 10/17 Czy testowanie to debugowanie? Who is who? Testowaniem zajmują się testerzy, a debugowaniem programiści! Co daje testowanie? Testowanie wykrywa awarie systemu. A jaka jest różnica? Debugowanie polega na zidentyfikowaniu w błędu kodzie powodującego awarię systemu, poprawienie wadliwego kodu. Po wykonaniu debugowania przez programistę należy wykonać retesty (testy potwierdzające).

Testowanie oprogramowania 11/17 Poziomy testowania oprogramowania Poziomy testów: modułowe, integracyjne, systemowe, akceptacyjne, w fazie utrzymywania systemu.

Testowanie oprogramowania 12/17 Testowanie modułowe Definicja Testowanie na najniższym poziomie. Fragmenty kodu testowane są pojedynczo, w separacji od reszty systemu. Inaczej nazywane są testami jednostkowymi. Testy modułowe powinny być wykonywane przez programistów, ponieważ to oni znają kod źródłowy od podszewki. Zmiany w kodzie mogą spowodować nieprzewidziane efekty uboczne, niezamierzone usterki, łatwe do zauważenia przez programistę, ale nie przez niezwiązanego z kodem testera.

Testowanie oprogramowania 13/17 Testowanie integracyjne Zadania Testowanie mające na celu wykrycie błędów w interfejsach oraz interakcjach pomiędzy integrowanymi modułami (elementami). Głównie skupia się na sprawdzeniu wymiany danych pomiędzy elementami systemu. Wraz ze wzrostem zakresu integracji coraz trudniej określić który moduł, system powoduje awarię. W idealnym przypadku testerzy rozumieją architekturę całego systemu oraz mają bezpośredni wpływ na planowanie integracji.

Testowanie oprogramowania 14/17 Testowanie systemowe Zadania Testy w pełni zintegrowanego systemu. Sprawdzenie, czy zintegrowany system spełnia określone wymagania. Testowanie systemowe powinno być przeprowadzone w środowisku jak najbardziej zbliżonym do produkcyjnego, tak aby zminimalizować ryzyko, że nie zostaną znalezione błędy zależne od specyfiki środowiska. Podstawowy podział. testy funkcjonalne, testy niefunkcjonalne.

Testowanie oprogramowania 15/17 Testowanie systemowe podział Testy funkcjonalne testy oparte na wymaganiach, testy oparte o logikę biznesową oprogramowania. Testy niefunkcjonalne testy bezpieczeństwa, testy użyteczności, testy wydajnościowe, inne.

Testowanie oprogramowania 16/17 Testowanie akceptacyjne Cel Można powiedzieć, że głównym celem tych testów jest oddanie użytkownikowi gotowego produktu. Testerem w tym przypadku jest użytkownik końcowy/klient. Założenia testy akceptacyjne powinny być przeprowadzone w środowisku produkcyjnym, lub środowisku najbardziej do niego zbliżonym, testy akceptacyjne przeprowadzane są wspólnie przez pracowników odbiorcy oraz twórcy systemu, stosowane są głównie jeśli odbiorca nie jest jednocześnie użytkownikiem końcowym, dwa poziomy testów alfa (u producenta oprogramowania) i beta (w środowisku niezwiązanym z twórcami oprogramowania).

Testowanie oprogramowania 17/17 Testowanie w cyklu życia oprogramowania w modelu kaskadowym testowanie jest ostatnia fazą w cyklu produkcyjnym, wszelkie metodyki zwinne uznają testowanie jako najważniejszą fazę wytwarzania oprogramowania. Testowanie w tego rodzaju metodykach jest obecne od samego początku.