Quality on SubmitContinuous integration in practiceNir KorenDevelopment Integration Lead, SAP Labs IsraelJune 2012        ...
Quality On SubmitEnd to end SW development quality process thatprovides instant feedback and transparency to theSCRUM team...
Motivation           THE COST OF FIXING A BUG                                                                            1...
Motivation – Cont’The nightly build was broken  no systems for todayWho broke the build?Who broke the runtime?How many ch...
Code checked-out into SCM                                                                                                 ...
BuildJenkins SCM Plugin (P4, GIT, etc’)Listen to the SCM and trigger the QOSprocess.Compilation starts (Maven / Ant / etc’...
DeployA dedicated reference system isdeployed with the new build results.This system is always updated to the             ...
Unit TestsAll Unit tests are detached from thebuild process.Supports any kind of unit tests likeNUnit, JUnit, etc.Reports ...
API TestsRun on the deployed system.Supports various methods likeJMeter, soapUI, etc.Reports provided via Jenkins plugins ...
Java Script TestsSupport JSLint for JS Static CodeAnalysis and JsUnit tests like Jasmine.Reports provided via Jenkins plug...
SonarOpen source static code analysis platformRich HTML dashboardsNumerous plug-insViolations, components, hotspots, time ...
FortifyLicensed security test tool by HP.Scan the current static code and detectssecurity violations.Provide rich HTML das...
UI AutomationSet of Integration tests executedSupports various technologies like HPQTP, Selenium, Sikuli and more.Reports ...
Data saved into a DBAll data is saved into a DB.QOS Cycles statistics can be generated.Developers’ typical behavior can be...
Email NotificationNotification sent to the implementation team Transparency to the implementation team.Elaborated status ...
GamificationOptional connection to a Gamification systemwhich calculate phases results and provideranks and badges.Increas...
Product Team TransparencyDaily report sent to the product team  Transparency© 2012 SAP AG. All rights reserved.          ...
QOS  End To End Quality    Instant feedback in ~15 minutes.    Increased team responsibility and quality awareness    ...
Prerequisites                                         Build                      TestSplit your unit tests from your build...
Quality On Submit in SAP• SAPPatent pending application title "Quality on Submit Process”. Ref: 2010P00489US• Run         ...
Thank you!  Nir Koren  Development Integration Lead  SAP Labs Israel | nir.koren@sap.com© 2012 SAP AG. All rights reserved...
Upcoming SlideShare
Loading in...5
×

Quality on Submit

1,403

Published on

Quality on Submit
By Nir Koren @ AgileIL12

http://agilesparks.com/PechaKucha2

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,403
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Quality on Submit

  1. 1. Quality on SubmitContinuous integration in practiceNir KorenDevelopment Integration Lead, SAP Labs IsraelJune 2012 SAP Patent pending application title "Quality on Submit Process”. Ref: 2010P00489US
  2. 2. Quality On SubmitEnd to end SW development quality process thatprovides instant feedback and transparency to theSCRUM teams.© 2012 SAP AG. All rights reserved. 2
  3. 3. Motivation THE COST OF FIXING A BUG 16,000 $ 1,000 $ 25 $ Coding Unit Test QA Testing Field Test Post release Applied Software Measurement, Capers Jones 1996© 2012 SAP AG. All rights reserved. 3
  4. 4. Motivation – Cont’The nightly build was broken  no systems for todayWho broke the build?Who broke the runtime?How many changes do we have today?Did Jack already check-in his stuff?What is the status of our product today? Now?Why do we fix PMD issues right before the release© 2012 SAP AG. All rights reserved. 4
  5. 5. Code checked-out into SCM Build Test SCM Server Integrate Developer CI Server Code Change Listen Start automated chain Deploy Scan Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 5
  6. 6. BuildJenkins SCM Plugin (P4, GIT, etc’)Listen to the SCM and trigger the QOSprocess.Compilation starts (Maven / Ant / etc’) SCM Server Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 6
  7. 7. DeployA dedicated reference system isdeployed with the new build results.This system is always updated to the Continuouslylatest code state. Deployed REF System Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 7
  8. 8. Unit TestsAll Unit tests are detached from thebuild process.Supports any kind of unit tests likeNUnit, JUnit, etc.Reports provided via Jenkins pluginslike surefire Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 8
  9. 9. API TestsRun on the deployed system.Supports various methods likeJMeter, soapUI, etc.Reports provided via Jenkins plugins Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 9
  10. 10. Java Script TestsSupport JSLint for JS Static CodeAnalysis and JsUnit tests like Jasmine.Reports provided via Jenkins plugins Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 10
  11. 11. SonarOpen source static code analysis platformRich HTML dashboardsNumerous plug-insViolations, components, hotspots, time machineand a lot more… Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 11
  12. 12. FortifyLicensed security test tool by HP.Scan the current static code and detectssecurity violations.Provide rich HTML dashboards Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 12
  13. 13. UI AutomationSet of Integration tests executedSupports various technologies like HPQTP, Selenium, Sikuli and more.Reports provided via Jenkins plugins or byany external provider. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 13
  14. 14. Data saved into a DBAll data is saved into a DB.QOS Cycles statistics can be generated.Developers’ typical behavior can be viewedfrom this DB. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 14
  15. 15. Email NotificationNotification sent to the implementation team Transparency to the implementation team.Elaborated status and links for all phases. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 15
  16. 16. GamificationOptional connection to a Gamification systemwhich calculate phases results and provideranks and badges.Increase the fun in development.Increase the drive for quality. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save© 2012 SAP AG. All rights reserved. 16
  17. 17. Product Team TransparencyDaily report sent to the product team  Transparency© 2012 SAP AG. All rights reserved. 17
  18. 18. QOS  End To End Quality Instant feedback in ~15 minutes. Increased team responsibility and quality awareness Rewards development for quality Makes TDD realistic and drives towards it© 2012 SAP AG. All rights reserved. 18
  19. 19. Prerequisites Build TestSplit your unit tests from your build. IntegrateSplit your build and make it short.Make your tests in short cycles. Deploy ScanMake you tests reliableAvoid false alarms© 2012 SAP AG. All rights reserved. 19
  20. 20. Quality On Submit in SAP• SAPPatent pending application title "Quality on Submit Process”. Ref: 2010P00489US• Run in productive on-demand and on-premise products• Proved as a best method for quality in short cycles• Awarded SAP Labs Israel as one of the lab’s strengths© 2012 SAP AG. All rights reserved. 20
  21. 21. Thank you! Nir Koren Development Integration Lead SAP Labs Israel | nir.koren@sap.com© 2012 SAP AG. All rights reserved. 21
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×