TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Hasonló dokumentumok
Alapszintű tesztelői tanfolyam Boda Béla CTO, Neuron Software

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Agilis projektmenedzsment

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

MIÉRT KELL TESZTELNI?

INPUT PROGRAM 2. Kanban és SCRUM. KANBAN alapok

Információs rendszerek Információsrendszer-fejlesztés

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

01. gyakorlat - Projektalapítás

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Verifikáció és validáció Általános bevezető

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Test Strategy. Monotonitá s tűrése (0 5) Biztonsági tudás (0 5) Adatbázis ismeret (0 5)

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

A Scrum Útmutató. Meghatározó útmutató a Scrumhoz: A játék szabályai. Kifejlesztette és karbantartja Ken Schwaber és Jeff Sutherland

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

ELTE, Informatikai Kar december 12.

extreme Programming programozástechnika

(Teszt)automatizálás. Bevezető

2. A szoftver mint termék llításának folyamata, a szoftver életciklus modelljei

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

A szoftverfolyamat és s a tesztelés

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK TESZTELÉSI TECHNIKÁK KIVÁLASZTÁSA

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

Szoftverfejlesztés teszteléssel

Minőségmenedzsment és Informatika Test-Driven Development

Szoftverminőségbiztosítás

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

Követelmény alapú minőségbiztosítás az államigazgatásban

Programozási technológia 2.

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Autóipari beágyazott rendszerek. Fejlesztési fázis

Bevezetés a programozásba

Ami a vízesésen túl van

Szoftvertesztelés - Bevezető

Szoftverminőségbiztosítás

A szoftverellenőrzés szerepe

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

Szoftverminőségbiztosítás

Teszt terv Új funkció implementációja meglévı alkalmazásba

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

The Unified Software Development Process. Történet. Feltételek. Rational Unified Process. Krizsán Zoltán Ficsor Lajos

A DevOps-kultúra eszközei

Agilis szoftverfejlesztés és Scrum

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

Modell alapú tesztelés: célok és lehetőségek

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Pénzügy, számvitel. Váradi Mónika

Fejlesztési modellek és módszertanok

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Információtartalom vázlata

30 MB INFORMATIKAI PROJEKTELLENŐR

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Test Strategy. Tartalomjegyzék

Szoftverspecifikáció fázis: Követelmény specifikáció. 2. fázis: Követelmények feltárása és elemzése

AZ AUTONÓM KÖZÚTI JÁRMŰVEK TESZTELÉSI ÉS VALIDÁLÁSI KIHÍVÁSAI

Név: Neptun kód: Pontszám:

Szoftver újrafelhasználás

Szoftverminőségbiztosítás

RUP, XP és SPEM. Budapest Április 21. Ráth István (Szőke Ákos fóliái alapján)

Lean Történet Today es. Első lépések: Japán. Autóipari beszállítók. Első hullám: Nemzetközi. Autóipari beszállítók

Szoftvertechnológia ellenőrző kérdések 2005

4. A szoftvergyártás folyamata

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

Scrum vagy nem scrum - ahol nem hibázhatunk Röviden a budapesti fejlesztési központról

ISO 9001 kockázat értékelés és integrált irányítási rendszerek

TESZTMENEDZSMENT A TESZT ELŐREHALADÁSÁNAK FELÜGYELETE ÉS IRÁNYÍTÁSA KONFIGURÁCIÓ MENEDZSMENT KOCKÁZAT ÉS TESZTELÉS INCIDENSMENEDZSMENT

Projectvezetők képességei

S01-9 Szoftverfejlesztés minőségi aspektusai

Agilis szoftverfejlesztés és Scrum

Test Management Strategy Document. Deák Kristóf Lauly Viktória Kunigunda Csiki Norbert Szabó Zoltán

Fejlesztési stratégiák

A klubnap fő témája: Alapozás

SW-project management

A hibrid DB cloud biztonsági eszköztára. Kóródi Ferenc Budapest,

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Az Oracle Fusion szakértői szemmel

Rubin SPIRIT TEST. Domino net provisioning tesztelése esettanulmány 1.0. Készítette: Dobó Arnold Jóváhagyta: Varga József. Rubin Informatikai Zrt.

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Szoftverfejlesztési módszertanok / Agilis SCRUM

Összetett szoftverrendszerek fejlesztése Innovatív szoftver prototípusok a Codespring Mentorprogram keretein belül

Szoftverminőségbiztosítás

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Átírás:

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET, INFORMATIKA, TURISZTIKA ÉS VENDÉGLÁTÁS TERÜLETEN

