PERFORMANCE TEST EmbedIT 21st April 2015 Petr Střítecký, Michal Godar Definition <2> ˂ Performance test determines how a system performs in items of responsiveness and stability under a particular workload ˂ It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage http://en.wikipedia.org/wiki/Software_performance_testing ˂ Prove that the system in a new version is stable under the real workload ˂ Prevent future performance issues ˂ Perform tests which can‘t be executed manually ˂ Help to increase system overall stability ˂ Set the limits and find the bottlenecks of the application ˂ Ensure that application will be ready for business attractive terms Motivation <3> Processes architecture and technologies <4> Processes architecture and technologies <5> Processes architecture and technologies <6> Processes architecture and technologies ˂ Performance test prerequisites ˂ non-functional requirements ˂ functional specification ˂ Test data preparation ˂ static data ˂ random generated data ˂ load required data from database ˂ production data scaling - synthetic data ˂ Issue reporting ˂ test run evaluation ˂ issues are created in tracking system <7> Processes architecture and technologies ˂ Silk Performer ˂ Overall management of the performance test Application recording Code adjustments Workload and agents configuration Test run and monitoring Results analysis ˂ Structural programming language ˂ Wide protocol support ˂ Front-end diagnostics from the end user perspective - TrueLog <8> Processes architecture and technologies <9> ˂ Other supported protocols ˂ Expected scenarios ˂ Non-functional requirematns <10> Baseline test Requirements ˂ Workload Questionnaire Workload Baseline test Run <11> Monitor Baseline test HW Monitoring ˂ Database ˂ Oracle Enterprise Manager ˂ AWR Report ˂ ASH Report ˂ Nagios <12> ˂ Application server ˂ WebLogic DomainHealth ˂ Application logs ˂ Oracle JRockit ˂ Nagios Baseline test Results ˂ Analyze client site data <13> ˂ Report Other test <14> ˂ Stress test ˂ Finding application limits and bottlenecks ˂ Module test ˂ Detailed, focused on internal module performance ˂ What-if test ˂ Simulate unusual state and check if the system is able to handle it ˂ Comparative HW test ˂ Same application is tested on different HW platform Questions? Conclusion <15>