A tesztelő rendszer RUBY KÖRNYEZETBEN. A Cucumber Aslak Hellesøy készítette az első 1.0.0 verziót ami 2012. június 20-án jelent meg. 1.3.13 a legfrissebb.

Slides:



Advertisements
Hasonló előadás
Mire van szükség? Internet böngészővel ellátott számítógép vagy más készülék közvetlen csatlakozásához szükséges: (Chrome, Internet explorer, Firefox,
Advertisements

A Windows Azure egy skálázható számításifelhő-platform, amelyet a Microsoft hosztol a világ több pontján lévő adatközpontjaiban. Az Azure egyszerű,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
... manapság BizSpark WebsiteSpark Empower for ISVs MAPS (Web Solutions Toolkit ) Microsoft Partner Network Regisztrált szintCertified és Gold Certified.
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Ismerkedés a programmal Készítette: Szentirmai Róbert (minden jog fenntartva)
Operációs Rendszerek I.
Rendszerfejlesztés gyakorlat - © Fülöp Lajos
Adminisztratív kérdések
A webes tesztelés jövője
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Domain tesztelés bemutatása PHP tesztelés
HADOOP Korszerű Adatbázisok Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:
A Windows 7 automatizált telepítése Windows AIK használatával
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Kovács Tamás & Mingesz Róbert 3. óra február 20., 23.
Adatbázis alapú rendszerek
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
C A C nyelv utasításai.
Készítette: Sárközi Anikó
Első C programunk Visual C Express-ben Horváth Ernő 1.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
A HTML alapjai Havlik Barnabás Készítette:
Kliensoldali Programozás
S ZÖVEG ÍRÁSA. Kurzor: megmutatja, hogy hová írunk. Szabályok: Felesleges szóközöket ne helyezzünk el a szövegben! Sorok végén nem szabad Entert ütni,
Operációs rendszerek gyakorlat sed, awk parancsok.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
A Gimp képszerkesztő program
Horváth István Általános Iskola
ISZAM III.évf. részére Bunkóczi László
Egy Nao robot szimulálása a Choregraphe programmal.
1 Operációs rendszerek Az NT folyamatok kezelése.
FTP File Transfer Protocol. Mi az FTP? Az FTP egy olyan protokoll, amely fájlok interneten keresztül végzett átvitelére szolgál. A felhasználók többsége.
SEVEN DONT'S AFTER A MEAL Hét dolog amit nemszabad tenni, étkezés után.
Mikrovezérlők, perifériák laboratóriumi gyakorlat 3. óra szeptember 18. Mingesz Róbert v
V 1.0 ÓE-NIK, Programozás I. A Microsoft Visual Studio 2010 használata.
a Moodle autentikációjához a PTE FEEK-en
Egyéb erőforrás-kezelési képességek Készítette: Szentirmai Róbert (minden jog fenntartva)
Ptol-1 Ptolemy Claudius, the great Greek mathematician lived and worked in the 2 nd century B.C. An important theorem about inscribed quadrilaterals.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
1 Add az APK-t! Add az APK-t! Automatizált apptesztelés 2013/10/13.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Készítette: Lipp Marcell
Készítette Enyedi Tamás
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Visual Basic 2008 Express Edition
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Fontos információk.
2. Gyakorlat Zalatnai Csongor
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Violet nails Készítette: Csőke Vivien. Bevezetés Téma: Violet nails - műkörömkészítő weblapjának elkészítése A weboldal elérhető az alábbi címen: violetnails.atw.hu.
Számítógépes grafika I. AUTOCAD alapok
Algoritmizálás, adatmodellezés
Java web programozás 5..
A böngészőprogram használata. A böngészők értelmezik a html nyelvet, a javascript kódokat és a php kódokat is. Majd ezeket lefuttatja, és azok alapján.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék R „Big Data” elemzési módszerek Kocsis Imre
Haladó C++ Programozás SzJ/IV
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Informatikai gyakorlatok 11. évfolyam
Adatbázis alapú rendszerek
Maven és Ant Build eszközök bemutatása
Triggerek gyakorlás.
Bevezetés a programozásba Algoritmikus gondolkodás
Polymer Theory Why are we looking at polymer theory?
Microsoft SQL licenselés a gyakorlatban
Unit tesztelés Swift-ben
Előadás másolata:

A tesztelő rendszer RUBY KÖRNYEZETBEN

A Cucumber Aslak Hellesøy készítette az első verziót ami június 20-án jelent meg a legfrissebb verzió. Maga az eszköz a Behavior-Driven Development (BDD) elveit követi Ebben a tesztelési hozzáállásban az alapelvek: ◦Előre írjuk meg a tesztet a komponensünkhöz ◦Az elkészült tesztek után implementáljunk ◦A tesztek sorozatos futtatásával finomítsuk a kódot ◦A tesztek minden esetben megfogalmazhatóak, illetve specifikálhatóak természetes nyelven

 Ruby nyelven íródott, de azon kívül is léteznek implementációk, ezekből néhány az eredetit használja és egyfajta hidat képez a célnyelv és a Cucumber között (pl. cuke4php és cuke4lua)  Weboldal:  A BDD-nek megfelelően a tesztek két részből állnak.  A megrendelő számára átadható informális leírás  Az informális leírás sorainak megfelelő valódi program

 Az informális leírásra a következő megkötések érvényesek:  Egy.feature kiterjesztésű fájlba kell írni őket  Beépített kulcsszavakat kell használni  Feature, Scenario / Scenario outline és Examples  Given, And, When, Then  A kulcsszavak egyébként több nyelven is megadhatók nem csak angolul:  Jellemző, Forgatókönyv /Forgatókönyv vázlat és Példák  Amennyiben, És, Ha, Akkor

 Példa: division.feature # language: en Feature: Division In order to avoid silly mistakes Cashiers must be able to calculate a fraction Scenario: Regular numbers Given I have entered 3 into the calculator And I have entered 2 into the calculator When I press divide Then the result should be 1.5 on the screen

 Példa: addition.feature # language: en Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario Outline: Add two numbers Given I have entered into the calculator And I have entered into the calculator When I press Then the result should be on the screen Examples: | input_1 | input_2 | button | output | | 20 | 30 | add | 50 | | 2 | 5 | add | 7 | | 0 | 40 | add | 40 |

 Az ennek megfelelő, konkrét lépéseket végrehajtó kódot pedig a step_definitions könyvtárba kell helyezni ami a feature fájllal egy szinten van.  A lépések kódjának keretét nem kell kézzel megírni azt a futtató rendszer kiírja amennyiben nem találja meg azokat. Az ebben lévő paramétereket pedig reguláris kifejezésekkel lehet kinyerni.

 Példa: calculator_steps.rb # encoding: utf-8 begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end require 'cucumber/formatter/unicode' $:.unshift(File.dirname(__FILE__) + '/../../lib') require 'calculator' Before = Calculator.new end After do end

 Példa: calculator_steps.rb Given /I have entered (\d+) into the calculator/ do n.to_i end When /I press (\w+)/ do op end Then /the result should be (.*) on the screen/ do == result.to_f end

 A javasolt könyvtárstruktúra a következő:  features (Ide tesszük a.feature fájlokat)  step_definitions(Ide tesszük a lépések definícióit)  support(Az itt található forrásfájlok induláskor betöltődnek)

 A tesztelés indítása alapesetben úgy történik, hogy egy terminálon belépünk a features könyvtárral egy szintre és kiadjuk a cucumber parancsot. Ekkor az összes feature fájlt feldolgozza. Ezt a működést többféleképpen is felüldefiniálhatjuk :  Megadhatjuk konkrétan a feature fájl nevét a parancs után cucumber features/AwesomeFeature.feature  Használhatunk Tag-eket, amelyekkel szeparálhatjuk a teszteseteinket. Például csak adott taggel megjelölt teszteseteket futtathatunk.

 Példa: Tag-ek használata  A tagek arra valók, hogy a teszteseteinket csoportokba szervezzük azért, hogy ne kelljen minden esetben minden tesztet Feature: Verify Scenario: Missing product description Scenario: Several products

 Példa: Tag-ek használata Futtatás: cucumber (Csak taggel jelöltek) cucumber (Csak taggel jelöltek) cucumber –-tags (Minden ami nincs taggel) cucumber (Minden teszt lefut cucumber --tags (Minden teszt lefut

További lehetőségek  Webes tesztelés  A Cucumber a webes alkalmazások tesztelésében is használható, így tesztelhetjük vele Rails alkalmazásainkat is. Ezen felül, mivel ehhez a Cucumber más gem-eket használ ezért nem csak Rails, hanem tetszőleges webes- alkalmazások is tesztelhetőek.

További lehetőségek  Hook-ok  Arra valók, hogy 1-1 adott végrehajtási egység előtt illetve után lefuttathassunk kódrészeket például a teszteset környezetének inicializálása érdekében vagy a teszteset utáni takarítás miatt. 

További lehetőségek  Hook-ok fajtái  Scenario hookok  Minden Scenario/Scenario outline előtt/után fut  Before do |scenario| … end  After do |scenario| … end  do |scenario, block| … end

További lehetőségek  Hook-ok fajtái  Step hook  AfterStep do |scenario| … end  Configuration hook  AfterConfiguration do |config| … end

Kérdések  Mik a Cucumber angol nyelvű kulcsszavai?  Mire jók a Tag-ek?  Hogyan lehet a teszt szövegéből kinyerni a paramétereket?