Performance and Load test Early in the Dev cycle
We are trying to start adding Load and Performance testing early in the development process. Traditionally we do it much later in the process when the code is stable but recent revelations has us thinking of ways to improve it. Do any of you have any suggestions for the type of test that would make more sense to do performance/load early on?
Re: Performance and Load test Early in the Dev cycle
<ul type="square">[*] Capture specific and measurable performance requirements. Force Architecture, Development, Platform Engineering and Functional QA to sign off on these items.[*] Measure the performance of all builds at the unit and component assembly phases. When you have a build to build deviation where performance declines fix it right then and there, not in later phases. [*] If you have an exception to performance requirements at any point, even prior to traditional performance testing, cite it as a defect and fix it right then. The longer you wait the more expensive it becomes to fix. Something identified at the Architecture phase is relatively easy and not very costly to fix versus finding it just before deployment[*] If it doesn't work for one, it will never scale for many. Measure performance in functional testing and cite the performance defects when they occur even for a single user on the system.[*] Nail the Schema for the database. Make sure that all queries are appropriately supported by indexes for proper performance. Place the schema and queries early. Use your tools to performance test the database even as parts of the system are being constructed.[*] Don't forget the network. A network unfriendly design (lots of backs and forths to fulfill a business process) can kill an application by introducing scads of turn latency to the execution of the business process. Consider the use of network test tools (Spirent or Ixia) to test the network independent of the application to ensure that even on a network basis the application is a solid performer. If not, you will either need to "fix" the network or "fix" the app. If your application is internet facing, then you have only one path: Fix the app.[*] Make sure you are managing cache and compression effectively in your deployment of your app. Messing up here could kill the performance of a well constructed application[*] Work with your project manager is aware of the requirements and all of the tasks and deliverables associated with a traditional performance test effort. There are few things more frustrating that a performance testing practice getting the blame for a failed effort when the program manager dramatically undercut the number of days required to test because they did not understand all of the tasks, all of the environment dependencies and the time required for setup, execution and resolution of issues. Spend a solid day with your PM to ensure that they are not doing something crazy like," I have allotted two days for performance testing...."[*] Circling back to requirements. Get Solid ones. Makes sure they are objective, measurable, achievable. Prioritize them. This has been deliberately included twice to emphasize the critical nature of getting solid performance requirements that the whole organization accepts and that the success of most of the other areas really depends upon requirements.[/list]
Replace ineffective offshore contracts, LoadRunnerByTheHour
. Starting @ $19.95/hr USD.
Put us to the test, skilled expertise is less expensive than you might imagine.
Twitter: @LoadRunnerBTH @PerfBytes