Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Podobne dokumenty
Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Testowanie Testy jednostkowe

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Informatyka I : Tworzenie projektu

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Załącznik 1 instrukcje instalacji

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Modelowanie obiektowe - Ćw. 1.

Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure

Instrukcja instalacji

Programowanie niskopoziomowe

1.Wstęp. 2.Generowanie systemu w EDK

ZAPOZNANIE SIĘ Z TWORZENIEM

Zaawansowane aplikacje internetowe - laboratorium

Załącznik 1 instrukcje instalacji

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Aplikacja do podpisu cyfrowego npodpis

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Zaawansowane aplikacje internetowe

MentorGraphics ModelSim

BACKUP BAZ DANYCH FIREBIRD

Instrukcja laboratoryjna cz.3

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

1. MOZILLA THUNDERBIRD (31.3.0) 2 2. WINDOWS LIVE MAIL THE BAT HOME EDITION ( BIT) 30

Tworzenie oprogramowania

Aplikacje internetowe i rozproszone - laboratorium

INSTRUKCJA OTWIERANIA PLIKU DPT (data point table)

Testy automatyczne. Korzystające z junit

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Maciej Oleksy Zenon Matuszyk

Testowanie oprogramowania. Piotr Ciskowski

Zastosowanie komponentów EJB typu Session

Ćwiczenia 9 - Swing - część 1

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Biatel BIT S.A. BIT Rejestry. Instrukcja instalacji. Wersja 2

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

Instrukcja laboratoryjna

oprogramowania F-Secure

Dokumentacja techniczna

Instrukcja instalacji oraz obsługi czytników i kart procesorowych dla Klientów SBI Banku BPH S.A.

Programowanie Systemów Czasu Rzeczywistego

Laboratorium 01: Poznanie środowiska programowania w języku Java [2h]

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium

INSTRUKCJA WYBORU PRZEDMIOTÓW

System Zdalnej Obsługi Certyfikatów Instrukcja użytkownika

Instrukcja instalacji oprogramowania Systemu e-kt

Konfiguracja i przygotowanie środowiska do współpracy z infrastrukturą PL-Grid

Gdy z poziomu programu Delphi otworzysz folder pierwszy program, zauważysz tylko dwa pliki [rys.1]:

INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016

Projektowanie baz danych za pomocą narzędzi CASE

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Instrukcja instalacji nos niko w USB w bankowos ci Alior Banku

Procedura aktualizacji silnika baz danych Firebird do wersji 2.5

Opis systemu oceny zadań domowych

Web Services (SOAP) Ćwiczenie 1

INŻYNIERIA OPROGRAMOWANIA TESTY JEDNOSTKOWE DOKUMENTACJA TECHNICZNA

Wprowadzenie do projektu QualitySpy

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Uruchomienie aplikacji Plan lekcji w przeglądarce Internet Explorer

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Kostki OLAP i język MDX

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Platformy Technologiczne

Instalacja sieciowa Autodesk AutoCAD oraz wertykali

BIT S.A. BIT Rejestry. Instrukcja instalacji. Wersja 3

Pobieranie edytora CodeLite

Galileo v10 pierwszy program

Testowanie. Ryszard Beczek & Piotr Miłkowski 1 04/11/07

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

Czytnik kart pamięci 8w1, Conrad USB 2.0 Instrukcja obsługi

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Wprowadzenie do testów jednostkowych. Marcin Dziedzic, Wiktor Żołnowski

epuap Archiwizacja w Osobistym Składzie Dokumentów

Ewidencja Wyposażenia PL+

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

TESTOWANIE OPROGRAMOWANIA

Instrukcja użytkownika

PRZEWODNIK PO PRZEDMIOCIE

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

edycja szablonu za pomocą programu NVU

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

Internetowy System Składania Wniosków PISF wersja 2.2. Instrukcja dla Wnioskodawców

METODY PROGRAMOWANIA

Transkrypt:

Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny jakości wytwarzanego oprogramowania. Testowanie może odbywać się na kilku najważniejszych poziomach: testowanie jednostkowe testuje implementację najmniejszej jednostki (komponentu) oprogramowania w przypadku programiania obiektowego jest to zwykle klasa, testowanie integracyjne skupia się na wykrywaniu defektów w interfejsach oraz interakcjach między komponentami, testowanie akceptacyjne preprowadzane często przez klienta, użytkownika końcowego w celu sprawdzenia, czy produkt można zaakceptować. Podczas testowania można wykryć: błędy (ang. faults) defekty programistyczne, które mogą (w pewnych warunkach) okazać się blędami wykonania, błędne wykonania niepoprawne wykonanie się programu (niezgodne z tym czego oczekujemy). Z punktu widzenia osoby, która przygotowuje testy można je też podzielić na: testy czarnej skrzynki (ang. black box testing) nie biorą pod uwagę tego w jaki sposób dany element jest zbudowany/zaimplementowany. Osoba testująca nie może sprawdzić w jaki sposób dany element działa, podaje jedynie dane wejściowe i sprawdza, czy otrzymany wynik zgadza się z wynikiem oczekiwanym. testy białek skrzynki (ang. white box testing) biorą po uwagę wewnętrzną budowę testowanego elementu. Osoba testująca ma wgląd w wewnętrzną strukturę danego elementu, może spojrzeć na wykorzystane algorytmy, implementację, itp. Podczas testowania należy pamiętać, że: Nie jest możliwe całkowite przetestowanie programu. Testowanie może pokazać jedynie, że błedy istnieją, a nie ich brak.

