Performance, Load And Stress Testing - A Developer's Guide
Wednesday 03 Jul 2013 at 23:00
UserGroup
|
testing
This post is a write-up of a user group session at ChesterDevs on 3rd July 2013, delivered by Rob Tonnesson
- Performance testing is adding more and more load until the application breaks.
- Load testing is defining a load that is "real-world" and repeating tests against this load to ensure adequate performance of the application of the user.
- Stress testing involves running the application turn off or removing resources such as databases, networks and monitoring how the application handles it.
- Rob uses Visual Studio Team Test for the demos. This requires the Ultimate edition of Visual Studio and also requires the Visual Studio Agents to be installed.
- For successful testing you'll need to "build a baseline". This involves finding the "best" and "worst" times to test against (e.g. A Friday night in a hospital's A&E department may be a good "worst" time).
- Visual Studio Test project for load testing using MS Test with the "test context" with a "load test profile" as part of the solution.
- You can feed environment statistics (CPU, RAM, Network etc.) back into test runs to increase or decrease test load (e.g Ramp up until CPU hits 70% load).
- Rob works for a company that makes software called "Medway". It's a patient administration system sold to healthcare organisations.
- A typical site load for the Medway software is approximately 400,000 transactions per hour.
- The Service Level Agreement (SLA) is that each and every transaction (from the UI, through to application to the database and back again) has to be under 2 seconds.
Search
Categories
Tags
conferences (27)
development (27)
dotnet (21)
ddd (20)
c# (8)
asp.net (8)
microsoft (6)
razor (5)
certification (5)
database (4)
ssh (4)
sql (3)
cloud (3)
ssl (3)
bitbucket (3)
github (3)
intellisense (3)
extensions (3)
aws (2)
jquery (2)
knockout (2)
windows (2)
mercurial (2)
javascript (2)
powerbi (1)
analytics (1)
staticanalysis (1)
software (1)
review (1)
visualstudio (1)
analysis (1)
codeclones (1)
entityframework (1)
mysql (1)
automapper (1)
upgrade (1)
binding (1)
select (1)
validation (1)
putty (1)
hosts (1)
ci (1)
git (1)
nuget (1)
files (1)
encoding (1)
stacked (1)
azure (1)
owin (1)
authorisation (1)
webapi (1)
mvc (1)
web (1)
testing (1)
security (1)
sourcecontrol (1)
administrator (1)
keyboard (1)
motivation (1)
autonomy (1)
fizzbuzz (1)