This is the first level bullet for notes 12 point Arial Regular This is the second level bullet for notes 9 point Arial Regular This is the third level bullet for notes 9 point Arial Regular
Software Quality in the Enterprise Case study Győrfi Csaba 2016
Amiről szó fog esni Mit jelent a CI egy enterprise SW környezetben, miért volt rá szükségünk? Milyen infrastruktúrát építettünk fel, milyen Tool-okat használunk (build, integration, teszt)? Milyen lépcsőkön halad át a kód a build folyamán? Ne felejtsük el az enterprise környezet sajátosságait: Legacy kódbázis C++, nem Java, VS2008. Könnyű TDD-zni és CI-t megvalósítani egy újonnan induló Java projekten Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Server (System Manager) A mi termékünk (OSX)... Server (System Manager) Windows C++ C# Java Mediaserver (MLC) Linux C++ Client Windwos (C++) Az architektúránk 1 vagy néhány szerverből, néhány – néhány 10 médiaszerverből, és néhány 10 – néhány ezer kliensből áll. Kliens futhat asztali PC-n -> softKliens, vagy futhat célhardveren – ez utóbbi látható jobb alul Látható milyen széles a paletta, a központi integráció igénye még az agilis átállás előtt jóval megszületett, mert a win és linux fejlesztő nem ugyanaz a faj... Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Az integráció evolúciója mert a követelmények mindig nőnek... +MultiJob Plugin Központi integráció elkerülhetetlen -> Integration server +Inheritance Plugin Jó-jó, de nagyon sokáig tart a build Gyors(abb) visszajelzést szeretnének a fejlesztők -> Quick build Jó-jó, de legyen minden éjjel hivatalos build. A Scrum team-eknek minden reggelre kell egy build -> Safe production Jó-jó, de legyen automatikus tesztelés Kódanalízis ... ...... Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Nightly build Process Coverity (Static code analysis for C++) Sonar (Static code analysis for Java) Triggers Addministers Autotest Server (Selenium, Web-GUI frontend) Push Triggers Builds SW Developer SCM CI Autotest Client (Functional test, Acoustic test, E2E tests) Reports Instrumented SW Reports QM-DB Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Infrastructure management node default { } node 'prodpc04', 'prodpc05', 'devqm01', 'V2008R2-PROD10', 'V2008R2-PROD11', 'V2008R2-PROD12', 'V2008R2-PROD13', 'PRODPC14' { include java32, win, jenkins, prodpc_win file { 'c:\\hello.txt': content => "Hello Prodpc_win\n", } node 'prodpc06', 'prodpc07' { include java32, win, prodpc_win node /^vsm-smdevaut\d\d/ { include java64, win, jenkins, testpc_win content => "Hello TestPC-win\n", Miként garantálható a stabil hw, a konzisztens sw környezet, és ezáltal a stabil működés? class java32 { package { 'Java 8 Update 92': ensure => '8.0.920.14', source => '\\\\devqm02\\Puppet_Repo\\java\\jdk-8u92-windows-i586.exe', install_options => [ '/s', 'INSTALLDIR=C:\\Program Files (x86)\\Java\\jdk1.8.0_92' ], alias => 'JDK', } class win { package { 'Git version 2.6.3': ensure => '2.6.3', source => '\\\\devqm02\\Puppet_Repo\\GIT\\Git-2.6.3-64-bit.exe', install_options => ['/VERYSILENT', '/LOADINF=\\\\192.168.9.180\\Puppet_Repo\\GIT\\SetupParams.ini'], alias => 'Git', Puppet Windows, Linux Virtual / Physical systems On demand / daemon Good community Structured Configuration FREE Zabbix Jenkins Master ...... Build slaves for V5 ...... Build slaves for V6 ...... Build slaves for scripts ...... Test runner slaves Stabilitás két szintje: HW elementek monitorozása: HDD hely, Memória, CPU terhelés stb SW stack szinkronban tartása a tesztek stabilitásáért SW stack módosítása nem kézzel 50 gépen, hanem automatikusan. Cca 15 systems Cca 40 systems Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
A tesztelés három (négy) szintje Tesztelés a regressziós csapat által – release előtt Teljes regressziós teszt (funkcionális teszt) Exploratory tesztek Loadtest, Performance test, Stresstest Automatikus teszt – minden éjszakai build után Automatikus regressziós tesztek, mérések Statikus kódanalízis Dinamikus kódanalízis Tesztelés a scrum csapatokban - folyamatosan Az éjszakai automata teszthibák ellenőrzések Hibajavítások tesztelése Feature teszte Automatikus tesztek írása +1 szint az ún „Field trial”: egy „merész” ügyfél rendszerén, ipari körülmények között Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Na de mi van a QM-DB-ben? Avagy keep calm and do report. Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Hibalehetőségek mert ami elromolhat, az el is romlik. Git Hálózat Teszt kód Vsphere (Virtuális rendszer) Jenkins Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
Fejlődési potenciálok, tervek a jövőre Formalizált, tool-vezérelt kódreview (gerrit) Automatikus tesztek kódlefedettség mérése ... Copyright © Unify Software and Solutions GmbH & Co. KG 2015. All rights reserved.
This is the first level bullet for notes 12 point Arial Regular This is the second level bullet for notes 9 point Arial Regular This is the third level bullet for notes 9 point Arial Regular