Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Podobne dokumenty
Testy statystyczne, funkcjonalne, strukturalne, statyczne; testy systemu

Wykładowca Dr inż. Zofia Kruczkiewicz. Zofia Kruczkiewicz Wyklad_INP002017_

Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM

JUNIT. Terminologia. Organizacja testów

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Testy automatyczne. Korzystające z junit

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

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.

Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania

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

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Rozpoznawanie twarzy metodą PCA Michał Bereta 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów

Zaawansowane aplikacje internetowe laboratorium

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

Programowanie zespołowe

METODY PROGRAMOWANIA

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

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

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2).

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Laboratorium 8 Diagramy aktywności

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Wykład 6 Dziedziczenie cd., pliki

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Camspot 4.4 Camspot 4.5

Diagram stanów Laboratorium 9

1. Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship (Czysty Kod: Podręcznik Dobrego Programisty)

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Laboratorium 10 Testy jednostkowe z użyciem narzędzia JUnit

Klasy i obiekty cz II

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Testowanie II. Cel zajęć. Pokrycie kodu

RAPORT Z TESTÓW. Projekt: BAND Bank nasadzeń drzew. Strona domowa projektu:

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

BACKUP BAZ DANYCH MS SQL

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows 7

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

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

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

(Apache) CouchDB. Krzysztof Kulewski 2008

Zastosowanie komponentów EJB typu Session

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows XP

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika

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

Projektowanie aplikacji internetowych laboratorium

Aplikacje WWW - laboratorium

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Wyjątki. try - except

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Tworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP

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

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

DVD MAKER USB2.0 Instrukcja instalacji

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Iteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1

Programowanie warstwy klienta w aplikacji JavaEE

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1,

OpenPoland.net API Documentation

ANKIETA ŚWIAT BAJEK MOJEGO DZIECKA

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Języki i metody programowania Java Lab2 podejście obiektowe

Właściwości i metody obiektu Comment Właściwości

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów.

Optimizing Programs with Intended Semantics

IBM Rational TestManager

Zaawansowane aplikacje WWW - laboratorium

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

1. CZYM JEST SERIALIZACJA

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

Programowanie w języku Java. Bazy danych SQLite w Javie

Podstawy programowania III WYKŁAD 6

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

Zaawansowane aplikacje internetowe laboratorium REST

Android pierwsza aplikacja

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Zarządzanie sieciami telekomunikacyjnymi

An employer s statement on the posting of a worker to the territory of the Republic of Poland

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

[Android] Podstawy programowania

Transkrypt:

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz

1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną klasę i wybrać Tools> Create Tests (Ctrl-Shift-U), aby otworzyć okno dialogowe Create Tests. Utworzenie zestawu testów wykonuje się podobnie klikając prawym klawiszem na nazwę pakietu klas przeznaczonych do testowania

Należy wybrać framework typu junit. Na wybranym formularzu należy zaznaczyć właściwe opcje testowania.

2. Klasy testowe można utworzyć drugim sposobem wykorzystując File Wizard wybór pozycji Other

Wybór kategorii pliku:unit Test oraz typ pliku testowego (prawa część formularza)

3. Wygenerowany zestaw szkieletu testów dla pakietu Source Package

3.1. Plik zestawu wszystkich testów pakietu Source Package umieszczonych w pakiecie Test Package

3.2. Plik zestawu testów dla pakietu Warstwa_biznesowa

3.3. Plik zestawu testów dla pakietu Warstwa_klienta

3.4. Wygenerowane metody testowe w klasie FasadaTest dla klasy typu Fasada

3.5. Wygenerowane metody testowe w klasie FasadaTest dla klasy typu Fasada cd

3.6. Wygenerowane metody testowe w klasie FasadaTest dla klasy typu Fasada cd