Testowanie jednostkowe (przy wykorzystaniu narzędzia JUnit) Testowanie jednostkowe pozwala: sprawdzić, czy pojedyncza jednostka kodu zachowuje się poprawnie, porównać oczekiwany wynik z wynikiem otrzymanym z kodu sprawdzić poprawność kodu po wprowadzeniu zmian JUnit jest narzędziem umożliwiającym sprawne automatyczne testowanie jednostkowe kodu napisanego w Javie (istnieją również odpowiedniki dla innych języków, np. NUnit dla C#, czy CppUnit dla C++). W celu pracu z JUnitem wykorzystamy Eclipse''a, który w znaczyny sposób ułatwia i przyspiesza korzystanie z tego narzędzia. 1. Zaimportuj projekt z pliku SimpleCalculator.zip (File->Import->Existing Project Into Workspace). 2. Przejdź do widoku Package Explorer (Window->Show View). W projekcie tworzymy source folder o nazwie test, pozwoli nam to utrzymać porządek. W widoku Package Explorer klikamy PPM na projekcie i wybieramy New->Source Folder 3. Klikając PPM na klasie w widoku Package Explorer wybieramy New->JUnit Test Case:

4. W kreatorze nowego testu podajemy wymagana informacje oraz zaznaczamy opcję New JUnita 4 test: Zwróćmy uwagę na folder, w którym umieszczamy nasz test, na nazwę pakietu oraz na nazwę klasy testującej. Klikamy Finish. 5. Zostanie wygenerowana klasa testująca. W pliku SimpleCalculatorTest.java przygotowane są przykładowe metody testujące kopiujemy je do wygenerowanej klasy. Najważniejsze elementy kodu testującego to: Metody testujące oznaczane są przez @Test Metoda uruchamiana przed każdą metodą testującą oznaczana jest przez @Before Metoda uruchamiana po każdej metodzie testującej oznaczana jest przez @After Metoda uruchamiana jednokrotnie przed wszystkimi metodami testujęcymi oznaczana jest przez @BeforeClass Metoda uruchamiana jednokrotnie po wszystkich metodach testujęcych oznaczana jest przez @AfterClass Annotacja @Test może być sparametryzowana przez nazwę wyjątku jakiego spodziewamy się z testowanej metody Annotacja @Ignore pozwala zignorować daną metodę testującą 6. Pozostaje nam uruchomić testy. Klikamy PPM na klasie SimpleCalculatorTest i wybieramy Run As->JUnit Test Case:

Spójrzmy do widoku Console. Znajdziemy tam komunikaty wypisywane w metodach oznaczanych przez @Before, @After, @BeforeClass, @AfterClass oraz w metodach testujących. Łatwo zauważyć, że metoda oznaczana przez @BeforeClass została wykonana tylko raz na samym początku, metoda oznaczona przez @AfterClass została wykonana raz na samym końcu. Natomiast metoda @Before wykonywana była przed każdą metodą testującą (oznaczoną przez @Test), a metoda @After była wykonywana po każdej metodzie testującej. 7. Po zakończeniu testów pojawi się widok JUnit z wynikami testów: 8. Jak widzimy jeden z testów nie powiódł się. Zaglądamy do źródeł, staramy się naprawić problem i uruchamiamy testy ponownie. Po naprawie widok JUnit powinien wyglądać mniej więcej tak:

Ćwiczenie 1. Zaimportuj projekt z pliku ComplexCalculator4Students.zip (File->Import->Existing Project Into Workspace). W zaimportowanym projekcie w folderze lib znajduje się biblioteka jar z klasą ComplexCalculator (biblioteka fizycznie znajduje się w katalogu lib, ale w widoku Package Explorer jest widoczna jako Referenced Library, gdyż została dodana do ścieżki projektu <Build Path>). Naszym zadaniem będzie napisanie testów dla tej klasy. W katalogu doc znajduje się dokumentacja javadoc dla tej klasy. 2. Stwórz folder o nazwie test. 3. Stwórz klasę ComplexCalculatorTest i wypełnij ją testami dla klasy ComplexCalculator. 4. Po znalezieniu błędów (w każdej dostępnej metodzie klasy ComplexCalculator ukryty jest co najmniej jeden błąd) Twoim zadaniem będzie ich naprawa. W tym celu potrzebujemy źródła naszej biblioteki complexcalculator.jar., tak żebyśmy mogli wprowadzać do nich zmiany i móc bezpośrednio uruchamiać testy. 5. Zaimportuj projekt z pliku ComplexCalculator.zip (File->Import->Existing Project Into Workspace). W projekcie tym znajdują się źródła dla biblioteki complexcalculator.jar. 6. Usuń bibliotekę complexcalculator.jar ze ścieżki projektu kliknij PPM na bibliotece i wybierz Build Path->Remove from Build Path. W tym momencie Twój projekt z testami powinien przestać się kompilować. 7. Dodaj projekt ComplexCalculator jako zależność dla projaktu ComplexCalculator4Students kliknij PPM na projekcie ComplexCalculator4Students i wybierz Properties. We właśniwościach przejdź na stronę Java Build Path, następnie wybierz zakładkę Projects. Kliknij przycisk Add... i wybierz projekt ComplexCalculator. Na koniec zatwierdź zmiany klikając OK.

Teraz Twój projekt powinien się kompilować. 8. Popraw błędy w projekcie ComplexCalculator. Uruchom testy, aby sprawdzić, czy błędy zostały naprawione.