Feldolgoztuk: Tesztelés alapjai 1.1 Miért szükséges a tesztelés? 1.2 Mi a tesztelés? 1.3 Általános tesztelési alapelvek 1.4 A tesztelés alapvető folyamata 1.5 A tesztelés pszichológiája 1.6 Etikai kódex

2. Tesztelés a szoftver életciklusán át 2.1 Szoftverfejlesztési modellek 2.2 Tesztszintek 2.3 Teszttípusok 2.4 Karbantartási teszt

2. Tesztelés a szoftver életciklusán át 2.1 Szoftverfejlesztési modellek 2.1.1 V-modell (szekvenciális fejlesztési modell) 2.1.2 Inkrementális-iteratív fejlesztési modellek 2.1.3 Tesztelés egy életciklus modellen belül 2.1.4 Egyéb modellek 2.2 Tesztszintek 2.3 Teszttípusok 2.4 Karbantartási teszt

Hol, hogyan keletkeznek a tesztelői feladatok? A V-MODELL

2.1.1 V-Modell Rendszer megvalósítása Tesztek végrehajtása Nem funkcionális követelménye k Funkcionális követelmény elemzés Átvételi tesztek Megfelelőségi tesztek Infrastruktúra tervezés Funkcionális/Logikai (High Level) rendszertervezés Rendszertesztek (Funkcionális) Rendszertesztek (Nem funkcionális ) Architekturális tervezés Fizikai (Low Level) rendszertervezés Integrációs tesztek Kompatibilitási tesztek Technológia alkalmazása Kódolás Egységtesztek Kód lefedettség Architekturális Logikai Forráskód Kód Review (MUNKAALAPÚ White-box TUDÁS A DEBRECENI EGYETEM OKTATÁSÁBAN) Black-box

V-Modell Rendszer megvalósítása Tesztek végrehajtása Nem funkcionális követelménye k Funkcionális követelmény elemzés Átvételi tesztesetek Megfelelősségi elvárások Átvételi tesztek Megfelelőségi tesztek Infrastruktúra tervezés Funkcionális/Logikai (High Level) rendszertervezés Funkcionális tesztesetek Nem funkcionális elvárások Rendszertesztek (Funkcionális) Rendszertesztek (Nem funkcionális) Architekturális tervezés Fizikai (Low Level) rendszertervezés Integrációs tesztesetek Kompatibilitás elvárások Integrációs tesztek Kompatibilitási tesztek Technológia alkalmazása Kódolás Egység tesztesetek Technológia elvárások Egységtesztek Code Coverage Architekturális Logikai Forráskód Kód Review (MUNKAALAPÚ White-box TUDÁS A DEBRECENI EGYETEM OKTATÁSÁBAN) Black-box

V-Modell Rendszer megvalósítása Tesztek végrehajtása Nem funkcionális követelménye k Funkcionális követelmény elemzés Házon kívüli feladatok Átvételi tesztek Megfelelőségi tesztek Infrastruktúra tervezés Funkcionális/Logikai (High Level) rendszertervezés Házon belüli feladatok Rendszertesztek (Funkcionális) Rendszertesztek (Nem funkcionális) Architekturális tervezés Fizikai (Low Level) rendszertervezés Integrációs tesztek Kompatibilitási tesztek Technológia alkalmazása Kódolás Egységtesztek Code Coverage Architekturális Logikai Forráskód Kód Review (MUNKAALAPÚ White-box TUDÁS A DEBRECENI EGYETEM OKTATÁSÁBAN) Black-box

2.1.2 Inkrementális fejlesztési modell Specifikáció Követelmények meghatározás a Követelmények inkrementumokhoz rendelése Inkrementum fejlesztése Inkrementum validálása Inkrementum integrálása Rendszer validálása Végső rendszer Megvalósítás Van fejlesztendő inkrementum Átvétel

2.1.2 Hibrid inkrementális modell Specifikáció Követelmények meghatározás a Követelmények inkrementumokhoz rendelése Infrastruktúra tervezés Funkcionális/Logikai (High Level) rendszertervezés Rendszertesztek (Funkcionális) Rendszertesztek (Nem funkcionális) Rendszer validálása Végső rendszer Architekturáli s tervezés Fizikai (Low Level) rendszertervezés Integrációs tesztek Kompatibilitá si tesztek Technológia alkalmazása Kódolás Egység tesztek Code Coverage Megvalósítás Forráskód Kód Review Van fejlesztendő inkrementum Átvétel

2.1.2 Iteratív fejlesztési modell Új üzleti igény megjelenése Üzleti modell kialakítása Követelmény elemzés Előkészítés Tervezés Előkészítő Tervezés Átadás & Evolúció Megvalósítás Tesztelés

