Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Modern szoftverfejlesztési folyamatok

Előnyök és új technikák

Az Agile, a DevOps és a CI/CD a modern szoftverfejlesztési folyamatok alappillérei, a gyorsan változó környezetben való boldoguláshoz nélkülözhetetlen alapelvek. A különböző iparágakban való bevezetésük sikertörténetekkel járt, ami meghozta a kedvet további alkalmazásukra, 2023 végére már a szervezetek 75%-a alkalmazza ezeket a gyakorlatokat. A Deloitte szakértői azokat a módszereket ismertetik, amelyek segíthetnek az agilis tesztelési célok, a tesztelés ütemezésének korlátjai és a szigorú teljesítménykövetelmények jobb kezelésében.

A Gartner előrejelzése szerint idén már a szervezetek 75%-a alkalmazza az agilis gyakorlatokat a termékfejlesztésben, a válaszadók az Agile-t és a DevOps-ot jelölték meg a következő 1-2 évben a beruházási fókuszban lévő legfontosabb minőségfejlesztési trendként. „Ez egyértelműen jelzi az Agile és a DevOps javára történő elmozdulást az olyan minőségmérnöki gyakorlatok iránti igénnyel együtt, mint a shift-left megközelítések és az automatizált folyamatos tesztelés. Elengedhetetlen, hogy a szervezetek újraértékeljék Agile és DevOps folyamataikat a tesztelés hatékonyságának maximalizálása érdekében, és finomítsák automatizálási stratégiáikat a valódi folyamatos tesztelés lehetővé tétele érdekében.” – mondta Bakó Béla, a Deloitte Magyarország Technológiai tanácsadás üzletágának menedzsere.

Mi a DevOps, az Agile és a CI/CD és hova fejlődhetnek?

A DevOps egyesíti a szoftverfejlesztést (Development), és az üzemeltetést (Operations), ezzel meggyorsítva és hatékonyabbá téve a munkát. A DevOps és az Agile üzleti vezetőket, fejlesztőket és IT-üzemeltetési munkatársakat egyesít többfunkciós csapatokban, így a magas szintű technológiai automatizálás és együttműködés racionalizálásával alakítja át a szoftverszállítást. A Deloitte felmérésének válaszadói számos, a DevOps által realizált előnyt soroltak fel (1. ábra), köztük első helyen a problémák gyorsabb megoldását (74%). A rövidebb piacra jutási idő (62%), a folyamatos szoftverszállítás (60%) és a stabilabb működési környezet (58%) szintén magasan végzett, és a válaszadók 99%-a jelezte, hogy használja a DevOps-ot. Nagy léptékben használva a DevOps segít a vállalatoknak abban, hogy jelentősen csökkentsék a szoftverhibák számát és gyorsabban piacra tudják dobni a termékeket. Ez fenntartható versenyelőnyhöz vezet.

20 évvel az Agilis Kiáltvány megalkotása után az agilis gyakorlatok tovább fejlődnek és terjednek a tovább funkcióik az iparágak között. A megvalósítási modell a szoftverfejlesztési és informatikai részlegeken túl olyan területekre is kiterjedt, mint az agilis audit, az agilis költségvetés-tervezés vagy az agilis HR. A gyártóipartól kezdve a kiskereskedelmen át az energiaiparig az ágazatok aktívan befektetnek.

A CI/CD olyan módszertan a szoftverfejlesztésben, amely a folyamatos integrációt és a folyamatos szállítást egyesíti, (Continuous Integration CI, Continuous Delivery, CD) de ma már több, mint a szoftverfejlesztés és -szállítás egyszerű megközelítése. A felhő-natív alkalmazások telepítésének szerves és elválaszthatatlan összetevőjévé vált, amelyek robusztusabbá válnak, ha fejlesztésüket CI/CD módszerekkel integrálják. Az olyan vállalatok, mint például az Amazon és a Netflix, minden szakaszban alkalmazzák a DevOpsot, a CI/CD folyamatokat és az automatizálást a kód napi több ezer alkalommal történő telepítéséhez. A hagyományos szoftverszállítási módszerek nem alkalmasak a felhősebességű szállításra. A szervezetek ma már olyan skálázható alkalmazásokat akarnak, amelyek a konténerek, mikroszolgáltatások, szolgáltatáshálók és virtuális gépek felhasználásával magán, nyilvános és hibrid felhőinfrastruktúrán futnak. Az Agile, a DevOps és a CI/CD számára optimalizált tehetségmodellek továbbképzése és frissítése kritikus lépés (2. ábra).

