Wstęp do testowania : Szymon Ramczykowski 29.04.2014



Podobne dokumenty
Maciej Oleksy Zenon Matuszyk

Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Automatyzacja Testowania w WEB 2.0

n+1 sposobów na automatyczne testy aplikacji mobilnych WrotQA, webinar Łukasz Siudakiewicz Damian Szczurek Automation Test Engineer

Szablon Planu Testów Akceptacyjnych

Dlaczego testowanie jest ważne?

Usługa: Testowanie wydajności oprogramowania

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Automatyczne testowanie aplikacji Android

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

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Testowanie i walidacja oprogramowania

Microsoft Test Manager

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

REFERAT PRACY DYPLOMOWEJ

Testowanie oprogramowania. Piotr Ciskowski

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

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

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

Programowanie w Ruby

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

Szkolenie: Automatyzacja testowania

Szkolenie: Testowanie wydajności (Performance Testing)

STAŻE DLA INFORMATYKI

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

Robotic Process Automation

Testowanie aplikacji. Kurs języka Ruby

CASE STUDIES TEST FACTORY

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

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

PRZEWODNIK PO PRZEDMIOCIE

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

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

Testowanie oprogramowania

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

TESTER OPROGRAMOWANIA STUDIA PODYPLOMOWE

Spis treści. Przedmowa Karolina Zmitrowicz, Adam Roman. Część I. Organizacja i procesy 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Testowanie oprogramowania Robert Kaszubowski

Najwyżej ocenione raporty dla Mr Buggy 4

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

ZARZĄDZANIE PROCESEM TESTOWYM (SQAM Test Manager) 7-8 luty 2008, Warszawa Zdobądź z nami certyfikat SQAM Test Manager.

Szczegółowy opis przedmiotu zamówienia

Sukces vs porażka. Sukces. Porażka

Automatyzacja narzędziami open source nie musi być trudna

Kurs rozszerzony języka Python

Robotic Process Automation

STAŻE DLA INFORMATYKI

Plan Testów Systemu SOS

Programista do działu testów PDT/1401/T/TBG

Google Testing. Radosław Smilgin, , TestWarez

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

Etapy życia oprogramowania

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

LearnIT project PL/08/LLP-LdV/TOI/140001

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

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

SYSTEM MONITORINGU SIECI I SERWERÓW NAGIOS

Optymalizacja Automatycznych Testów Regresywnych

Robotyzacja procesów biznesowych

Mamy najlepsze ceny na rynku!

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Katalog szkoleń praktycznych Testowanie oprogramowania

Szkolenie: Podstawy automatyzacji z Selenium IDE

ISTQB ma znaczenie - testowanie protokołu binarnego wersja rozszerzona Tadeusz Zdanowicz, Mobica

Szkolenia praktyczne w testerzy.pl to profesjonalne i solidne wprowadzenie w arkana testowania.

Szybkość w biznesie. Zwinne testowanie oprogramowania (Agile) Mateusz Morawski (mateusz.morawski@hp.com) 14 kwietnia 2015

Program szkolenia: Continuous Integration i Git

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

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

Metody testowania oprogramowania w cyklu wytwarzania aplikacji. Milena Sobolewska. Rule Financial - Software Test Engineer

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Win Admin Replikator Instrukcja Obsługi

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Michał Sierzputowski. Zautomatyzuj swoje testy automatyczne oparte o Selenium

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

Techniki (automatyzacji) projektowania testów. Adam Roman WarszawQA, 24 II 2016

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

KORZYSTANIE Z BAZY DANYCH UpToDate

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

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Piotr Ślęzak. Gdzie się podziała jakość

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Pytania próbne ISTQB CTFL

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

UPEDU: Testowanie (ang. Testing discipline)

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace.

Rubik s Manager - Plan testów

Oferta outsourcingu i rekrutacji specjalistów IT. ul. Wasiutyńskiego 16, Warszawa Tel.

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

