(Teszt)automatizálás Bevezető
Órák ( az előadások sorrendje változhat) 1. Bevezető bemutatkozás, követelmények, kérdések és válaszok 2. Előadás Unit test in general, 3. Előadás Unit test, Tools and practices, Test Driven Development 4. Előadás Build engineering 5. Előadás Continuous integration 6. Előadás - Continuous integration, Tools and practices 7. Előadás Automatic Deployment, Coverage-Metrics & Tools 8. Előadás UI Automation - Introduction and Structure 9. Előadás UI Automation - Page Object 10. Előadás UI Automation Behaviour Driven Development (BDD) 11. Előadás UI Automation Mobile devices 12. Előadás Performance Test
Követelmények és osztályzás A tárgy házi feladatok megoldásával teljesíthető. Minden házi feladat 33 pontot ér (kapható pontok 1-33). Időarányosan 5 db házit adunk ki. Nem kötelező minden házit elkészíteni de így nehezebb jó jegyet szerezni! Beadási határidő mindig a kiadástól számított 2 hét. Megszerezhető összes pontszám: 100 a fentiekből könnyű volt - Osztályzatok: 0-49 - 1 50-62 - 2 63-75 - 3 76-88 - 4 89-100 5 Vizsgaidőszak első hetében maximum egy darab házi pótolható!
Modern SW életciklus modellek Rational Unified Process(RUP) Agile Agile Unified Process(AUP) SCRUM XP technikák KANBAN Ajánlott irodalom: Rational Unified Process (RUP) Áttekintés http://www.logos2000.hu/it/doc/rup.pdf Kanban és Scrum - mindkettőből a legjobbat! http://www.adaptiveconsulting.hu/sites/default/files/kanbanesscrum_mindkettobolalegjobbat_1.pdf
Miért nincs automatizálás sok projekten? Folyamatok elégtelen ismerete (mit jelent, mivel jár, mit követel meg) Agile, KANBAN Nem megfelelő eszközök Kiválasztás (idő - szakértelem) Használat, rutin, készségszint elérése (idő képzés) Rövidtávú gondolkodás, hozzáállás, Elején kell a legnagyobb befektetés és később térül meg. Projekt Menedzsment piramis A hibajavítás ára Menedzsment ismeretek hiánya Projekt Változás Vonali (motiváció, coaching, mentorálás)
A projektmenedzsment háromszög és társai a mozgásterünk Képesség (funkciók, szolgáltatások és tulajdonságok) Idő Jó osztályzatok Minőség Funkciók Erőforrások Ütemterv (anyagi, emberi, ) (idő) Pénz Minőség Társasági élet Elégséges alvás Projekt Menedzsment Agilis tesztelés Egy lehetséges hallgatói megközelítés
A hiba ára (a javítás így a projekt költsége) A termékben rejtőző hibák megtalálásának és kijavításának ára az idővel arányosan, szigorúan monoton növekvő módon nő. Iparági kutatások bizonyítják, hogy egy hiba kijavításának költsége (tesztelési) fázisonként egy nagyságrendet ugrik.
Mit és mikor automatizálunk? Azt és ott, ahol és amikor megéri, de vannak az életciklus modellből fakadó alapvető követelmények és igények is, melyeknek meg kell felelni! Fejlesztési és tesztelési környezet állapot Pillanatnyi helyzet Bizonyos rendszerállapot, konfiguráció, adatok, adatbázisok át, ill. visszaállítása Build Fordítás gyakorisága Fordítás sebessége (elosztott rendszerek) Minőség ( smoke test ) Strukturális tesztelés Hogyan?, White-box, Kód és Rendszer felépítésére, architektúrára figyel, Komponensek és integrációjuk, Lefedettség
Mit és mikor automatizálunk? Bürokrácia Csökkentése Összekapcsolt, együttműködő eszközök, keretrendszerek, Automatikus riportolás, állapotkövetés Unit test Min. >70% lefedettség (mérés) OOP vs. (unit) tesztelhetőség koncepció, architektúra TDD Felhasználói felület tesztelése ( UI test ) Functional test Amikor megéri (tip.: smoke, core funtions, critical path, regression) Teljesítmény tesztek (Performance, Load, Stress) Egyébb Non-Funcional tesztek (Security/Vulnerability, stb.)
A SW fejlesztés különböző fázisai automatizálási lehetőségek és igények Performance Environment & Build (System) User Interface Automation needs (Integration) Unit
Ajánlott irodalom első órák Unit test JUnit http://junit.org/ http://www.tutorialspoint.com/junit/ http://xunitpatterns.com/ Mocking intro: http://java.dzone.com/articles/the-concept-mocking Mockito https://github.com/mockito/mockito http://docs.mockito.googlecode.com/hg/org/mockito/ Mockito.html EasyMock http://easymock.org/ Build SVN http://tortoisesvn.net/ Ant http://ant.apache.org/ http://ant.apache.org/resources.html Maven http://maven.apache.org/ http://www.maestrodev.com/better-build-maven http://books.sonatype.com/ Gradle http://www.gradle.org/ CI Jenkins http://jenkins-ci.org/ http://isbn.directory/book/978-1-4493-0535-2 Sonar http://www.sonarqube.org/
Kérés Légy szíves küldjétek el az alábbi kérdésekre a választ a Gergo_Palatinszky@epam.com ra a jövő hét végéig (szept. 20.) Miért vetted fel a tárgyat? (2-3 mondat max) Mit vársz tőle? (2-5 mondat/felsorolás max) Lehetőség szerint az ajánlott irodalom olvasgatása
Kérdések és válaszok