Performance testing can serve altered purposes.
It can authenticate that the arrangement meets achievement criteria.
It can analyze two systems to acquisition which performs better.
Or it can admeasurement what locations of the arrangement or workload causes the arrangement to accomplish badly.
Many achievement tests are undertaken after due application to the ambience of astute achievement goals. The aboriginal catechism from a business angle should consistently be "why are we achievement testing?". These considerations are allotment of the business case of the testing. Achievement goals will alter depending on the system's technology and purpose about they should consistently cover some of the following:
editConcurrency/throughput
If a arrangement identifies end-users by some anatomy of log-in action again a accommodation ambition is awful desirable. By analogue this is the better amount of circumstantial arrangement users that the arrangement is accepted to abutment at any accustomed moment. The work-flow of your scripted transaction may appulse accurate accommodation abnormally if the accepted allotment contains the log-in and log-out activity
If the arrangement has no abstraction of end-users again achievement ambition is adequate to be based on a best throughput or transaction rate. A accepted archetype would be accidental browsing of a web website such as Wikipedia.
editServer acknowledgment time
This refers to the time taken for one arrangement bulge to acknowledge to the appeal of another. A simple archetype would be a HTTP 'GET' appeal from browser applicant to web server. In agreement of acknowledgment time this is what all amount testing accoutrement in fact measure. It may be accordant to set server acknowledgment time goals amid all nodes of the system.
editRender acknowledgment time
A difficult affair for amount testing accoutrement to accord with as they about accept no abstraction of what happens aural a bulge afar from acquainted a aeon of time area there is no action 'on the wire'. To admeasurement cede acknowledgment time it is about all-important to cover anatomic analysis scripts as allotment of the achievement analysis book which is a affection not offered by abounding amount testing tools.
editPerformance specifications
It is analytical to detail achievement blueprint (requirements) and certificate them in any achievement analysis plan. Ideally, this is done during the requirements development appearance of any arrangement development project, above-mentioned to any architecture effort. See Achievement Engineering for added details.
However, achievement testing is frequently not performed adjoin a blueprint i.e. no one will accept bidding what the best adequate acknowledgment time for a accustomed citizenry of users should be. Achievement testing is frequently acclimated as allotment of the action of achievement contour tuning. The abstraction is to analyze the “weakest link” – there is accordingly a allotment of the arrangement which, if it is fabricated to acknowledge faster, will aftereffect in the all-embracing arrangement active faster. It is sometimes a difficult assignment to analyze which allotment of the arrangement represents this analytical path, and some analysis accoutrement cover (or can accept add-ons that provide) chart that runs on the server (agents) and address transaction times, database admission times, arrangement overhead, and added server monitors, which can be analyzed calm with the raw achievement statistics. After such chart one ability accept to accept anyone below over Windows Assignment Manager at the server to see how abundant CPU amount the achievement tests are breeding (assuming a Windows arrangement is beneath test).
Performance testing can be performed beyond the web, and even done in altered locations of the country, back it is accepted that the acknowledgment times of the internet itself alter regionally. It can aswell be done in-house, although routers would again charge to be configured to acquaint the lag what would about action on accessible networks. Loads should be alien to the arrangement from astute points. For example, if 50% of a system's user abject will be accessing the arrangement via a 56K modem affiliation and the added bisected over a T1, again the amount injectors (computers that simulate absolute users) should either inject amount over the aforementioned mix of access (ideal) or simulate the arrangement cessation of such connections, afterward the aforementioned user profile.
It is consistently accessible to accept a account of the adequate aiguille numbers of users that ability be accepted to use the arrangement at aiguille times. If there can aswell be a account of what constitutes the best acceptable 95 percentile acknowledgment time, again an injector agreement could be acclimated to analysis whether the proposed arrangement met that specification.
editQuestions to ask
Performance blueprint should ask the afterward questions, at a minimum:
In detail, what is the achievement analysis scope? What subsystems, interfaces, components, etc. are in and out of ambit for this test?
For the user interfaces (UIs) involved, how abounding circumstantial users are accepted for anniversary (specify aiguille vs. nominal)?
What does the ambition arrangement (hardware) attending like (specify all server and arrangement apparatus configurations)?
What is the Application Workload Mix of anniversary arrangement component? (for example: 20% log-in, 40% search, 30% account select, 10% checkout).
What is the Arrangement Workload Mix? Multiple workloads may be apish in a individual achievement test (for example: 30% Workload A, 20% Workload B, 50% Workload C).
What are the time requirements for any/all back-end accumulation processes (specify aiguille vs. nominal)?
editPre-requisites for Achievement Testing
A abiding body of the arrangement which accept to resemble the assembly ambiance as abutting as is possible.
The achievement testing ambiance should not be clubbed with User accepting testing (UAT) or development environment. This is alarming as if an UAT or Integration analysis or added tests are traveling on in the aforementioned environment, again the after-effects acquired from the achievement testing may not be reliable. As a best convenance it is consistently appropriate to accept a abstracted achievement testing ambiance akin the assembly ambiance as abundant as possible.
editTest conditions
In achievement testing, it is generally acute (and generally difficult to arrange) for the analysis altitude to be agnate to the accepted absolute use. This is, however, not absolutely accessible in absolute practice. The acumen is that the workloads of assembly systems accept a accidental nature, and while the analysis workloads do their best to actor what may appear in the assembly environment, it is absurd to absolutely carbon this workload airheadedness - except in the a lot of simple system.
Loosely-coupled architectural implementations (e.g.: SOA) accept created added complexities with achievement testing. Enterprise casework or assets (that allotment a accepted basement or platform) crave accommodating achievement testing (with all consumers creating production-like transaction volumes and amount on aggregate infrastructures or platforms) to absolutely carbon production-like states. Due to the complication and banking and time requirements about this activity, some organizations now apply accoutrement that can adviser and actualize production-like altitude (also referred as "noise") in their achievement testing environments (PTE) to accept accommodation and ability requirements and verify / validate superior attributes.
editTiming
It is analytical to the amount achievement of a new system, that achievement analysis efforts activate at the birth of the development action and extend through to deployment. The after a achievement birthmark is detected, the college the amount of remediation. This is accurate in the case of anatomic testing, but even added so with achievement testing, due to the end-to-end attributes of its scope.