Budowanie interfejsów do baz danych

Galileo - encyklopedia internetowa Plan testów

Weryfikacja i walidacja. Metody testowania systemów informatycznych

SAP automatyzacja testów z wykorzystaniem narzędzia Mercury QuickTestPro

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

Tester oprogramowania

Data-Driven Testing z Selenium

Bezpieczeństwo aplikacji Czy musi być aż tak źle? OWASP The OWASP Foundation

Transkrypt:

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 Rozbudowany dział testów automatycznych Incjatywy dla studentów: - AppCamp - Test Automation Academy - Prelekcje / wykłady / warsztaty - Projekty grupowe

O mnie Absolwent PG i PJWSTK Od 5 lat zawodowo związany z testowaniem w zróżnicowanych projektach - Sektor Bankowy - Bazy danych - Aplikacje sieciowe Od września 2012 roku Senior Test Engineer w firmie Kainos - Aplikacja EDRM dla szpitali na terenie UK - Szeroki zakres obowiązków

Agenda Wprowadzenie do Testowania - Po co testujemy? - Testowanie, weryfikacja i walidacja - Rodzaje testów - Błędy i ich raportowanie Automatyzacja Testów - Słownik podstawowych pojęć - Dlaczego testy automatyczne? - Koszty automatyzacji 10-Jun-14 7

Agenda Automatyzacja Testów c.d. - Kiedy i jakie testy automatyzować? - Rodzaje testów automatycznych - Narzędzia testowe 10-Jun-14 8

Po co testujemy? Błędy w oprogramowaniu mogą doprowadzić do: Strat finansowych Straty czasu Start wizerunkowych (utrata zaufania) Śmierci lub kalectwa! 10-Jun-14 9

Testowanie co to jest? Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item The Institute of Electrical and Electronics Engineers (IEEE) 10-Jun-14 10

Weryfikacja vs. walidacja 10-Jun-14 11

Rodzaje testów 10-Jun-14 12

Regresyjne / potwierdzające Rodzaje testów (2) Akceptacyjne Systemowe Integracyjne Jednostkowe 10-Jun-14 13

Rodzaje testów (3) Testy systemowe Funkcjonalne Niefunkcjonalne Manualne Automatyczne Wydajności, Bezpieczeństwa, Kompatybilno ści, Użyteczności, Dostępności 10-Jun-14 14

Błędy i ich koszt 10-Jun-14 15

Raportowanie błędów 10-Jun-14 16

Raportowanie błędów (2) 10-Jun-14 17

Automatyzacja Testów 10-Jun-14 18

Słownik podstawowych pojęć Test case: Test suite: przypadek testowy, scenariusz testu, najczęściej w formie wypunktowanej listy akcji i oczekiwanych rezultatów oraz warunków początkowych zbiór przypadków testowych, najczęściej dotyczący jednej funkcjonalności Wynik testu: rezultat wykonania przypadku testowego (passed/failed/blocked/not run) Defekt: błąd oprogramowania 10-Jun-14 19

Test case Tab. Przykładowy przypadek testowy Name: Summary: Preconditions: Login page test This test verifies if login functionality works properly User has access to application Step: Actions: Expected results: 1 Open application Application is opened and login screen is displayed 2 Enter a valid username into username input field Username is properly entered 3 Enter a valid password into password input field Password is properly entered 4 Click on 'Login' button User is logged into application 10-Jun-14 20

Dlaczego testy automatyczne? uzupełniają (nie zastępują całkowicie!) testy manualne są powtarzalne mogą być wykonywane systematycznie (np. codziennie) oszczędzają czas testerów dają aktualny stan oprogramowania szybka informacja, że coś przestało działać redukują błędy związane z czynnikiem ludzkim 10-Jun-14 21

Koszty automatyzacji źródło: www.simply-the-test.blogspot.com 10-Jun-14 22