2.1.3 Tesztelés az iteratív fejlesztési modell lépéseiben Új üzleti igény megjelenése Átvételi teszt tervezése Üzleti modell kialakítása Követelmény elemzés Előkészítés Funkcionális Tervezés (Rendszer) teszt tervezése Átadás & Evolúció Átvételi tesztek végrehajtása Tesztelés Megvalósítás Egység tesztek tervezése & végrehajtása Funkcionális (Rendszer) tesztek végrehajtása

2.1.3 Review az iteratív fejlesztési modell lépéseiben Új üzleti igény megjelenése Követelmény Review Üzleti modell kialakítása Követelmény elemzés Előkészítés Funkcionális & Fizikai terv Review Tervezés Átadás & Evolúció Megvalósítás Validáció Tesztelés Kód Review Felhasználói dokumentáció Review

2.1.4 Egyéb fejlesztési modellek RAD Rapid Application Development Prototípus alapú fejlesztés Agile Scrum Extreme Programming RUP Rational Unified Process - IBM

2.1.4 RAD - Prototype Tervezés (pre-planing) minimalizálása A lehető leghamarabb kezdjük el a szoftver kódolását Cél Prototípus segítségével mutassuk meg a jövőbeni működést Hatékonyabb reagálás az igényváltozásokra Probléma a korábbi (70-80-as évek) modelljeivel Az igények megváltoztak, mire a rendszer elkészült Használhatatlan és a való életben alkalmazhatatlan rendszerek születtek

2.1.4 RAD Fázisok

2.1.4 RAD Fázisok Igények rögzítése Rendszertervezés és analízis kombinációja Az érintettek megegyeznek az üzleti elvárásokban projekt scope-ban a rendszerrel kapcsolatos egyéb elvárásokban Felhasználói tervezés Üzleti elemzők és a megbízó modelleket és prototípusokat készítenek A modellek és a prototípusok lefedik és a definiálják a rendszer inputjait és outputjait

2.1.4 RAD Fázisok Konstrukció A prototípus alapján fejlesztik a rendszert Követve a prototípuson végrehajtott változásokat Kódolás és tesztelés is ebben a fázisban történik Cutover Átadás és oktatás Rövid, egyszerűsített formában

2.1.4 Agile Manifesto (kiáltvány) Egyének és együttműködés folyamatok és eszközök helyett Működő szoftver átfogó dokumentumok helyett Együttműködés az ügyféllel szerződések helyett Gyors reagálás a változásokra az elkészült tervek megvalósítása helyett

2.1.4 Agile - Scrum Iteratív és inkrementális modell Rugalmas, teljességre törekvő (holisztikus) fejlesztési keretrendszer, melyben a csapat a közös cél elérésén dolgozik Cél A változó üzleti igényekhez való alkalmazkodás A csapatban rejlő potenciál maximális kihasználása

2.1.4 Agile - Scrum - Szerepek az ügyfél és a steakholderek hangja felelős az üzleti érték szállításáért user story-k segítségével rögzíti az elvárásokat és határozza meg a scope-ot a product backlogban priorizálja azokat a csapat előtt álló akadályok elhárításáért felel betartatja a scrum szabályokat NEM PROJEKT MANAGER! Scrum Master Product Owner kis létszámú 3-9 fő inkrementumok szállításáért felelős nincs one-man show nincs single point of contact Scrum INFORMATIKA, Team TURISZTIKA ÉS VENDÉGLÁTÁS TERÜLETEN http://thecriticalpath.info

2.1.4 Agile - Scrum - Szerepek A Scrum csapat Akik a bőrüket a vásárra viszik Nem tagjai a Scrum csapatnak De figyelembe kell venni őket

2.1.4 Agile - Scrum - Igények Vízió A rendszerről, termékről magas szintű képet ad, elhelyezi a világban és stratégiai elvárásokat fogalmaz meg vele kapcsolatban Eposz Főbb funkciókat, folyamatokat és azokkal kapcsolatos elvárásokat fogalmaz meg, melyek jó kiindulópontjai az igények részletes kidolgozásának

2.1.4 Agile - Scrum - Igények User Story Mint azt szeretném, hogy azért, mert Felhasználói szerep Mi az elvárása Miért

2.1.4 Agile - Scrum Product Backlog A rendszerrel kapcsolatos priorizált elvárás lista Vízió Eposz User Story

2.1.4 Agile - Scrum - Sprint

