Platformy Technologiczne
|
|
- Halina Michałowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 i Platformy Technologiczne Laboratorium nr 5 Java: testy jednostkowe z biblioteką JUnit Projekt opracowany w ramach laboratorium nr 5 będzie wykorzystywany w czasie laboratorium nr 6 należy zachować przygotowaną aplikację. W ramach zadania należy opracować testy jednostkowe dla aplikacji przygotowanej w czasie laboratorium nr 4. Głównym obiektem testów powinny być klasy biznesowe aplikacji (jeśli nie zostały wydzielone w czasie realizacji poprzedniego zadania, należy je teraz zdefiniować). W szczególności przetestować należy metody biznesowe związane z przetwarzaniem zamówień i zweryfikować poprawną obsługę sytuacji wyjątkowych, np. błędy walidacji, niedostępność produktów. Punktacja 0-5 pkt w zależności od kompletności testowanych scenariuszy wykonania. Aby uzyskać maksimum punktów należy uwzględnić przynajmniej następujące elementy: przetestować poprawne przebiegi nietrywialnych metod biznesowych (poprawne dane wejściowe skutkujące poprawnym rezultatem działania), przetestować obsługę sytuacji wyjątkowych (np. jeśli produkt nie jest dostępny w czasie składania zamówienia, następuje zgłoszenie wyjątku; jeśli walidacja się nie powiodła, testowana metoda sygnalizuje to zgodnie z przyjętym kontraktem), wykorzystać obiekt-zaślepkę (mock), który zastąpi instancję klasy EntityManager wykorzystywaną przez testowane komponenty biznesowe. Testy jednostkowe Implementując testy należy pamiętać o następujących zasadach: 1. Każdy test powinien skupiać się na jednym aspekcie działania testowanego komponentu. W przypadku niepowodzenia testu powinno być jasne jaka była tego przyczyna. Jeśli test weryfikuje wiele różnych aspektów działania komponentu, to nie wiadomo, który z nich zawiódł. 2. Testy powinny być proste. Należy unikać instrukcji sterujących typu if/for/while w metodach testowych. Aby test był przydatny, musi być poprawny. Łatwiej jest zapewnić poprawność prostego liniowego kodu niż kodu z rozgałęzieniami i wieloma poziomami zagnieżdżenia. Jeśli metoda testowa sama kwalifikuje się do testowania jednostkowego (meta-testowania?), to znaczy, że jest zbyt skomplikowana. Gdy test wymaga debugowania w celu określenia jego przebiegu, to nie jest dobrym testem jednostkowym. 3. Wzorzec Arrange-Act-Assert ułatwia organizację testu dzieląc go na trzy sekcje: Arrange przygotowanie danych wejściowych i wszystkich wymaganych obiektów, Act wykonanie operacji na testowanym obiekcie (zazwyczaj wywołanie pojedynczej metody), Assert weryfikacja czy uzyskane rezultaty są zgodne z oczekiwaniami. W. Korłub 1
2 4. Nazwy metod testowych nie muszą być zwięzłe. Metody testowe nie są wywoływane przez dewelopera w kodzie aplikacji są wywoływane przez automatyczne narzędzia, którym nie przeszkadzają długie nazwy. Nazwa metody testowej powinna jednoznacznie wskazywać jaki scenariusz wykonania jest testowany oraz jaki jest spodziewany rezultat, przykładowo: whenorderedbooknotavailable_placeorderthrowsoutofstockex(). Dzięki temu na podstawie raportu z wykonania testów można określić błędne zachowania testowanego obiektu w oparciu o same nazwy metod bez konieczności analizowania ich zawartości. 5. Zewnętrzne zależności testowanego obiektu należy zastąpić mockami (obiektamizaślepkami). Idea testowania jednostkowego polega na weryfikacji działania komponentu aplikacji w izolacji od jego zależności. Dzięki temu wiadomo, że gdy test się nie powiedzie, problem leży w testowanej klasie, a nie w innych komponentach, na które nie ma ona wpływu. JUnit oraz Mockito W aplikacjach opartych o Spring Boot biblioteki JUnit oraz Mockito są dołączane do zbioru zależności projektu za pośrednictwem zależności spring-boot-starter-test, która standardowo definiowana jest w pliku pom.xml. Klasy testowe należy umieszczać w podkatalogu src/test/java, a metody testowe należy opatrzyć W przypadku projektu budowanego przy użyciu narzędzia Maven testy zostaną uruchomione, gdy nastąpi wywołanie fazy test. Przykładowo w wierszu poleceń (w głównym katalogu projektu): $ mvn test Ponadto środowiska programistyczne typowo umożliwiają uruchamianie testów bez opuszczania IDE. W środowisku Netbeans można to uzyskać wybierając pozycję Test Project z menu Run. Jeśli wykorzystano przykładowy projekt, który w pliku pom.xml w sekcji <properties> zawiera flagę <surefire.tests.skip>true</surefire.tests.skip>, należy zmienić wartość tej flagi na false. Powyższe ustawienie w połączeniu z konfiguracją plug-ina maven-surefire-plugin (w dalszej części pliku pom.xml) umożliwia określenie czy testy mają być automatycznie uruchamiane przy każdym budowaniu projektu przez Mavena. W sekcji Assert testu przydatne są statyczne metody klasy narzędziowej org.junit.assert, które umożliwiają weryfikację podstawowych warunków, np.: assertequals wartość zwrócona przez testowaną metodę jest równa wartości oczekiwanej, assertarrayequals zwrócona tablica jest równa tablicy oczekiwanej, assertnotsame wartość zwrócona jest inna niż wartość podana w wywołaniu, assertfalse/asserttrue wartość zwrócona to false bądź true, assertnotnull wartość zwrócona jest inna niż null. Ponadto metoda assertthat umożliwia konstruowanie złożonych warunków z wykorzystaniem obiektów klasy Matcher. Najczęściej wykorzystywane obiekty klasy Mather można uzyskać posługując się statycznymi metodami klasy narzędziowej org.hamcrest.corematchers. Jeśli spodziewanym rezultatem wywołania metody na testowanym obiekcie jest wyrzucenie wyjątku, typ oczekiwanego wyjątku można zdefiniować w atrybucie expected Tak W. Korłub 2
3 oznaczony test zakończy się sukcesem tylko wtedy, gdy zadeklarowany wyjątek zostanie faktycznie wyrzucony. Klasy testowe, w których wykorzystywana jest biblioteka Mockito, należy dodatkowo opatrzyć Uzyskanie mocka jest możliwe na dwa sposoby: poprzez dodanie do klasy testowej pola opatrzonego obiekt-zaślepka zostanie wstrzyknięty bezpośrednio do pola przez bibliotekę Mockito, ten wariant jest przydatny dla mocków wykorzystywanych we wszystkich metodach testowych danej klasy, public class OrdersServiceTest EntityManager = OutOfStockException.class) public void whenorderedbooknotavailable_placeorderthrowsoutofstockex() { //... //przekazanie mocka do testowanego obiektu OrdersService ordersservice = new OrdersService(em } } //... programistycznie w kodzie metody testowej dla mocków wykorzystywanych tylko w obrębie jednego testu, przykładowo: EntityManager em = Mockito.mock(EntityManager.class //dalej operacje z użyciem mocka... Po uzyskaniu mocka należy skonfigurować jego zachowanie w sekcji Arrange testu. Służą do tego metody Mockito.when( ). W części when należy wywołać metodę mockowanego obiektu, której wynik ma zostać zdefiniowany. Z kolei w części thenreturn należy określić wartość zwracaną, gdy rozpatrywana metoda zostanie wywołana w czasie testu. Przykładowo, jeśli oczekiwane jest, że metoda find wywołana na mocku klasy EntityManager zwróci zdefiniowaną lokalnie instancję klasy encyjnej Book, należy zastosować następujące wywołanie w sekcji Arrange testu: Book book = new Book( book.setamount(0 Mockito.when( em.find(book.class, book.getid()) //mockowane wywołanie book //zwracana wartość W. Korłub 3
4 W przypadku, gdy wartości argumentów mockowanego wywołania nie są istotne, można zastąpić je wywołaniami metod any*() z klasy narzędziowej Matchers. Przykładowo, jeśli metoda find ma zwracać ten sam obiekt niezależnie od tego, jaki klucz główny został przekazany (drugi argument metody EntityManager.find()), zaślepkę można skonfigurować następująco: Mockito.when( em.find(eq(book.class), any(uuid.class)) book dowolny argument klasy UUID Z kolei w sekcji Assert testu można zweryfikować czy mock został wykorzystany w sposób zgodny z oczekiwaniami. Służy do tego statyczna metoda verify klasy Mockito. Poniższy kod pozwala sprawdzić, czy metoda persist obiektu-zaślepki em została wywołana dokładnie jeden raz, a argumentem wywołania był obiekt order: //Arrange Order order = new Order( EntityManager em = Mockito.mock(EntityManager.class //... Act test zapisu do bazy danych... //Assert Mockito.verify(em, times(1)).persist(order Pierwszy argument metody verify to obiekt-zaślepka, którego wykorzystanie będzie weryfikowane. Drugi argument określa spodziewane zachowanie, np.: times(x) w czasie testu metoda została wywołana dokładnie x razy, never() metoda nie została wywołana w czasie testu (np. jeśli zamówienie nie było poprawne, metoda persist nie została wywołana ani razu), atleast(x) metoda została wywołana przynajmniej x razy, atmost(x) metoda została wywołana nie więcej niż x razy. Jeśli w czasie testu liczba wywołań wybranej metody mocka była inna niż określono w metodzie verify, test zakończy się niepowodzeniem. Biblioteka Mockito umożliwia również budowanie zaślepek dla całych łańcuchów wywołań metod. Jest to szczególnie przydatne przy mockowaniu obiektów typu builder. Należy w tym celu wykorzystać wariant RETURNS_DEEP_STUBS w czasie konstruowania mocka. Przykładowo, aby uzyskać funkcjonalną zaślepkę dla obiektu-buildera klasy UriComponentsBuilder, można wykorzystać następujący kod: UriComponentsBuilder uribuilder = Mockito.mock( UriComponentsBuilder.class, //klasa do zamockowania RETURNS_DEEP_STUBS //tryb mockowania W. Korłub 4
5 Mockito.when( uribuilder //łańcuch wywołań metod na mocku:.path(any()).buildandexpand(book.getid()).touri() new URI("/books/17") W. Korłub 5
JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska
JUnit TESTY JEDNOSTKOWE Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Testy aplikacji 2 Ręczne testowanie Czasochłonne Powtarzalność trudna do uzyskania Nudne Testowanie automatyczne
Bardziej szczegółowoMETODY PROGRAMOWANIA
METODY PROGRAMOWANIA Testy jednostkowe 8 grudnia 2017 Krzysztof Pawłowski kpawlowski@pjwstk.edu.pl PO CO NAM TESTY? weryfikacja poprawności sprawdzanie regresji specyfikacja dokumentacja wymuszanie dobrego
Bardziej szczegółowoProgramowanie zespołowe
Programowanie zespołowe Laboratorium 3 - podstawy testów jednostkowych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 7 marca 2017 1 / 22 mgr inż. Krzysztof Szwarc Programowanie zespołowe
Bardziej szczegółowoPlatformy Technologiczne
Platformy Technologiczne Laboratorium nr 6 Java: Ciągła integracja (ang. Continuous Integration) Praca z repozytorium git w salach laboratoryjnych. W niektórych salach laboratoryjnych występują problemy
Bardziej szczegółowoBudowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania
Bardziej szczegółowoTestowanie II. Cel zajęć. Pokrycie kodu
Cel zajęć Celem zajęć jest zapoznanie studentów z uzupełniającymi zagadnieniami dotyczącymi testowania wytwarzanego oprogramowania. W pierwszej części zajęć przedstawiona zostanie metoda oceny kompletności
Bardziej szczegółowoWprowadzenie do testów jednostkowych. Marcin Dziedzic, Wiktor Żołnowski
Wprowadzenie do testów jednostkowych Marcin Dziedzic, Wiktor Żołnowski Część I: Koncepcja testów jednostkowych Co to jest test jednostkowy wg Wiki? Test jednostkowy (ang. unit test) to w programowaniu
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoTestowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
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
Bardziej szczegółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoPlatformy Technologiczne
i Platformy Technologiczne Laboratorium nr 4 Java: REST API Aplikacja opracowana w ramach laboratorium nr 4 będzie potrzebna do realizacji laboratorium nr 5 należy zachować przygotowany projekt. Zadanie
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoTestowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia
Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na
Bardziej szczegółowoProgram szkolenia: Test Driven Development (TDD) using Spock or JUnit 5
Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5 Informacje: Nazwa: Test Driven Development (TDD) using Spock or JUnit 5 Kod: craft-test-tdd Kategoria: Testowanie automatyczne Grupa
Bardziej szczegółowoTechniki efektywnego testowania kodu dla programistów Java (Spock
Program szkolenia: Techniki efektywnego testowania kodu dla programistów Java (Spock/JUnit) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Techniki efektywnego testowania kodu
Bardziej szczegółowoProgramowanie Obiektowe GUI
Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoTestowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.)
Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.) Przykład z użycia bezpośrednio tabel w scenariuszach JBehave znajduje się tutaj. Zadanie 1 (0.5
Bardziej szczegółowoLABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8
Inżynieria Oprogramowania 2013/14 LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8 Hierarchia klas: TestCase klasa testująca, będąca klasą bazową dla wszystkich przypadków testowych. Zawiera przypadki testowe
Bardziej szczegółowoWprowadzenie do narzędzia MAVEN
Wprowadzenie do narzędzia MAVEN Mateusz Miotk 27 luty 2017 Instytut Informatyki UG 1 Maven - co to? Maven to narzędzie do budowania kodu. Umożliwia on zarządzanie kodem, który obejmuje zbiór standardów,
Bardziej szczegółowoForte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B
Forte Zarządzanie Produkcją Instalacja i konfiguracja Wersja 2013.1.B Forte Zarządzanie Produkcją - Instalacja i konfiguracja Strona 2 z 13 SPIS TREŚCI 1 Instalacja i konfiguracja Forte Zarządzanie Produkcją...
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoInstrukcja laboratoryjna
Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z
Bardziej szczegółowoBUDOWANIE APLIKACJI. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska
BUDOWANIE APLIKACJI Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Budowanie aplikacji 2 *.java resources punkt wejścia javac *.class *.properties *.css *.fxml *.png MANIFEST.MF
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowoKatalog książek cz. 3: Web Service
Katalog książek cz. 3: Web Service Przygotowanie usługi sieciowej (web service) 1) Uruchom Netbeans, otwórz projekt przygotowany w ramach poprzednich zajęć. W kolejnych krokach przerobimy klasę BookManager
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Bardziej szczegółowoKorporacyjna Magistrala Usług na przykładzie Mule ESB
Kod szkolenia: Tytuł szkolenia: ESB/M Korporacyjna Magistrala Usług na przykładzie Mule ESB Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java, analityków systemowych oraz architektów
Bardziej szczegółowoAKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki Computer Games Poker Bot - komunikacja Dokumentacja Wersja z dnia 01.01.2012 Zespół: Kamil Mazurek Tomasz Kruczkowski
Bardziej szczegółowoCałościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoSpring Web MVC, Spring DI
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie / narzędzia będące
Bardziej szczegółowoProgramowanie poprzez testy z wykorzystaniem JUnit
Programowanie poprzez testy z wykorzystaniem JUnit Programowanie ekstremalne (XP) XP zaproponowano w 1999 (K. Beck: Extreme Programming Explained ) XP dedykowane jest do projektów: O małym lub średnim
Bardziej szczegółowoMetody eksploracji danych Laboratorium 2. Weka + Python + regresja
Metody eksploracji danych Laboratorium 2 Weka + Python + regresja KnowledgeFlow KnowledgeFlow pozwala na zdefiniowanie procesu przetwarzania danych Komponenty realizujące poszczególne czynności można konfigurować,
Bardziej szczegółowoTestowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).
Testowanie II Cel zajęć Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Pokrycie kodu testami Jak już była mowa na poprzednich
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek podanych
Bardziej szczegółowoPraktyka testowania dla początkujących testerów
Praktyka testowania dla początkujących testerów Warsztaty stanowią 100% praktykę testowania i skupiają się zwłaszcza na tych aspektach, które przydatne są w codziennej pracy testera. Przeznaczone są dla
Bardziej szczegółowoTestowanie aplikacji Java Servlets
Borland Developer Days 2004 2-3 czerwca 2004 Testowanie aplikacji Java Servlets Bartosz Walter mailto: Bartek.Walter@man.poznan.pl Agenda Aplikacje Java Servlets TM Jak testować aplikacje internetowe?
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoTesty automatyczne. Korzystające z junit
Testy automatyczne Korzystające z junit Cytaty Kiedy zawiesza się program konkurencji, to jest awaria. Kiedy zawiesza się własny program, to jest drobiazg. Często po awarii pojawia się komunikat typu ID
Bardziej szczegółowoProgram szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne
Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i ich implementacja
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoProjekt Hurtownia, realizacja rejestracji dostaw produktów
Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące
Bardziej szczegółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoCałościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Java /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoProjekt Hurtownia, realizacja rejestracji dostaw produktów
Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące
Bardziej szczegółowoWstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 13 Marcin Młotkowski 16 stycznia 2013 Plan wykładu Testowanie aplikacji w Ruby on Rails Testowanie modeli Testy funkcjonalne: testowanie kontrolerów Testy integracyjne Testowanie
Bardziej szczegółowoTESTOWANIE OPROGRAMOWANIA
TESTOWANIE OPROGRAMOWANIA Uważaj na ten program ja tylko udowodniłem jego poprawność, nie testowałem go Donald Knuth Plan prezentacji 1. Testowanie wstęp 2. Refaktoryzacja 3. Pojęcia związane z testowaniem
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoWYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java
WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe
Bardziej szczegółowoZAPOZNANIE SIĘ Z TWORZENIEM
LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse
Bardziej szczegółowoZadanie nr 3: Sprawdzanie testu z arytmetyki
Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowoProduktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoCiekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:
1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,
Bardziej szczegółowoJava: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń
Bardziej szczegółowoZałącznik 2 utworzenie projektu
Załącznik 2 utworzenie projektu W poniższym załączniku przedstawione zostaną instrukcje utworzenia projektu w środowisku Eclipse, na bazie którego będzie rozbudowywana aplikacja. Przedstawiony zostanie
Bardziej szczegółowoZarządzanie i realizacja projektów systemu Microsoft SharePoint 2010
Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................
Bardziej szczegółowoDiagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Instrukcja korzystania z certyfikatu wersja 7.5 Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Testowanie oprogramowania Wykład 13 Wiktor Zychla 2014
Projektowanie obiektowe oprogramowania Testowanie oprogramowania Wykład 13 Wiktor Zychla 2014 1 Wprowadzenie State-of-the-art współczesnego warsztatu narzędzi testujących obejmuje nie tylko metodologie
Bardziej szczegółowoNS-2. Krzysztof Rusek. 26 kwietnia 2010
NS-2 Krzysztof Rusek 26 kwietnia 2010 1 Opis ćwiczenia Symulator ns-2 jest potężnym narzędziem, szeroko stosowanym w telekomunikacji. Ćwiczenie ma na cele przedstawić podstawy symulatora oraz symulacji
Bardziej szczegółowoZadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Bardziej szczegółowoJava pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych
Bardziej szczegółowoSpring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
Bardziej szczegółowoBuilder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
Bardziej szczegółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Bardziej szczegółowoPodstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
Bardziej szczegółowoProgramowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoFull Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia
Kod szkolenia: Tytuł szkolenia: DED/FSJS Full Stack JavaScript z Angular i Nest Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest dla programistów posiadających podstawową wiedzę w zakresie JavaScript,
Bardziej szczegółowoInformatyzacja przedsiębiorstw WYKŁAD
Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 5 Techniki pracy w środowisku Jboss Drools Wstęp Podobnie jak
Bardziej szczegółowoProgram Rejestr zużytych materiałów. Instrukcja obsługi
Program Rejestr zużytych materiałów. Instrukcja obsługi Autor: Andrzej Woch Tel. 663 772 789 andrzej@awoch.com www.awoch.com Spis treści Wstęp... 1 Informacje dla administratora i ADO... 1 Uwagi techniczne...
Bardziej szczegółowoInstrukcja laboratoryjna cz.3
Synteza aplikacji biznesowych 2014/15 Instrukcja laboratoryjna cz.3 Testy funkcjonalne (aplikacja TeamCity) Prowadzący: Tomasz Goluch Wersja: 3.0 Testowanie aplikacji z bazą danych Większość współczesnych
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoWprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Bardziej szczegółowo