User Interface (UI) design - Take advantage of any opportunity to influence the UI design of the application. A solid, consistent UI allows you to create reusable sub-routines. In turn, you can write less test code, and consequently have less code to maintain.
Test plan - A thoughtful test plan is a prerequisite of successful GUI-based load testing. In your test plan you should define your goals, objectives, test runs, critical metrics, and others.
Use cases - Use cases are step-by-step scenarios that you plan to test. Use cases represent typical user-to-application interaction, for example starting an application, opening a project, editing settings, and others. Your use cases guide you through the recording process.
Application expert - Even when equipped with well documented use cases you may not be able to make sense of all of an application’s workflow. It is helpful to have access to someone who has expert knowledge of the application under test, for example a business process owner.
Screen resolution - The higher the screen resolution, the higher the system requirements are per terminal session. We recommend you use a screen resolution of no more than 800x600 for record and replay. This approach allows for compatibility with older computers, which you then have the opportunity of including in your load tests.
Remote users - If your application is to be available to remote users, consider simulating a slow network during some of your load tests. Slow network connections can have a major impact on the performance of applications, therefore additional tests with simulated network congestion may help improve your test results. You can use the network emulation functionality of Silk Performer for this purpose.
The first thing to do when planning your load test is to define your goals. While testers often assume that their goals are clear to all involved parties, they often are not. It is important that the quality assurance team and management work toward the same goals.
When writing up goals, first consider your highest-level goals:
Once you have established your high-level goals, you need to break them down into clear, measurable objectives, covering issues such as how you plan to accomplish your goals, how you plan to measure your goals, and what results will be considered acceptable.
Here is an example of how you might break down your testing goals:
Goal #1: Discover and document the baseline performance of your application
Critical timers:
Goal #2: Optimize/tune the application
Goal #3: Determine if the application under test is ready for production
With a list of measurable objectives, your test results define a definite point at which the application will be ready for production. This also eliminates the risk of endlessly optimizing the application as tuning it to the defined goal is adequate.