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

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

Automatyzacja narzędziami open source nie musi być trudna

Testowanie systemów wbudowanych i krytycznych dla bezpieczeństwa Bogdan Bereza Wersja (33)

MS Visual Studio 2005 Team Suite - Performance Tool

REFERAT PRACY DYPLOMOWEJ

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Tester oprogramowania 2014/15 Tematy prac dyplomowych

EXCEL PL PROGRAMOWANIE PDF

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Automatyczne testowanie aplikacji Android

Wstęp do testowania : Szymon Ramczykowski

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

Tworzenie przypadków testowych

Akademia testera oprogramowania i systemów IT Poziom I specjalista testowania (56 h) kurs dzienny

Przykład połączenie z bazą danych

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

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

Testowanie oprogramowania. Piotr Ciskowski

Wdrożenie technologii procesowej IBM BPM w EFL

Dni: 3. Opis: Adresaci szkolenia

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

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

XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Tworzenie raportów XML Publisher przy użyciu Data Templates

Projekt: Narzędzia zarządzania testowaniem badanie narzędzia

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery


ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Modelowanie testów. czyli po co testerowi znajomość UML

Słowa kluczowe jak góry lodowe

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Odwzorowanie BPMN w sieć Petriego

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Zaawansowane programowanie w języku C++

Programowanie obiektowe

Instrukcja obsługi User s manual

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

5.3. Analiza maskowania przez kompaktory IED-MISR oraz IET-MISR wybranych uszkodzeń sieci połączeń Podsumowanie rozdziału

Toad for SQL Server. Nowa funkcjonalność w wersji 6.6

deep learning for NLP (5 lectures)

Instructions for student teams

Microsoft Test Manager

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

Szybkie prototypowanie w projektowaniu mechatronicznym

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

Lokalizacja Oprogramowania

ZŁOŻONOŚĆ schematów aplikacyjnych UML i GML

Informatyczne fundamenty

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Configuring and Testing Your Network

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

CASE STUDIES TEST FACTORY

Optimizing Programs with Intended Semantics

Planowanie na podstawie prognoz

Projektowanie oprogramowania

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

Usługa: Testowanie wydajności oprogramowania

Podstawy modelowania programów Kod przedmiotu

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

Proces ETL MS SQL Server Integration Services (SSIS)

"Szara codzienność" analityka czyli jak ułatwić sobie pracę: Usecase

Język UML w modelowaniu systemów informatycznych

EaglePCB_2_FreeCAD (beta)

BACKUP BAZ DANYCH MS SQL

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Spis treści. Wstęp Część I Internet rozwiązania techniczne... 13

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Projekt systemu informatycznego

Knovel Math: Jakość produktu

Tychy, plan miasta: Skala 1: (Polish Edition)


SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Wybór rozwiązania. Konkurencyjne ceny


Szkolenie: Podstawy automatyzacji z Selenium IDE

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

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Krótkie wprowadzenie do ModelSim i Quartus2

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

OpenPoland.net API Documentation

Zasady organizacji projektów informatycznych

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

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

XII International PhD Workshop OWD 2010, October Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych

Projektowanie oprogramowania

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Transkrypt:

Automatyczne generowanie testów z modeli Numer: 1 (33)

Rozkmina: Projektowanie testów na podstawie modeli (potem można je wykonywać ręcznie, lub automatycznie zwykle chce się automatycznie) A ja mówię o automatycznym projektowaniu Numer: 2 (33)

Jak tworzyć testy automatycznie? Generowanie testów z kodu źródłowego Nagrywanie Z modeli Numer: 3 (33)

Z kodu źródłowego 1(5) int pięćset_plus(int dochód) { wynik dochód + 500; ładniepokażwynik(wynik); return(wynik); } http://mit.bme.hu/~micskeiz/pages/code_based_test_generation.html Numer: 4 (33)

Z kodu źródłowego 2(5) Sterownik testowy: testuj() { wynik=pięćset_plus(0); wynik=pięćset_plus(10000); } Numer: 5 (33)

Z kodu źródłowego 3(5) Zaślepka testowa: ładniepokażwynik(wynik) { sendtors232(wynik); } Numer: 6 (33)

Ograniczenia However, these methods usually cannot generate the expected output for these inputs, as they do not have a specification or model. These methods usually try to satisfy kind of coverage (e.g. different branches and paths of the code under test) Numer: 7 (33)