Koszty automatyzacji (2) koszt implementacji - skrypty testowe - dokumentacja koszt eksploatacji - obsługa środowiska testowego - analiza wyników koszt utrzymania - wprowadzanie zmian do testów wraz ze zmianami produktu 10-Jun-14 23

Kiedy warto automatyzować testy? Gdy nam się to opłaca! 10-Jun-14 24

Kiedy i jakie testy automatyzować? testy wykonywane wiele razy - im więcej, tym większy zysk z automatyzacji testy dotyczące krytycznych części oprogramowania - wiążą się z dużym kosztem regresji testy wrażliwe na błędy związane z czynnikiem ludzkim testy wykonywane dla wielu danych testowych lub konfiguaracji 10-Jun-14 25

Kiedy i jakie testy automatyzować? (2) testy dotyczące rzadko zmieniających się obszarów oprogramowania testy monotonne lub pochłaniające dużo czasu, gdy są wykonywane ręcznie - np. wymagające wprowadzania dużej ilości danych testy niemożliwe do wykonania w sposób manualny gdy wynik testu może być stwierdzony w sposób obiektywny - działa/nie działa, a nie ładny/brzydki 10-Jun-14 26

Rodzaje testów automatycznych Testy automatyczne Funkcjonalne Niefunkcjonalne Wydajnościowe Obciążeniowe Inne 10-Jun-14 27

Rodzaje testów automatycznych (2) Testy automatyczne Liniowe - dane testowe* zapisane wewnątrz testu automatycznego Data-driven - dane testowe* pobierane z zewnętrznego źródła: baza danych, pliki csv, itp... * dane testowe - np. nazwa użytkownika i hasło z przykładu 10-Jun-14 28

Test case Tab. Przykładowy przypadek testowy Name: Summary: Preconditions: Login page test This test verifies if login functionality works properly User has access to application Step: Actions: Expected results: 1 Open application Application is opened and login screen is displayed 2 Enter a valid username into username input field Username is properly entered 3 Enter a valid password into password input field Password is properly entered 4 Click on 'Login' button User is logged into application 10-Jun-14 29

Rodzaje testów automatycznych (3) Liniowe: Data-driven: + prostota + szybkość implementacji + niezależność testu - nadmiarowość - niska konfigurowalność - niska elastyczność - w dużej mierze zależne od środowiska testowego - trudne do zarządzania + łatwe do ponownego użycia w różnych środowiskach (reusability!) + mniejsza nadmiarowość + konfigurowalność + elastyczność - bardziej rozbudowana struktura - zależność od źródła danych testowych 10-Jun-14 30

Narzędzia testowe 10-Jun-14 31

Narzędzia testowe (2) Narzędzia do automatyzacji testów GUI-based (nagraj i odtwórz) Code-driven (pisanie kodu) 10-Jun-14 32

Narzędzia testowe (3) Pliki wsadowe Makra Języki skryptowe: - Bash - Python - Pearl -... 10-Jun-14 33

Narzędzia testowe (4) HP-QuickTest Professional - rozbudowane narzędzie do przeprowadzania automatycznych testów funkcjonalnych oprogramowania 10-Jun-14 34

Narzędzia testowe (5) Selenium - darmowe narzędzie do automatycznych testów funkcjonalnych aplikacji webowych - wsparcie dla wielu przeglądarek - wsparcie dla języków programowania: Java C# Perl PHP Python Ruby http://kainos.pl/blog/ 10-Jun-14 35

Narzędzia testowe (6) Monkey Talk - darmowe narzędzie do automatyzacji testów aplikacji mobilnych - wsparcie dla Android i ios - wsparcie dla HTML5 i Flex 10-Jun-14 36

Narzędzia testowe (7) NeoLoad - narzędzie do wykonywania automatycznych testów obciążeniowych aplikacji webowych - nagrywanie scenariuszy (request-response) i ich odtwarzanie dla dużej ilości użytkowników - rozbudowane statystyki obciążenia serwerów 10-Jun-14 37

Pytania? 10-Jun-14 38