ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integration: an innovative approach for efficient quality and performance assurance in Java development projects"
Incorporating Performance Testing in Agile Development Process
Similar a ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integration: an innovative approach for efficient quality and performance assurance in Java development projects"
Similar a ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integration: an innovative approach for efficient quality and performance assurance in Java development projects" (20)
Designing IA for AI - Information Architecture Conference 2024
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integration: an innovative approach for efficient quality and performance assurance in Java development projects"
2. adhoc Performance Engineering – The Genesis in 2002 Engineering (established since 19th century): „systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of mankind“ Software Engineering (first use in 1968): „the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of a software, that is the application of engineering to software.“ --IEEE Standard 610.12 adhoc Performance Engineering: „ the application of a systematic, disciplined, quantifiable, cost-effective approach to the Definition, Evaluation and Maintenance of an application performance, that is the application of engineering to application performance -- adhoc PES, 2002
3. APEP (adhoc Performance Engineering Process) is the first and proven life-cycle approach to master application Performance challenges (at that time!) Awareness of Business & Ops ( Scenario-driven/ modeling) Visibility inside the application stack (Application-centric instrumentation and monitoring) Life Cycle Process Model ( Life-Cycle Integration and Continuity) Performance Engineering – An Overview
4. Performance Engineering is the IT practice of ensuring optimized application performance across the whole life cycle Performance Engineering – in 2011…after more than 800 projects
25. Improve your IT Performance Management Maturity Continuous Improvement Performance Management Industrialization for Strategic Application Platforms Production Incidents /Troubleshooting & Sporadic/Primitive tests Performance Engineering for selected business critical applications IT Performance Governance
27. What about APM for Engineering? Architects & Developers?
28. Performance can be addressed by adding more HW and/or tuning DB In case of issues we use profilers or add additional log entries We have to deliver functionalities – No time for performance engineering: scripting, instrumentation, analysis… As we do not have a production-like environment, it does not make sense to test performance in dev or integration Additional load testing skills and licenses are required. So we take the risks… 5 Reasons for architects & developers not to “adopt” Performance Engineering
29. Performance engineering tools should be deployable as an extension of the dev and integration environment Leveraging and reuse of standard Java engineering artifacts (code, unit test scripts, Java Doc…) Effort and activities interferences with dev and architecture tasks should be minimized What you invest can be re-used during load & performance test and production 3 level support TCO should be adequate to dev and integration TCO’s 5 requirements to get “Java Architects & Developers” on board
31. Factors impacting performance in development phase Application: Architecture Design Implementation Load: Concurrent users Performance Engineering for Java development
32. PE for Java Dev as a « Performance White box » testingprocess
38. Launch project Build task Build, package and deploy the application Check the source code quality (design, implementation, etc..) using SONAR Execution
39. Project build successful the Script Player task will be launched automatically Start a performance test session Execution
40. Execution Monitoring using Performance Studio Console Survey performance metrics in real time Offer facilities to analyze data (search, statistics, etc..)
41. Survey Hudson dashboards Provides metrics related to each build Average response time 90% response time Iteration count Execution
42.
43. Continuous Performance Regression Testing – Detect them in time during Dev and Integration Minimize time & efforts to detect Performance regression caused by “the last build”! Optimized Use of pre-production environment - The “daily challenge” of Performance Testers: Limited availability of production-like test environment; Use it for Testing and not for scripting! Improve efficiency and Performance Test Coverage Close the Gap between Architects/Developers and Performance Testers Industrialization: “Key Instrumentation Points” as a part of the application package to deploy in Pre-Production 5 Reasons for Continuous Integration & Performance
44. THANK YOU FOR YOUR ATTENTION adhoc International France 24 ave Hoche 75008 Paris France +33 (0)1 73 02 32 46 paris@adhoc-international.com adhoc International Deutschland BockenheimerLandstrasse 17/19 60325 Frankfurt Germany + 41 61 723 01 88 adhoc International Maroc Hay Ryad Rabat rabat@adhoc-international.com adhoc International Switzerland adhoc PES AG Leonhardsberg 14 4051 Basel Schweiz + 41 61 723 01 88 info@adhoc-international.com adhoc International Tunisie adhoc CTS International City Center Centre Urbain Nord – 1082 Tunis Tunisie + 216 71 23 37 33 tunis@adhoc-international.com adhoc International - Lab R&D adhoc ISL Sarl Avenue Madrid Skanès, 5000 Monastir, Tunisie + 216 73 503 303