Z kodu źródłowego 4(5) testuj2 (kwota,wynik) { assertequal(wynik, pięścet_plus(kwota); } Numer: 8 (33)

Z kodu źródłowego 5(5) plik:(-1,499) (0,500) (500,1000) (-500,0) (10000,10500) testuj2(read(plik),read(plik)); Numer: 9 (33)

Nagrywanie interfejsu 1(3) Numer: 10 (33)

Nagrywanie interfejsu 2(3) 10 11 606 1000 0 0 Numer: 11 (33)

Nagrywanie interfejsu 3(3) send(1); assertreceive(11, 300ms); send(606); assertreceive(null, 300ms); send(1000); send(0); assertreceive(0, 300ms); 10 11 606 1000 0 0 Numer: 12 (33)

Z modelu 1(2) 1 B 2 A 5 6 7 D 4 C Numer: 13 (33)

Z modelu 2(2) checkstate(a); apply(1); checkstate(b); apply(2); checkstate(d); apply(4); checkstate(a); apply(5); checkstate(c); Numer: 14 (33)

Jakie to proste! Proste i zaskakująco niepopularne Choć możliwości są: A test is generated for the basic path and each alternate and exception path in the scenario, and added to the selected element. In addition, for each step in the basic, alternate and exception paths that has a value in the Results column, a test is generated and added to the selected element. Numer: 15 (33)

en.wikipedia.org/wiki/model-based_testing Istniejące narzędzia do generowania testów z modeli najczęściej wykorzystują diagramy przejść stanów lub łańcuchy Markowa: Bogdan Bereza Automatyczne generowanie testów 7E. Narzędzie z modeli Numer: 16 (33)

Zastosowanie do SUT maksimum Liczba awarii odrzucić Zbyt źle OK przyjąć wszystkie Liczba wykonanych testów Numer: 17 (33)

mit.bme.hu/~micskeiz/pages/modelbased_testing.html I. Modele II. Import modeli z innych narzędzi III. Algorytmy tworzenia testów Numer: 18 (33)

I. Modele I. Modele II. Import modeli z innych narzędzi III. Algorytmy tworzenia testów C# Modele tekstowe w formie języka typu Gherkin XML Diagramy UML Łańcuchy Markowa Diagramy stanów Matlab Diagramy BPMN Java Sieci Petriego SysML Modele własne MatthWorks Simulink Phyton Numer: 19 (33)

II. Import modeli z innych narzędzi I. Modele II. Import modeli z innych narzędzi III. Algorytmy tworzenia testów Także: eksport testów do różnych narzędzi From several modeling tools Multiple formats Narzędzia UML Narzędzia BPM Numer: 20 (33)

III. Algorytmy tworzenia testów Kombinacje I. Modele II. Import modeli z innych narzędzi III. Algorytmy tworzenia testów Według modelu rozkładu P pokrycie strukturalne statement, branch, path, condition Typowe scenariusze Obszary ryzyka Numer: 21 (33)

robertvbinder.com/open-source-tools-for-model-based-testing/ Bogdan Bereza Automatyczne generowanie testów 7E. Narzędzie z modeli Numer: 22 (33)

MBT - podstawy en.wiki pl.wiki nie ma To już znamy Model, to wiemy A te wymagania testowe? Numer: 23 (33)

Przepływ danych MTB (generator testów) Wywołanie Zarządzanie testami Tworzenie skryptów Przypadki testowe (np. w UML) Raporty testowe (wyniki testów) Skrypty testowe (w języku robota) Wykonywanie i raportowanie testów Numer: 24 (33)

Przykład: www.all4tec.net Łańcuchy Markowa Można łączyć z narzędziami: CANoe, NI Teststand, EXAM, eggplant, Selenium, QTP, TTCN-3, C++, C#, Python [ ] Numer: 25 (33)

2. Generowanie testów z modeli BPMN Próby i badania: "test generation from bpmn" Numer: 26 (33)

Testy statyczne 1(2) Kodu no tak, nie tyle generują testy, co mają wbudowane pewne gotowe reguły, które potrafią automatycznie zastosować dla kodu Modeli - podobnie Numer: 27 (33)

Testy statyczne kodu 2(2) procedure funny_procedurę integer a, b, c, x; a 7; b d / 7; x 9; printf ( %d\n, b); x 17; b x / b; end funny_procedurę; Numer: 28 (33)

Jeszcze testy statyczne modeli Oczywiście, błędy składni Obliczanie złożoności Obliczanie długości ścieżek Dla diagramów przejść stanów: Stany bez wyjścia Stany bez dojścia Stany zdublowane Modularność Spójność = łatwość utrzymania Drzewa wywołań dla globalnych podprocesów Numer: 29 (33)

Testy modeli BPMN Przykład: BPMeter http://ceur-ws.org/vol-1418/paper7.pdf http://benchflow.inf.usi.ch/bpmeter Numer: 30 (33)

Co testuje BPMeter? Discover the process structure Understand process complexity Compare one process with the other Or compare it with your personal statistics Or compare it with general statistics Organize models in collections Keep track of all your processes Numer: 31 (33)

BPMeter - przykłady "Select any standard BPMN 2.0 model you have available (.xml,.bpmn or.bpmn20 file format)" Numer: 32 (33)

Numer: 33 (33)