Fontos még az ún. ‘pod’ modell is, amely egyre nagyobb teret nyer a szervezetek körében. A podok olyan önálló, önszerveződő, különböző kompetenciákkal felszerelt csapatok, amelyek teljes mértékben magukénak érzik és irányítják a termék iteratív szállítását. Ha a podok speciális és egymást kiegészítő készségekkel rendelkező emberekből állnak, jelentősen javíthatják a döntéshozatalt, segíthetik a termékfókuszálást, valamint a termék gyorsabb építését, tesztelését és kiadását.” – mondta Szász Beáta, a Deloitte technológiai tanácsadás üzletágának szenior tanácsadója.

A minőségfejlesztés és az agilitás művészete, a tesztelés legfontosabb technikái

A minőségfejlesztő csapatoknak folyamatosan kihívást jelent, hogy kevesebb idő alatt, kevesebb emberi erőforrással végezzék el a tesztelési tevékenységeket. Amikor a projekt ütemtervei összeomlanak, gyakran a tesztelési tevékenységek terjedelme és időtartama az első, ami hatással lehet a minőségre. A nagy teljesítményű, skálázható, biztonságos és funkcionális rendszerekkel kapcsolatos elvárások miatt azonban a magas minőség nem lehet kérdés. Az agilis és a DevOps gyakorlatok segíthetnek enyhíteni ezt a feszültséget, előnyeiket látva azonban nem szabad azt hinni, hogy könnyű eljutni alkalmazásukig. A Deloitte felmérésének válaszadói jelezték, hogy még mindig számos, teszteléssel kapcsolatos kihívással szembesülnek az agilis és devOps gyakorlatok bevezetése során (3. ábra). Ezek közül a szervezeti kultúrával (56%), a technikailag kompetens erőforrások szükségességével (46%), valamint a folyamatos tesztelési megközelítésekkel kapcsolatos kihívások (46%) a leggyakoribbak.

Számos olyan technika létezik, amely segíthet az agilis tesztelési célok, a tesztelés ütemezésének korlátjai, és a szigorú teljesítménykövetelmények jobb kezelésében.

A sprint közbeni automatizálás az agilis szoftverfejlesztési folyamat szerves része, amely segíthet a rövid fejlesztési ciklusok, illetve a követelmények gyakori változásai esetén, valamint akkor, ha a tesztek kis időablakon belüli megtervezése és végrehajtása szükséges. A cél itt az automatizálási tesztszkriptek alkalmazásfejlesztéssel párhuzamosan, ugyanazon sprinten belül történő fejlesztése és végrehajtása. A sprint befejezésekor az automatizált tesztek a regressziósteszt-készlet részévé válnak.

A TestOps („shift-right”) módszertan az alkalmazás életciklusának kiadás előtti és utáni szakaszaiban történő nagyobb arányú tesztelést (azaz a gyártás közbeni tesztelést) támogatja. A lényege, hogy a vállalkozások elfogadható minőségi szinteket határoznak meg a gyorsabb piacra jutás érdekében, majd gyors javítási módszereket alkalmaznak a hibák kezelésére vagy a változások visszaállítására, amennyiben problémákat észlelnek.

A tesztvezérelt fejlesztés (TDD) a fejlesztés evolúciós megközelítése, amely a tényleges szoftver fejlesztése előtt egységtesztek írását foglalja magában. Ez a megközelítés segíti a fejlesztőket abban, hogy a kódot úgy írják át, hogy az megfeleljen a teszteknek, ami minimális fejlesztési erőfeszítéssel jár, amely elsősorban a tesztkövetelmények teljesítésére összpontosít. Mivel a tesztek fejlesztése előre történik, a regressziós tesztelésre szánt idő is jelentősen csökken.