4. Adnotacje określające sposób i moment testowania http://www.vogella.com/articles/junit/article.html Annotation @Test public void method(). @Before public void method() @After public void method() @BeforeClass public void method() @AfterClass public void method() @Ignore @Test (expected = Exception.class) @Test(timeout=100) Description The annotation @Test identifies that a method is a test method. Will execute the method before each test. This method can prepare the test environment (e.g. read input data, initialize the class). Will execute the method after each test. This method can cleanup the test environment (e.g. delete temporary data, restore defaults). Will execute the method once, before the start of all tests. This can be used to perform time intensive activities, for example to connect to a database. Will execute the method once, after all tests have finished. This can be used to perform clean-up activities, for example to disconnect from a database. Will ignore the test method. This is useful when the underlying code has been changed and the test case has not yet been adapted. Or if the execution time of this test is too long to be included. Fails, if the method does not throw the named exception. Fails, if the method takes longer than 100 milliseconds.

Statement fail(string) asserttrue(true) / asserttrue(false) 5. Metody wspomagające ocenę wyniku testu http://www.vogella.com/articles/junit/article.html asserttrue([message],boolean condition) assertsequals([string message], expected, actual) assertsequals([string message], expected, actual, tolerance) assertnull([message], object) Description Let the method fail. Might be used to check that a certain part of the code is not reached. Or to have failing test before the test code is implemented. Will always be true / false. Can be used to predefine a test result, if the test is not yet implemented. Checks that the boolean condition is true. Tests that two values are the same. Note: for arrays the reference is checked not the content of the arrays. Test that float or double values match. The tolerance is the number of decimals which must be the same. Checks that the object is null. assertnotnull([message], object) assertsame([string], expected, actual) assertnotsame([string], expected, actual) Checks that the object is not null. Checks that both variables refer to the same object. Checks that both variables refer to different objects.

6. Pomocnicze klasy zdefiniowane przez użytkownika do przeprowadzenia testów jednostkowych metod dodaj_tytul i addtytul_ksiazki klasy Fasada Definicja metody tworzącej wzorcowy obiekt typu Tytul_ksiazki Definicja metody tworzącej wzorcową kolekcję typu ArrayList z elementami typu Tytul_ksiazki Utworzenie wzorcowego obiektu typu Tytul_ksiazki Utworzenie wzorcowej kolekcji typu ArrayList zawierającej elementy - obiekty typu Tytul_ksiazki

6.1. Uzupełnione metody do testowania metod settytuly_ksiazek i gettytuly_ksiazek klasy Fasada Porównanie kolekcji z dodanymi dwoma tytułami pobranymi z aplikacji metodą gettytuly_ksiazek z kolekcją dwóch tytułów utworzonych jako kolekcja wzorcowa metodą Tytuly

6.2. Uzupełnione metody do testowania metod dodaj_tytul i addtytul_ksiazki klasy Fasada Porównanie dodanego tytułu pobranego z aplikacji z tytułem wzorcowym Sprawdzenie,czy po próbie dodania tego samego tytułu liczba tytułów nie zmieni się Porównanie dodanego tytułu pobranego z aplikacji z tytułem wzorcowym

6.3. Pomocnicze klasy zdefiniowane przez użytkownika do przeprowadzenia testów jednostkowych metody dodaj_ksiazke klasy Fasada Definicja metody tworzącej wzorcowy obiekt typu Ksiazka Definicja metody tworzącej wzorcową kolekcję typu ArrayList z elementami typu Ksiazka Utworzenie wzorcowej kolekcji typu ArrayList zawierającej elementy - obiekty typu Ksiazka Utworzenie wzorcowego obiektu typu Ksiazka Zmienna liczba parametrów typu String[], przekazywana do metody w postaci tablicy dane takich elementów

6.4. Uzupełniona metoda do testowania metody dodaj_ksiazke klasy Fasada Metoda Ksiazki zwraca wzorcowe kolekcje książek: dla tytułu z ISBN=12345 (2 książki) oraz ISBN=67891 (1 książka) Danie 2 tytułów: z ISBN=12345 i ISBN=67891 Dodanie 3 książek: 2 do tytułu z ISBN=12345 i 1 do tytułu o ISBN=67891 Metoda zwraca kolekcję książek pobranych z aplikacji dla tytułu z ISBN=12345 oraz ISBN=67891

7. Uruchomienie testów

8. Wynik testowania