2.1.4 Agile - Scrum Sprint Backlog Priorizáltan tartalmazza az adott sprintben megvalósítandó elvárásokat A Product Backlogból kerülnek ide az elemek a sprint tervezésekor A sprint backlog elemeit részfeladatokra bontjuk mely felosztás elsődleges szempontja már nem logikai, hanem technikai, architektúrális és vagy jellegbeli különbségeken alapul

2.1.4 Agile - Scrum - Task Fajtái (egy-egy User Story kapcsán) Tervezés Megvalósítás Tesztelés Állapotai Todo Inprogress Done Story2 Tervezés TODO INPROGRESS DONE Story1 Tervezés Story1 Megvalósítás Story1 Tesztelés Story2 Megvalósítás Story2 Tesztelés

2.1.4 Agile - Scrum Sprinttervezés ás Story pontok Feladatok méretének meghatározása Nem embernapokban vagy órákban mérjük a feladatok méretét Egymáshoz és a korábbi tapasztalatokhoz viszonyítva Story Pontokat kapnak melyek a relatív szükséges ráfordítást reprezentálják Pl. jó értékek a Fibonacci számok 1 2 3 5 8 13 21 34, mert a kis feladatokat részletesebben tudjuk becsülni, mint a nagyokat és arra kényszerít, hogy tovább bontsuk a nagy igényeket kisebbekre A sprintben megvalósíthatónak vélt feladatok felvétele a Sprint Backlogba

2.1.4 Agile - Kanban

2.1.4 Agile - Kanban

2.1.4 Agile - Scrumban Feladat Állapotai Todo Inprogress Test Done TODO INPROGRESS TEST DONE Story1 Story2

2.1.4 Agile - Extreme Programming

2.1.4 Agile - Extreme Programming

2.1.4 Agile - Extreme Programming Whole Team o Ügyfél, szakértők, programozók, tesztelők egy csapat Planning Game o o Release Planing Iteration Planning Small Releases o o Tesztelt, értékelhető funkciókat adunk át az egyes iterációkban Lehetőleg gyakran (a projekt jellegétől függően) adjunk ki release-ket Customer Tests o Lehetőleg automatizált átvételi tesztekkel mutatjuk meg a felhasználóknak, hogy a rendszer működik

2.1.4 Agile - Extreme Programming Collective Ownership o Bárki bármikor bárhol jobbá teheti a kódot új feature bevezetésével vagy hiba javításával Coding Standard o Ahhoz, hogy a kód minden része mindenki számára ismerős legyen egy egységes kódolási konvenciót kell bevezetni és alkalmazni Sustainable Pace o Nem akarunk belehalni a fejlesztésbe, hanem minőséget akarunk határidőre o egy fenntartható sebességet kell kialakítani a projekt időtartama alatt Continious Integration o A kódot folyamatosan integráltan tartjuk o Azaz naponta többször buildelünk, hogy elkerüljük a nagy gap-eket az egyes integrációs feladatok között

2.1.4 Agile - Extreme Programming Simple Design o Egyszerűen és funkcionalitáshoz illeszkedően tartjuk a kódot o Nem építünk be felesleges dolgokat o Mindig készen állunk a következő lépésre Pair Programming o Két fejlesztő egy gépnél o o A review azonnal megtörténik A párok változgatásával terjeszthető a tudás Test-Driven Development o Tesztek írását követi a kód írása o o Formalizáltnak tekinthető specifikáció Közel 100%-os lefedettség érhető el Refactoring o o Az interfészek, a domain modell és kód minőségének javítása High Cohesion - Low Coupling

2.1.4 Rational Unified Process Feladatok jellege Business Modeling Requirements Analysis & Design Implementation Test Deployment Fázisok Inception előkészítés Elaboration tervezés, kidolgozás Contruction megvalósítás Transaition bevezetés (beta testing, validation)

GYAKORLAT

A BECSLÉS NEHÉZSÉGEI

Fejezzük ki az alábbi állatokat lemmingben az átlagos tömegük alapján Kék bálna? Tacskó? Hippopotamus? Ember? Lemming 1 Gerenuk? Macska? Afrikai elefánt? Bordeaux-i dog?

Fejezzük ki őket egymásban? Lemming Kék bálna? Macska Afrikai elefánt?? Tacskó Víziló?? Gerenuk Bordeaux-i dog Ember??

1 571 429 100 25 714 1 014 1 571 64 70 000 571

64 22 2 3 6 25 1 SZOLGÁLTATÁSOK 2 A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET,

110 tonna 4,9 tonna 70 g 1,8 tonna 4,5 kg 7 kg 40 kg 40 kg 71 kg

KÖSZÖNÖM A FIGYELMET! MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET, INFORMATIKA, TURISZTIKA ÉS VENDÉGLÁTÁS TERÜLETEN