Testowanie oprogramowania cz. 1
|
|
- Filip Jóźwiak
- 9 lat temu
- Przeglądów:
Transkrypt
1 Testowanie oprogramowania cz. 1 Marian Jureczko
2 Agenda Rodzaje testów Techniki projektowania testów FitNesse Selenium
3 Literatura K. Beck: Test-Driven Development by example. J. Bergin: XP Testing a GUI with FIT, Fitnesse, and Abbot. A. Hunt: Pragmatic unit testing in Java with JUnit. L. Koskela: Test Driven: Practical TDD and Acceptance TDD for Java Developers. R. Mugridge: Fit for developing software: framework for integrated tests. G. J. Myers: Art of software testing. A. Spillner, T. Linz, H. Schaefer: Software Testing Foundations
4 Miejsce testów w procesie wytwarzania oprogramowania Wymagania Testy akceptacyjne Projekt funkcjonalny systemu Testy systemowe Projekt techniczny systemu Testy integracyjne Specyfikacja komponentu Testy jednostkowe Programowanie
5 Testy jednostkowe Test jednostkowy (ang. unit test, test modułowy) to w programowaniu metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu - np. metod lub obiektów w programowaniu obiektowym lub procedur w programowaniu proceduralnym. Testowany fragment programu poddawany jest testowi, który wykonuje go i porównuje wynik (np. zwrócone wartości, stan obiektu, wyrzucone wyjątki) z oczekiwanymi wynikami - tak pozytywnymi, jak i negatywnymi (niepowodzenie działania kodu w określonych sytuacjach również może podlegać testowaniu).
6 Testy integracyjne Testy integracyjne to testy sprawdzające, że przetestowane w ramach testów jednostkowych komponenty (klasy, metody) dobrze ze sobą współpracują. Celem tych testów jest zatem wykrycie nieprawidłowości w interakcjach pomiędzy komponentami: niekompatybilne interfejsy komponentów, komponent wysyła dane o niepoprawnej syntaktyce, komponenty na różny sposób interpretują dane, które między sobą przesyłają, niespełnione ograniczenia czasowe nałożone na komunikację pomiędzy komponentami.
7 Testy systemowe Testy systemowe są wykonywane po zakończeniu integracji. Podczas ich przeprowadzania testowany system powinien być uruchomiony w środowisku możliwie bliskim docelowemu. Ich celem jest skonfrontowanie działania systemu ze stawianymi przed nim wymaganiami funkcjonalnymi.
8 Testy akceptacyjne Testy akceptacyjne skoncentrowane są na punkcie widzenia klienta. Ich celem jest podjęcie decyzji, czy system (lub jego poszczególne funkcjonalności) nadają się do wdrożenia. W podejściu formalnym w ramach tych testów weryfikuje się, czy wypełniony został kontrakt. W testach akceptacyjnych konieczne jest zaangażowanie klienta zamawiającego system. W metodykach zwinnych testy akceptacyjne mogą zastępować specyfikację wymagań.
9 Testy akceptacyjne Testy akceptacyjne, to testy funkcjonalne których celem jest wykazanie, że wyspecyfikowane wymagania zostały poprawnie zaimplementowane. W metodykach lekkich (np. XP) często stanowią integralną część specyfikacji i są automatyzowane przy pomocy jednego z wielu dostępnych narzędzi (Fitnesse, Fit, Selenium, BadBoy, Proven, Abbot, jfcunit, AutoIt). Kiedy wszystkie testy akceptacyjne przypisane do historii użytkownika (przypadku użycia) zostaną poprawnie przeprowadzone historia jest uważana za poprawnie zaimplementowaną
10 Testy akceptacyjne a jednostkowe Filippo Ricca: Automatic Acceptance Testing with FIT/FitNesse Testy akceptacyjne Testy jednostkowe Przygotowywane przez klienta i analityka systemowego Kiedy żaden z testów nie zawodzi przestań programować system jest gotowy (XP) Celem jest wykazanie poprawności działania wyspecyfikowanej funkcjonalności Używane do weryfikowania kompletności implementacji; jako testy integracyjne i regresyjne; do wskazywania postępu w tworzeniu aplikacji; jako część kontraktu; jako dokumentacja wysokiego poziomu Pisane przed implementacją a wykonywane po niej. Wyzwalane przez wymaganie użytkownika (przypadek użycia, historia użytkownika...) Przygotowywane przez programistów Kiedy żaden z testów nie zawodzi napisz nowy test który zawiedzie (XP, TDD) Celem jest znajdowanie błędów Używane do znajdowania błędów w modułach (klasach, funkcjach, metodach, komponentach) kodu źródłówego; jako dokumentacja niskiego poziomu Pisane i wykonywane w trakcie implementacji Wyzwalane przez potrzebę dodania nowych metod, klas..
11 Rodzaje testów Testy funkcjonalne Testy niefunkcjonalne Testy obciążeniowe Testy wydajnościowe Testy odpornościowe Testy użyteczności i ergonomii Testy regresyjne
12 Agenda Rodzaje testów Techniki projektowania testów FitNesse Selenium
13 Techniki projektowania testów Testy białej skrzynki Testy czarnej skrzynki
14 Klasy ekwiwalencji Pracownicy otrzymują dodatek świąteczny równy 20% miesięcznego dochodu jeżeli pracują w firmie dłużej niż 3 lata. Pracownicy pracujący od ponad 5 lat otrzymują 30%, a ci którzy pracują więcej niż 8 lat otrzymują 50%. Klasa ekwiwalencji 0 <= x <= 3 3 < x <= 5 5 < x <= 8 8 < x Przykładowa wartość Spillner, Linz Schaefer: Software Testing Foundations
15 Klasy ekwiwalencji dla wartości niepoprawnych Pracownicy otrzymują dodatek świąteczny równy 20% miesięcznego dochodu jeżeli pracują w firmie dłużej niż 3 lata. Pracownicy pracujący od ponad 5 lat otrzymują 30%, a ci którzy pracują więcej niż 8 lat otrzymują 50%. Klasa ekwiwalencji 0 > x X > 49 Przykładowa wartość Spillner, Linz Schaefer: Software Testing Foundations
16 Wartości graniczne Pracownicy otrzymują dodatek świąteczny równy 20% miesięcznego dochodu jeżeli pracują w firmie dłużej niż 3 lata. Pracownicy pracujący od ponad 5 lat otrzymują 30%, a ci którzy pracują więcej niż 8 lat otrzymują 50%. Przypadki testowe: 0 lat 1 dzień 0 lat 3 lata 3 lata + 1 dzień 5 lat 5 lat + 1 dzień 8 lat 8 lat + 1 dzień 49 lat 49 lat + 1 dzień
17 Przejścia między stanami Stos uruchom Pusty skasuj pop [wys.=1] push pop [wys.>1] push [wys.<max-1] Niepusty pop push [wys.=max-1] push Pełny Spillner, Linz Schaefer: Software Testing Foundations
18 Przejścia między stanami drzewo osiągalności Start Pusty Niepusty Usunięty Pusty Niepusty Pełny Niepusty Pełny Niepusty Spillner, Linz Schaefer: Software Testing Foundations
19 Tabela decyzyjna Podejmowanie pieniędzy w bankomacie Warunki: karta jest ważna, wprowadzono poprawny PIN, maksymalna liczba prób wprowadzenia numeru PIN wynosi 3, są dostępne środki na koncie i w bankomacie. Potencjalne akcje systemu: odrzuć kartę, poproś o ponowne podanie numeru PIN, połknij kartę, poproś o podanie innej kwoty, wypłać pieniądze. Spillner, Linz Schaefer: Software Testing Foundations
20 Tabela decyzyjna karta jest ważna wprowadzono poprawny PIN 3 niepoprawne PINy dostępne środki odrzuć kartę poproś o ponowne podanie PINu połknij kartę poproś o podanie innej kwoty wypłać pieniądze N T T T T - N N T T - N T N T T N N N N N T N N N N N T N N N N N T N N N N N T Spillner, Linz Schaefer: Software Testing Foundations
21 Testowanie z wykorzystaniem przypadków użycia Każdy przypadek użycia ma określony cel, a jego wykonanie powinno doprowadzić do określonego rezultatu. Następujące elementy powinny zostać uwzględnione podczas projektowania przypadków testowych: warunki uruchomienia, wszystkie możliwe przepływy sterowania, warunki zakończenia (stan systemu po zakończeniu przypadku użycia zarówno sukcesem jak i porażką)
22 Pokrycie kodu testami Pokrycie instrukcji kodu źródłowego Pokrycie przepływu sterowania Pokrycie przepływu danych Mutation score
23 Agenda Rodzaje testów Techniki projektowania testów FitNesse Selenium
24 Narzędzia powiązane z FitNesse
25 Testy akceptacyjne z Fit(Nesse) Wykonywalne testy zapisywane w tabelach (HTML, XML) Testy z tabel łączone z testowanym systemem przy pomocy pisanych przez programistów fixtures Rozszerzalna architektura jako fixture można zaimplementować integrację z innym frameworkim Wyniki testów w czytelnej, graficznej postaci
26 Testy akceptacyjne z Fit(Nesse) Tabela z testami Logika biznesowa w postaci prostej tabeli (HTML; w FitNesse również XML) Ułatwiają zrozumienie wymagań klienta Mogą być tworzone przy pomocy dowolnego edytora HTML (w FitNesse również przez Wiki)
27 Testy akceptacyjne z Fit(Nesse) Fixture public class Move extends ColumnFixture{ public String direction; private String msg; public boolean valid(){ } return dotest(); public String message(){ } return msg; Fixture to klasa pośrednicząca pomiędzy tabelą ze scenariuszem testowym a testowanym systemem Zazwyczaj przygotowywane są przez programistów private boolean dotest(){...} }
28 Testy akceptacyjne z Fit(Nesse) Wyniki wykonania testów Wyniki działania systemu są porównywane z wartościami zapisanymi w scenariuszu testowym. Rozbieżności są raportowanie Raport w postaci tabeli bazującej na scenariuszu testowym Przykładowa tabela z Rick Mugridge: Fit for developing software: framework for integrated tests.
29 Testy akceptacyjne z Fit(Nesse) Filippo Ricca: Automatic Acceptance Testing with FIT/FitNesse Wyniki testu o o' Programis ta Fixture Test Runner,o (i,o) i Testowany system Klient / Analityk Historia użytkownika Tabela z testami i dane wejściowe o oczekiwane dane wyjściowe o uzyskane dane wyjściowe
30 Predefiniowane typy klas Fixture ColumnFixture każdy wiersz to osobny przypadek testowy; część kolumn dostarcza danych wejściowych, pozostałe zawierają oczekiwane wyjście testowanego programu. RowFixture dedykowany do testowania zawartości kolekcji. ActionFixture zazwyczaj jedna tabela odpowiada jednemu przypadkowi testowemu; pozwala sprawdzić czy sekwencja akcji (proces biznesowy) wywołuje oczekiwany efekt. Summary Fixture, Html Fixture, Table Fixture, Command Line Fixture Przykładowe tabele z Rick Mugridge: Fit for developing software: framework for integrated tests.
31 Testowanie przez GUI - Swing Joseph Bergin: XP Testing a GUI with FIT, Fitnesse, and Abbot Enter, check i press to metody pochodzące z ActionFixture. Enter wywołuje Metody metody z tej jednym kolumny argumentem, muszą press zostać wywołuje zdefiniowane metodyprzez bezargumentowe, programistę a check w klasie metody zwracające CalculatorGuiFixture. wartość fit.actionfixture start calculator2003.calculatorguifixture enter delay 500 check value 0 press five press three press press plus five press equals check value 58 press press press minus two equals check value 56
32 Testowanie przez GUI - Swing Abbot Wykorzystuje mechanizm refleksji do uzyskiwania dostępu do klas interfejsu graficznego działającego programu. Aby wykorzystać możliwości Abbota w Fitnesse należy napisać specjalny Fixture, w naszym przypadku jest to CalculatorGuiFixture.java. Zamiast Abbota można użyć JfcUnit. FitNesse CalculatorGuiFixture.java dziedziczy po klasie Fixture, więc może zostać podłączony do tabeli ze scenariuszem testowym.
33 Testowanie przez GUI - Swing package calculator2003; import java.awt.*; import fit.fixture; import junit.extensions.abbot.*; import abbot.script.componentreference; import abbot.tester.componenttester; public class CalculatorGuiFixture extends Fixture{ //from FIT public Calculator calc = new Calculator(); // The GUI to be tested Button button5 = null; // References to objects in the GUI Button button2 = null; Button button3 = null; Button buttonequals = null; Button buttonplus = null; Button buttonminus = null; TextField display = null;
34 Testowanie przez GUI - Swing class GuiTest extends ComponentTestFixture{ // From Abbot's JUnit extensions public GuiTest(String name){ super(name); } public void setup() throws Exception{ testbasic = new ComponentTester(); ComponentReference ref = new ComponentReference("twoButton", Button.class, "twobutton", "2"); button2 = (Button)getFinder().findComponent(ref); ref = new ComponentReference("threeButton", Button.class, "threebutton", "3"); button3 = (Button)getFinder().findComponent(ref); ref = new ComponentReference("fiveButton", Button.class, "fivebutton", "5"); button5 = (Button)getFinder().findComponent(ref); ref = new ComponentReference("equalsButton", Button.class, "equalsbutton",
35 Testowanie przez GUI - Swing... private int delay = 0; public void delay(int d){ //Control the speed of the robot delay = d; } private void click(button button){ testbasic.actionclick(button); //robot clicks the button testbasic.actiondelay(delay); } public void five() throws Exception{ click(button5); } public void three() throws Exception{ click(button3); } public void two() throws Exception{ click(button2); } public void equals() throws Exception{ click(buttonequals); } public void plus() throws Exception{ click(buttonplus); }
36 Testowanie przez GUI - Swing fit.actionfixture start calculator2003.calculatorguirobotfixture enter delay 500 check value 0 press five press three press press plus five press equals check value 58 press press press minus two equals check value 56
37 Testowanie aplikacji internetowych Spring Nie można nadpisać instancjonowania klas Fixture Ale można wewnątrz klasy Fixture załadować kontekst Springa public boolean isvalid() { } BeanFactory beanfactory = new ClassPathXmlApplicationContext("classpath:/spring/applicati oncontext.xml").getautowirecapablebeanfactory(); loginservice = (LoginService)beanFactory.getBean("loginService"); loginservice.validateuser(username, password);
38 Testowanie aplikacji internetowych przez interfejs użytkownika WebTest Fixtures integracja Fitnesse z Selenium Fitnesse przejmuje kontrolę na przeglądarką internetową i wykonuje scenariusze testowe Szablon testu:
39 Agenda Rodzaje testów Techniki projektowania testów FitNesse Selenium
40 Selenium Selenium to narzędzie do automatyzacji testów akceptacyjnych dla aplikacji internetowych. Integruje się z przeglądarką internetową i umożliwia nagrywanie akcji wykonywanych przez użytkownika. Zapisane akcje można przekonwertować do wybranego języka programowania (np. Java, C#) i wykonywać dowolną ilość razy jako testy regresyjne.
41 Selenium
42 Selenium panel kontrolny
43 Selenium tworzenie testu Fragment nagranego scenariusza testowego
44 Selenium zestawy testów <html> <head> <title>test Suite Function Tests - Priority 1</title> </head> <body> <table> <tr><td><b>suite Of Tests</b></td></tr> <tr><td><a href="./login.html">login</a></td></tr> <tr><td><a href="./searchvalues.html">test Searching</a></td></tr> <tr><td><a href="./savevalues.html">test Save</a></td></tr> </table> </body> </html>
45 Selenium najważniejsze polecenia open click/clickandwait verifytitle/asserttitle verifytextpresent verifyelementpresent verifytext verifytable waitforpagetoload waitforelementpresent
46 Selenium wyniki testu
47 Happy testing...
48 Wersja elektroniczna wykładu, instrukcje laboratoryjne:
Testowanie oprogramowania. Marian Jureczko
Testowanie oprogramowania Marian Jureczko Agenda Testy jednostkowe JUnit Mock Objects, EasyMock Programowanie przez testy (TDD) Testy akceptacyjne Literatura Kent Beck: Test-Driven Development by example.
ZAUTOMATYZOWANE TESTY AKCEPTACYJNE DLA APLIKACJI INTERNETOWYCH W PROGRAMOWANIU STEROWANYM TESTAMI. Marian JURECZKO 1,2, Michał MŁYNARSKI 34
ROZDZIAŁ 99 ZAUTOMATYZOWANE TESTY AKCEPTACYJNE DLA APLIKACJI INTERNETOWYCH W PROGRAMOWANIU STEROWANYM TESTAMI Marian JURECZKO 1,2, Michał MŁYNARSKI 34 Rozdział prezentuje analizę porównawczą wybranych,
Cał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:
Wprowadzenie do Behaviordriven
Wprowadzenie do Behaviordriven development Jakub Kosiński Email: ja@ghandal.net Czym jest BDD? praktyka, powstała na podstawie TDD, wykorzystywana w zwinnych metodykach stworzona przez Dana Northa w 2003
Testowanie 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
Testowanie oprogramowania. Piotr Ciskowski
Testowanie oprogramowania Piotr Ciskowski TESTOWANIE testowanie o proces eksperymentalnego badania programu lub jego komponentu o próbne wykonanie w znanych warunkach o rejestrowanie wyników o ocena właściwości
Cał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
Instrukcja 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
REFERAT 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
Maciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
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
Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl
Testowanie według modelu (MBT) Bogdan Bereza, Victo MBT testowanie z modelu wersja 2.1 A 1 (48) Pozdrawiam Best regards Med vänliga hälsningar Bogdan Bereza bogdan.bereza@victo.eu +48 519 152 106 Skype:
Wstęp do testowania : Szymon Ramczykowski 29.04.2014
Wstęp do testowania Presented by: Szymon Ramczykowski Date: 29.04.2014 Kainos 10-Jun-14 Gdzie jesteśmy Co robimy Branże Technologie Kainos w Gdańsku Ponad 100 osób zatrudnionych Wiele ciekawych projektów
Laboratorium 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
Automatyczne testowanie aplikacji Android
Automatyczne testowanie aplikacji Android Arkadiusz Konior! 4developers!! Warszawa 7 kwietnia 2014 Agenda Testowanie Android Testing Framework Robotium Espresso monkey monkeyrunner UIAutomator Robolectric
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework Edyta Tomalik Grzegorz Ziemiecki 1 Nokia Siemens Networks 2013 Tradycyjne podejście analityk programista tester implementacja
METODY 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
Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)
Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów
Weryfikacja i walidacja. Metody testowania systemów informatycznych
Weryfikacja i walidacja Metody testowania systemów informatycznych Zagadnienia Weryfikacja a walidacja Etapy procesu testowania Rola planowania w procesie testowania systemów Przegląd różnych strategii
Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu. Projekt ZEFIR 2
Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu Projekt ZEFIR 2 1 Metryka dokumentu Nazwa projektu Właściciel projektu Izba Celna Wykonawca* Produkt Autorzy Plik_wersja
Testowanie oprogramowania
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
TESTOWANIE 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
Automatyzacja Testowania w WEB 2.0
Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium TESTOWANIE OPROGRAMOWANIA Software testing Forma
TESTOWANIE APLIKACJI KORPORACYJNYCH
TESTOWANIE APLIKACJI KORPORACYJNYCH Autor: inż. Ewa ZYGA Promotor: dr inż. Marek MIŁOSZ 1. Rola przeprowadzania testów w procesie wytwarzania oprogramowania Po co testować? Odpowiedź jest prosta. Aby znaleźć
Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska
Porównanie metod i technik testowania oprogramowania Damian Ryś Maja Wojnarowska Testy oprogramowania Testowanie oprogramowania jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów
Testowanie 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
Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik
Zawód tester, czyli na czym polega testowanie Katarzyna Łabinska Justyna Sacha - Gawlik Agenda: 1. Poznajmy się 2. Tester - kto to jest? 3. Podstawy testowania 4. Testowanie manualne a automatyczne 5.
Testy poziom po poziomie
poziom po poziomie Prowadzący: Tomasz Mielnik Eliza Słonińska Agenda 1. Modele prowadzenia projektów 2. V-Model 3. Poziomy testów 4. Typy testów 5. Zadanie 1 Modele prowadzenia projektów Wodospadowy (ang.
Multimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014
Automaty do zadań specjalnych Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014 Agenda Kilka pytań do publiczności Po co się męczyć? Studium przypadku Olympus Wprowadzenie Opis rozwiązania Wnioski
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Sposoby 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
Testy 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
Programowanie 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
Spring 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
1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Inżynieria Programowania - Testowanie oprogramowania cz.2
Inżynieria Programowania - Testowanie oprogramowania cz.2 Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 21 stycznia 2014 Plan wykładu Wstęp 1 Wstęp 2 pokrycia kodu pokrycia wymagań
szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.
szkolenia pod drzewem Wybrane Techniki XP 1.00.00 bnd Wybrane techniki XP współwłasność kodu źródłowego (collective code ownership) częsta/ciągła integracja (continuous integration) programowanie w parach
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014
Testowanie 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
Programowanie kontraktowe w Javie
20 maja 2010 Spis treści 1 Programowanie kontraktowe Geneza Założenia Kontrakty w języku Eiffel 2 Definiowanie specyfikacji Weryfikacja poprawności aplikacji 3 Wykorzystanie założeń kontraktów 4 Asercje
Metodyka Sure Step. Agenda:
Metodyka Sure Step Agenda: 1. Wstęp 2. Czym jest Microsoft Dynamics Sure Step? 3. Zespół wdrożeniowy 4. Etapy wdrożenia 5. Przebieg wdrożenia typu Standard 6. Diagnoza 1 Wstęp 1. Plan wdrożenia 2. Zarządzanie
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016
INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016 Czemu testowanie jest ważne? 1994 gra Król Lew Błąd Excela 2007 (ile to jest 850*77,1?) 1987 Therac-25 (race condition, dokumentacja) i Cobalt60
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet
Forum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Projektowanie oprogramowania. Termin zajęć: poniedziałek, 18.00-19.45. a podstawie materiału ze strony. http://gromit.iiar.pwr.wroc.
Projektowanie oprogramowania Termin zajęć: poniedziałek, 18.00-19.45 a podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1) Nr tygo dnia Spotkanie
Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania
Wykład 11. 4 stycznia 2010 1 Kontrola poprawności podczas biegu programu 2 3 4 Asercje Asercja to formuła logiczna; Asercji używa się do kontrolowania czy np. wartość zmiennej ma odpowiedni typ lub mieści
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Programowanie 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
Programowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Spis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
Dlaczego testowanie jest ważne?
Testowanie Dlaczego testowanie jest ważne? Oprogramowanie które nie działa poprawnie może doprowadzić do: straty czasu, pieniędzy utraty reputacji uszkodzeń ciała a nawet śmierci Definicja błędu Oprogramowanie
Testowanie aplikacji. Kurs języka Ruby
Testowanie aplikacji Kurs języka Ruby Rodzaje testów Testy jednostkowe Testy funkcjonalne Testy integracyjne Testy jednostkowe (unit tests) Testy sprawdzające pojedyncze funkcjonalności (metodę, funkcję
Aplikacja 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
Usługa: Audyt kodu źródłowego
Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Programowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Programowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Tester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Jakość w procesie wytwarzania oprogramowania
Jarosław Kuchta Jakość Oprogramowania http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc/ J.Kuchta@eti.pg.gda.pl Względny koszt wprowadzania zmian w zależności od fazy realizacji projektu
Automatyzacja narzędziami open source nie musi być trudna
Automatyzacja narzędziami open source nie musi być trudna Change IT for progress. Jak możemy Wam pomóc? Doradztwo Realizacje Szkolenia Doradztwo Rozpoznanie potrzeb organizacji i dostosowanie narzędzi
Platformy Technologiczne
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ą
Nazwa Projektu. Plan testów. Wersja N.NN
Nazwa Projektu Plan testów Wersja N.NN Projekt realizowany jest w ramach Programu e-cło współfinansowanego ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna
Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36
Automatyzacja testowania oprogramowania Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania 2/36 Potrzeba szybkich rozwiązań Testowanie oprogramowania powinno być: efektywne
Testowanie w procesie Scrum
Tilo Linz Testowanie w procesie Scrum Przewodnik po zarządzaniu jakością oprogramowania w świecie programowania zwinnego Przekład: Jakub Niedźwiedź APN Promise, Warszawa 2014 v 1 Wprowadzenie........................................1
Języki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Testowanie 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?
Tworzenie przypadków testowych
Tworzenie przypadków testowych Prowadząca: Katarzyna Pietrzyk Agenda 1. Wprowadzenie 2. Wymagania 3. Przypadek testowy Definicja Schemat Cechy dobrego przypadku testowego 4. Techniki projektowania Czarnej
Testowanie. Ryszard Beczek & Piotr Miłkowski 1 04/11/07
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
Szablon Planu Testów Akceptacyjnych
Szablon Planu Testów Akceptacyjnych strona 1 z 10 SPIS TREŚCI: 1 WPROWADZENIE 3 2 STRATEGIA TESTÓW AKCEPTACYJNYCH 4 2.1 Założenia do przeprowadzenia testów akceptacyjnych 4 2.1.1 Warunki przeprowadzenia
Plan Testów Systemu SOS
Plan Testów Systemu SOS Marcin Suszczewicz Michał Woźniak Krzysztof Kostałkowicz Piotr Kuśka 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 4 1.1 Cel tego dokumentu................................. 4 1.2
Programowanie 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
Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Laboratorium 8 Diagramy aktywności
Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów
Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006
Przegląd narzędzi do automatycznego testowania aplikacji internetowych Jan Płoszczyca SKISR 2006 Plan prezentacji Problemy przy tworzeniu serwisów Definicja zautomatyzowanego testowania Mity i fakty związane
Wykład 7. Projektowanie kodu oprogramowania
Wykład 7 Projektowanie kodu oprogramowania Treść wykładu cykl życiowy oprogramowania zagadnienia inżynierii oprogramowania tworzenie oprogramowania z gotowych elementów tworzenie niezawodnego oprogramowania
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Ję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
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Zarządzanie testowaniem wspierane narzędziem HP Quality Center
Zarządzanie testowaniem wspierane narzędziem HP Quality Center studium przypadku Mirek Piotr Szydłowski Ślęzak Warszawa, 17.05.2011 2008.09.25 WWW.CORRSE.COM Firma CORRSE Nasze zainteresowania zawodowe
AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM HP Software TECNA Sp. z o.o. Strona 1 z 7 HP APPLICATION LIFECYCLE MANAGEMENT Oprogramowanie Application Lifecycle Management (ALM, Zarządzanie Cyklem życia aplikacji) wspomaga utrzymanie kontroli
1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania
Testowanie i walidacja oprogramowania
i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 3 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Zarządzanie testami Cykl życia testów (proces) Planowanie Wykonanie Ocena Dokumentacja
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Java: 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ń