Teszt Automatizálás Kurzus
Személyes adatok Név: Szabó Dávid Email: takurzus@gmail.com
Automatizáló eszközök
Mik is ezek? Olyan eszközök, amelyek valamilyen keretrendszert biztosítanak a manuális vagy egyéb(pl.: teljesítmény) tesztelések végrehajtásának automatikussá tételére. Példák: Selenium, TestComplete, Squish, Watir, LoadRunner, UFT Típus: licenszes, ingyenes Eddig az ingyenesekről volt szó, most a licenszesek lesznek, abból is a TestComplete
Licenszes eszközök Pro: Contra: Rengeteg szolgáltatás, amely megkönnyíti, gyorsítja a fejlesztést. Akár előzetes programozói ismeretek nélkül is használható. Folyamatos támogatás a gyártótól. Contra: Sokszor rugalmatlan, határok közé szorítja a fejlesztőt. Használatának elsajátítása időigényes folyamat. Drága.
Python - gyorstalpaló Általános célú, nagyon magas szintű programozási nyelv Támogatott paradigmák: funkcionális, objektumorientált, imperatív, procedurális Dinamikus típus-hozzárendelés Automatikus memóriakezelés Interpeteres Zárójelek helyett behúzás(indentation) használata kód blokkok elkülönítésére. Sorvégi ‚;’ elhagyása Minket csak a funkcionális érdekel Behúzásra odafigyelni nagyon Gyorsan lehet benne kódot írni, rendkívül nagy eszkösztárral rendelkezik, melyet a közösség készít 3.4-es verziót használjuk
Python - gyorstalpaló Idézőjelek: ’ ’, ” ” Kommentár: # Értékadás: name = ”John” counter = 100 Adattípusok: Number, String, List, Tuple, Dictionary
Python - gyorstalpaló Number: Tuple: Int: 10 Long: 51924361L Float: 0.0 Complex: 3.14j Tuple: ( ) közé zárt adat sorozat Read-only
Python - gyorstalpaló String: Példa: ’ ’ vagy ” ” közé zárt karakter sorozat [ ] és [ : ] operátorok segítségével rész-stringeket alkothatunk + operatáror segítségével konkatenálhatunk * operatáro segítségével ismételhetünk Példa: str = ”Hello World!” print str[2:5] # Eredményül ”llo”-t ír ki
Python - gyorstalpaló List: [ ] közé zárt adatsorozat [ ] és [ : ] operátorok és indexek segítségével elemeket és részlistákat kérhetünk le. Mérete bővíthető, csökkenthető.
Python - gyorstalpaló List Függvények: cmp(list1, list2) Lista összehasonlítás len(list) Lista hossz max(list) Legnagyobb lista érték min(list) Legkisebb lista érték list(seq) Listává alakítás
Python - gyorstalpaló List Metódusok: .append(obj) Elem lista végére szúrása .count(obj) Elem hányszor fordul elő .extend(seq) Sorozat lista végére szúrása .index(obj) Legalacsonyabb előfordulás index .insert(index, obj) Index helyére szúrás, elemek eltolása .remove(obj) Elem eltávolítása .reverse() Lista megfordítása .sort([func]) Lista rendezése, megadható rendezési függvény
Python - gyorstalpaló Operátorok: Összehasonlító: ==, !=, <, >, <>, >=, <= Hozzárendelő: =, +=, -=, *=, /=, %= Logikai: and, or, not Tagság lekérdező: x in y, x not in y Azonosító: x is y, x is not y
Python - gyorstalpaló Elágaztatás:
Python - gyorstalpaló Iteráció – while: Iteráció – for: Kontroll utasítások: break Megszakítja az iterációt. continue Ugrás a következő iterációra. pass Nem cselekvő utasítás.
Python - gyorstalpaló Kivétel kezelés:
TestComplete
TestComplete Web, Asztal és Mobil automatizálás GUI alapú replay&playback Checkpoint rendszer Támogatott nyelvek: JavaScript, Python, VBScript, DelphiScript Tesztadat generálás Form szerkesztő Támogatott böngészők: Firefox, Google, Opera, Internet Explorer
Dokumentáció
Teszt típusok Keyword alapú tesztek: Script tesztek: Egy belső szerkesztő felület segítségével, előre elkészített építőelemekből létrehozott teszt. Előállítása gyors, egyszerű, komplexitása korlátok közé szabott. Állhat előre felvett lépésekből, vagy teljesen kézzel írott kódból. Script tesztek: A támogatott script nyelvek valamelyikével írt kód alapú tesztek. Tartalmazhatnak felvett, és kézzel írt részeket.
Obect Model Teszt objektumok fába rendezése. Gyökér elem a „Sys” objektum. Minden futó folyamat mint gyermek eleme szerepel. Minden folyamat részkomponense a folyamat gyermeke. Pl böngészük megnyitott fülei
Böngészők előkészítése
Első funkcionális tesztem Cél: Automatizált eljárás a Facebook weboldal új felhasználóinak regisztrálására. Tudjon Email vagy Mobiltelefon szám alapján is regisztrálni Legyen Keyword alapú. Szempont az újra felhasználhatóság. Legyen adat vezérelt. A felhasználói adatokat egy Excel fájlból nyerje.
Objektumok azonosítása Automatikus Name Mapping tároló segítségével: Objektum azonosítására használható tulajdonságok segítségével:
Objektumok azonosítása – Name Mapping A Name Mapping tároló tulajdonságokat és értékeket tartalmaz egyes objektumokra vonatkozóan, melyek segítségével azonosíthatóvá válnak. Teszt független, egy tárolót akármennyi tesztbe vagy projektbe beimportálhatunk. Minden objektum hierarchiába rendezett, reprezentálva azok kapcsolatát az adott alkalmazáson belül. Bővíthető kézzel, vagy felvétel során.
Objektumok azonosítása – Name Mapping Mapped Objects: Object Browser-t másolja Aliases: Rövidebb0, nem tartalmazza a hierarchia összes elemét Elemei átrendezhetőek Elemei egyedi nevekkel láthatóak el
Checkpoint Beépített eszközök, melyek segítségével a teszt futása közben ellenőrzéseket hajthatunk. Típusai: Érték összehasonlítás: Fajtái Store: Web Accessibility: Ellenőrzi, hogy a kérdéses oldal megfelel-e a Web Content Accessibility Guideline és Section 508 szabványoknak. Web Comparison: Oldal szerkezeti összehasonlítása a jelenlegi és az eltárolt adatok között.
Paraméterezés Segítségével a tesztek rugalmasabbá tehetőek. Paraméter értékek származhatnak: Belső változókból Projekt szintű változókból Adatbázisokból
Adatvezérelt teszt Felhasználói interakció szimulálása különböző beviteli adatokkal. Növeli a lefedettséget. Lehetővé teszi az adatgenerálást. Létrehozása: Keyword: Data-Driven Loop Script: iteráló utasítások segítségével
Script alapú tesztelés Cél: Keyword alapú teszt felhasználása, és kibővítése. Python alapú. Fontos az újrahasznosíthatóság. Tartalmazzon a vezérlést segítő Form-ot, több funkcióval. Támogasson több böngészőt. Legyen képes tetszőleges Excel-ből adatot beolvasni, illetve adatot menteni.
Script alapú tesztelés Funkcionális célok: Legyen képes bejelentkezni tetszőleges felhasználóval. Legyen képes kommenteket gyártani a bejelentkezett felhasználóval. Legyen képes felhasználói adatot módosítani. Legyen képes a módisított adatokat ellenőrizni. Legyen képes a teszt során nem előre mentett objektumok tulajdonságait is tesztelni.
Nyelv specifikus beállítások
Form-ok Rugalmassá teszik a teszt vezérlést. Elérhetővé teszik a script alapú teszteket kódolási tudással nem rendelkező tesztelők számára is. Lehetőséget biztosít paraméterek teszt futás közbeni módosítására. Részletes leírás
Scripting Objects A TestComplete beépített objektumai, metódusai, tulajdonságai. Különböző funkciókat biztosítanak egyes adattípusokhoz. Példa: aqDateTime Dátumok és idő értékek módosítására aqConvert Adattípusok közti konverziókhoz aqFileSystem Fájl rendszerek kezelésére Teljes lista
Excel alapú adatbázisok kezelése Három mód: DB Table típusú változó használata olvasásra DDTDriver Objektum használata olvasásra Írás és olvasás COM-on keresztül
Data Generator Segítségével nagy mennyiségű, véletlenszerű adatot készíthetünk scriptekhez való felhasználásra. Reguláris kifejezésekkel és beépített függvények segítségével befolyásolhatjuk az adat generálást. Részletes leírás