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

Podobne dokumenty
Testowanie jednostkowe. Jacek Starzyński, ZETiIS PW

METODY PROGRAMOWANIA

Programowanie zespołowe

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

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

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

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

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

Michał Sierzputowski. Zautomatyzuj swoje testy automatyczne oparte o Selenium

Techniki efektywnego testowania kodu dla programistów Java (Spock

Michał Olejnik. 22 grudnia 2009

Ocena i testowanie kodu

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Testy automatyczne. Korzystające z junit

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

Programowanie poprzez testy z wykorzystaniem JUnit

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

REFERAT PRACY DYPLOMOWEJ

TESTOWANIE OPROGRAMOWANIA

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Programowanie Komponentowe WebAPI

Testowanie aplikacji Java Servlets

Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006

Warsztat: "Automatyzacja testów (JAVA) - od podstaw"

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

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie do Behaviordriven

Automatyzacja testów aplikacji webowych w Selenium podstawy. Natalia Krawczyk

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

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, Bydgoszcz

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Szkolenie: Automatyzacja testowania

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Programowanie Zespołowe

Testowanie aplikacji. Kurs języka Ruby

Program szkolenia: Continuous Integration i Git

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

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

Overlord - Plan testów

Szkolenie: JMeter w praktyce

Wstęp do testowania : Szymon Ramczykowski

Google Testing. Radosław Smilgin, , TestWarez

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Rubik s Manager - Plan testów

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

Usługa: Testowanie wydajności oprogramowania

Microsoft Test Manager

OpenLaszlo. OpenLaszlo

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

Programowanie w Ruby

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Framework testowy dla języka Java

Automatyczne testowanie aplikacji Android

Testowanie oprogramowania. Piotr Ciskowski

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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.

Automatyzacja Testowania w WEB 2.0

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Maciej Oleksy Zenon Matuszyk

Wymagania: umiejętność modelowania systemów informatycznych z wykorzystaniem UML. umiejętność definiowania i kreatywnego rozwiązywania problemów

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

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Automatyzacja narzędziami open source nie musi być trudna

Projekt: Narzędzia zarządzania testowaniem badanie narzędzia. Część 2.3 Badanie Synapse RT

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

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Programowanie warstwy klienta w aplikacji JavaEE

PISANIE TESTÓW Z WYKORZYSTANIEM BIBLIOTEKI TESTNG

Audyt oprogramowania systemu B2B oprogramowanie umożliwiające zarządzanie informacjami o produktach:

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

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

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Ruby i Ruby on Rails. Mateusz Drożdżyński

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Systemy obiegu informacji i Protokół SWAP "CC"

Słowa kluczowe jak góry lodowe

Dlaczego testowanie jest ważne?

Platformy Technologiczne

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Szczegółowy opis przedmiotu zamówienia

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

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Szkolenie: Podstawy automatyzacji z Selenium IDE

Testowanie jednostkowe

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

TestNG: testowanie jednostkowe nowej generacji

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Szkolenie wycofane z oferty

Praca Dyplomowa Magisterska

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Transkrypt:

Testowanie Ryszard Beczek & Piotr Miłkowski 1

O czym to będzie? Trzy słowa o testowaniu TDD JUnit TestNG JMeter Yawet Squish/Java 2

Jak testujemy? Zwykle aplikacje testujemy ręcznie Testy przeprowadzamy po napisaniu Proces poprawiania błędów jest długi Poprawienie jednego błędu wprowadza inne Testowanie ręczne jest niepowtarzalne 3

Testy automatyczne Wykonują się bez ingerencji człowieka Zawsze są wykonywane tak samo W każdej chwili można uruchomić ich podzbiór Dobry zestaw testów pozwala szybciej wprowadzać zmiany 4

Rodzaje testów Jednostkowe Integracyjne Akceptacyjne 5

Zalety stosowania UT Ściśle zorientowane na funkcjonalność Każdy test odpowiada jednemu wymaganiu Zmniejszają koszty zmian Pisane w najprostszy sposób Automatyczne użycie Szybkie uruchamianie Niezależne od siebie, środowiska, kolejności Dobra dokumentacja 6

Problemy Pisanie testów post-factum Brak czasu Nie warto pisać testów Niechęć do pisania 7

Rozwiązanie Test Driven Development (TDD) Programowanie sterowane testami Jest to praktyka, która zwiększa niezawodność procesu rozwoju oprogramowania. 8

Reguły TDD Napisz test Skompiluj test Uruchom test (fail) Napisz kod Uruchom test (pass) Refactoring Uruchom test (pass) 9

TDD jest dobre bo... Pozwala zredukować liczbę błędów Przyśpiesza development, gdyż mniej czasu tracimy na wyłapywanie błędów Zwiększa jakość kodu nieustanny refactoring skupienie na funkcjonalności Zmiejsza koszty utrzymania kod jest łatwiejszy do śledzenia i utrzymania 10

JUnit 3 setup() teardown() testxxx() Xxx nazwa testowanej metody 11

Wady Junit 3 Wymagane dziedziczenie z TestCase Każda metoda testowa zaczyna się od prefixu test Nie można przekazywać parametrów do metod testowych oraz setup() i teardown() Każda metoda testowa na nowej instancji klasy Skomplikowane zarządzanie zestawami testów 12

Junit 4 @BeforeClass @AfterClass @Before @After @Test @Test(expected = JakisWyjatek.class) @Test(timout=100) 13

Asercje assertequals(wynik, prawidlowy) assertequals(message, wynik, prawidlowy) assertfalse(), asserttrue() assertnotnull(), assertnull() assertnotsame(), assertsame() fail() 14

TestNG Poprawiony JUnit3 wykorzystujący annotacje Bardziej rozbudowany niż JUnit4 Konfiguracja zestawów w xml Wsparcie dla data-driven testing 15

Annotacje @BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeGroups @AfterGroups @BeforeClass @AfterClass @BeforeMethod @AfterMethod 16

Annotacje 2 @DataProvider @Parameters @Test alwaysrun dataprovider groups invocationcount timeout expectedexceptions... 17

Zasoby junit.org testng.org google 18

JMeter Narzedzie do testów wydajnosciowych, Umozliwia testowanie zasobów dynamicznych jak i statycznych, Mozliwe testy regresywne (asercje), Napisany w Javie; aplikacja Desktop, Testowanie wydajności aplikacji webowych, FTP, JDBC, webservice, JMS Mozliwosc dopisywania wtyczek, http://jakarta.apache.org/jmeter

JMeter węzły Thread group Kontrolery: Samplers wysyłają żądania do serwera Logic controllers Listeners zbierają wyniki testu Timers określają przerwy między żądaniami Assertions warunki na odpowiedzi z serwera Config elements Pre i post processors

Yawet Proste narzędzie testujące funkcjonalność aplikacji webowych, Nawigacja na podstawie DOM, Umożliwia tworzenie testów regresji, Freeware http://www.informatrix.ch/

Yawet - działanie Wynik testu jest negatywny gdy: nie istnieje strona, do której się odwołujemy Atrybut obiektu DOM nie jest w określonej relacji Emulacja przeglądarek Mozilla, Netscape, IE, Łatwe powtarzanie testów

Squish/Java Rozbudowane narzędzie do testów funkcjonalnych, zautomatyzowane testowanie GUI i aplikacji webowych Możliwość wyboru języka skryptu testowego Tcl, Python, JavaScript Tworzenie scenariusza za pomocą nagrywania Licencja komercyjna (2400 EUR) http://www.froglogic.com/

Squish/Java http://www.froglogic.com/download/demos/squish_web/ http://www.froglogic.com/download/demos/backbase/