A viselkedésvezérelt fejlesztés (BDD) ösztönzi a projektben érdekelt személyek közötti előzetes kommunikációt, így a fejlesztési folyamat előtt minden tag megérti az egyes funkciókat. A BDD-ben a tesztelők, a fejlesztők és a terméktulajdonosok „forgatókönyveket” hoznak létre, amelyek megkönnyítik a példákra összpontosító kommunikációt. A BDD elősegíti a szoros együttműködést az üzleti és a műszaki csapatok között, és javítja a projekt előrehaladásának átláthatóságát. A BDD használatával az érdekeltek kiküszöbölhetik a kétértelműségeket a termékfejlesztés teljes életciklusa során, kezdve a felhasználói történetek létrehozásától a szoftver sikeres tesztelésén és telepítésén át.

Az A/B tesztelés (más néven osztott tesztelés) során a weboldal látogatóinak különböző szegmensei számára egyszerre mutatják meg ugyanazon weboldal vagy mobil képernyő két változatát, majd összehasonlítják, hogy melyik változat eredményez több konverziót. Az A/B tesztelés során általában az a változat nyer, amelyik nagyobb konverziót eredményez, és ez a változat segíthet az alkalmazások optimalizálásában a jobb eredmények érdekében. Az A/B tesztelés lehetővé teszi a korai visszajelzést, hogy a végfelhasználók által preferált, minimálisan életképes termékeket tudjunk létrehozni. Ez a tesztelési módszer lehetővé teszi a szervezetek számára, hogy hipotéziseket állítsanak fel, majd menet közben tanuljanak és finomítsák bizonyos felhasználói élményelemekre vonatkozó telepítési stratégiájukat.

Az API-tesztelés segít az API-k funkcionalitásának, megbízhatóságának, teljesítményének és biztonságának validálásában. Ahelyett, hogy a szabványos felhasználói bemenetekre és kimenetekre támaszkodna az alkalmazás logikájának teszteléséhez, az API-tesztek az üzenetrétegen, grafikus felhasználói felület (GUI) használata nélkül történnek. Ez segít az alkalmazás logikájának validálásában olyan esetekben, ahol a gyakori változások vagy a rövid kiadási ciklusok miatt nem lehetséges a GUI-tesztelés. Az API-tesztelés a tesztelés számos aspektusát lefedi, beleértve a funkcionális tesztelést, a biztonsági tesztelést és a terheléses tesztelést.

A „dogfooding” egy termék belső bétatesztelése a termék bevezetése előtti iteráció és finomítás érdekében. A módszer lényege, hogy a termék létrehozói és a vállalat alkalmazottai a felhasználók bőrébe bújnak, hogy első kézből tapasztalják meg azokat a problémákat vagy fájdalmas pontokat, amelyekkel az ügyfelek a való életben szembesülnének. Ez a technika javítja a minőséget, és segít megelőzni az idő előtt kiadott termékre adott kedvezőtlen piaci reakciókat. A szoftverfejlesztésben, a gyártásban és más iparágakban részt vevő szervezeteknél ez mára bevett gyakorlattá vált. Segít növelni az általános UX-tudatosságot a szervezeten belül, és nagy költségeket takaríthat meg (pl. lehetséges garanciák).

Az agilis, a DevOps és a CI/CD módszertanok elősegítik a fejlesztési, tesztelési és üzleti csapatok közötti együttműködést, felgyorsítják a szoftverfejlesztést, javítják a termékminőséget és automatizálják a szoftverszállítási folyamatot. Mindez segíti a szervezeteket abban, hogy jobban reagáljanak a gyorsan változó piaci körülményekre, versenyelőnyre tegyenek szert, és növekedést érjenek el.” – foglalta össze Bakó Béla, a Deloitte Magyarország Technológiai tanácsadás üzletágának menedzsere.