Testowanie aplikacji. Kurs języka Ruby



Podobne dokumenty
Programowanie w Ruby

Programowanie w Ruby

Programowanie w Ruby

Programowanie w Ruby

Kurs rozszerzony języka Python

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.)

Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania

Testy aplikacji webowych

Kurs rozszerzony języka Python

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

Podstawy programowania III WYKŁAD 4

Instrukcja laboratoryjna

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

Programowanie w Ruby

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

Zaawansowany kurs języka Python

Laboratorium 7 Blog: dodawanie i edycja wpisów

TDD w Django South Sorl Haystack + Whoosh Małe, a cieszy Deployment Koniec. Wspomagacze Django. Jan Filipowski. 25 maja 2010

Modele danych walidacja widoki zorientowane na model

Programowanie w Ruby

Kurs języka Ruby. Ruby on Rails ActionPack

METODY PROGRAMOWANIA


Testowanie aplikacji Java Servlets

Katalog książek cz. 3: Web Service

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

1. Rejestracja 2. Logowanie 3. Zgłaszanie nowego wniosku projektowego

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Instrukcja laboratoryjna cz.3

Online Workbook Przewodnik dla nauczycieli

REFERAT PRACY DYPLOMOWEJ

Wstęp do testowania : Szymon Ramczykowski

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

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

Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Podstawy technologii WWW

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Laboratorium nr 3 Podstawy Ruby on Rails

Wdrożenie nowych Systemów Notujących na TGE

PODSTAWOWE POJĘCIA BAZ DANYCH

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Podręcznik Integracji

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

Archiwum Prac Dyplomowych

Materiały do laboratorium MS ACCESS BASIC

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

Laboratorium Kierunki Rozwoju oprogramowania REST, Django

learningpanel - logowanie

Dokumentacja użytkownika

Przewodnik użytkownika (instrukcja) AutoMagicTest

Maciej Oleksy Zenon Matuszyk

Wprowadzenie do Doctrine ORM

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Wnioskowanie o licencję z poziomu kalkulatora zalecane

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

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

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

Portal Personelu dostępny jest pod adresem

Aplikacje internetowe - laboratorium

Aplikacje webowe z wykorzystaniem Node.js oraz Express

QualitySpy moduł reports

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

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Testy automatyczne. Korzystające z junit

LeftHand Sp. z o. o.

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

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

Kurs rozszerzony języka Python

Dodawanie cennika na portalu świadczeniodawcy SZOI

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Instrukcja obsługi programu VisitBook Semieta Lite

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Baza danych sql. 1. Wprowadzenie

Praca w środowisku Visual Studio 2008, Visual C

Tworzenie wersji demonstracyjnych enova365 na potrzeby prezentacji u Klienta

Wykład I. Wprowadzenie do baz danych

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

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Archiwum Prac Dyplomowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

System magazynowy małego sklepu.

Diagramy klas. dr Jarosław Skaruz

Walidacja danych w ASP.NET MVC

PROJEKT Z BAZ DANYCH

KatMPBSoft - 1 -

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Wykład 1 Inżynieria Oprogramowania

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Programowanie MorphX Ax

Laboratorium 15: Bazy Danych Tworzenie bazy danych i programowanie elementów nawigacyjnych aplikacji stworzonej przy pomocy technologii dbexpress

Laboratorium nr 5. Bazy danych OpenOffice Base.

Palety by CTI. Instrukcja

Transkrypt:

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ę etc.)

Środowisko testowe Testy są zebranane w klasie (podklasie klasy ActiveSupport::TestCase) jako metody o nazwie test_* (przypadki testowe) Klasa jest katalogu test/unit/ Uruchomienie testów: ruby test/unit/...rb.

Railsy oferuja: Automatycznie wygenerowane pliki z prototypami testów Bazę danych do testów Wsparcie tworzenia zmiennych tymczasowych

Przykład Wykład 6

Testowanie modeli W modelach możemy definować walidację, tj. warunki poprawności danych sprawdzane podczas wprowadzania danych

Czego potrzebujemy Testowej bazy danych Testowych danych Zestawu testów Asercji

Testowa baza danych config/database.yml Wygenerowanie odpowiednich tabel w bazie: rake db:test:prepare

Przygotowanie danych testowych Dane są w katalogu test/fixtures Dane są w plikach typu CSV lub YAML Pliki z danymi powinne się nazywać tak jak modele

Przykład pliku YAML: wykladies.yml Ruby: id: 1 title: Kurs języka Ruby ldi: id: 1 title: Logika dla informatyków

Zestaw testów class WykladTest < ActiveSupport::TestCase fixtures :Wyklads end

Prosty test def test_prosty w = Wyklad.new(:title => ''AiSD'') w.ects = -1 assert!product.valid? end

Korzystanie z infrastruktury Deklaracja fixtures :wyklads łączy dane z pliku fixtures/wykladies.yml z tabelą w bazie danych Przed każdym wywołaniem metody testowej tabela jest wypełniana danymi z pliku Po wykonaniu metody testowej dane są usuwane z tej tabeli

Przykład def test_zlozony w = Wyklad.new(:title => wyklads(:ruby).title) assert!w.save end

Inne asercje assert_valid(obiekt_activerecord) sprawdzenie, czy obiekt przechodzi walidację flunk(komunikat) zawsze kończy się niepowodzeniem

Testowanie kontrolerów- testy funkcjonalne Szkielety testów kontrolerów są w katalogu tests/functional Testy są zgromadzone w metodach klasy testowej Opcjonalna metoda setup wykonywana przed testami

Pola obiektu klasy testującej @controller = WykladsController.new @request = ActinController::TestRequest.new @response = ActionController::TestResponse.new

Metody i funkcje pomocnicze get :akcja, opcje_wywołania, sesja post :akcja, :opcje_wywołania

Asercje assert_response :odpowiedź assert_redirected_to :action => ''akcja''

Przykład prosty def test_index get :index assert_response :success # assert_response 200 end

Przykład złożony def test_logowania get :index assert_redirected_to :login assert_equal ''Niezalogowany'', flash[:notice] end

Testowanie edycji post :edit :wyklad => { :title => ''Ruby'', :ects => 1}

Wynik działania akcji (@response) Komunikat o powodzeniu/niepowodzeniu/... Strona w html'u

Weryfikacja html'a assert_select tag tekst Np. assert_select ''title'', ''Programowanie w Ruby''

Testy integracyjne Kontrola przepływu informacji przez aplikację Testy polegają na testowaniu scenariuszy tests/integration Generowanie szkieletu $ ruby script/generate integration_test pierwszak

Scenariusz Student wchodzi na stronę i jest przekierowany na stronę logowania Student loguje się Jeśli sukces to jest przekierowany na stronę główną Student wybiera dwa przedmioty Student ma dwa przedmioty Student się wylogowuje

Implementacja Wstęp Zajęcia.delete_all ruby = wyklad(:ruby) ldi = wyklads(:ldi)

Wejście na stronę get ''/wykladies/index'' assert_redirect_to ''/login/haslo'' post_via_redirect ''/login/validate'' :user => { :name => ''pierwszak'', :passwd => ''*******''} assert_template ''wykladies/index'' assert_response :success assert_equal session[:user_id] = Student(:pierwszak).id

Wybranie danych get ''/wykladies/'' + wyklad(:ruby).id + ''/dodaj/'' assert_template ''index'' get ''/wykladies/'' + wyklad(:ldi).id + ''/dodaj/'' assert_equal 2, session[:zajecia].dane.size

KONIEC