330 likes | 501 Views
Automating your Website Testing. By Andrew L. Pollner and Lei Wang ALP International Corporation. Why Load Test?. To Simulate Multiple Users on a System To Measure end-to-end performance To Measure Server Performance: Database (Oracle) Application (CF) Middleware (Web Logic)
E N D
Automating your Website Testing By Andrew L. Pollner and Lei Wang ALP International Corporation
Why Load Test? • To Simulate Multiple Users on a System • To Measure end-to-end performance • To Measure Server Performance: • Database (Oracle) • Application (CF) • Middleware (Web Logic) • Web (Netscape)
When Should Loadtesting Occur? • When sizing a server • After Application Has Stabilized • When other users are not on the system • After notifying Sys Admin.s, DBA’s, Test Managers
What’s Needed for Loadtesting? Knowledge of: • Application • Database • Environment • LoadRunner!
Transaction Rendezvous Measured event (i.e. Time it takes to return data to a screen after a QUERY button is pressed) Synchronized point where transaction is to occur simultaneously Loadtesting Concepts - Part I
Vuser Sgroup Scenario A defined user type which executes a specific test A group of Vusers which with a characteristic profile A combination of sgroups Loadtesting Concepts - Part II
Types of Vusers • Web • C/S GUI • Terminal Emulation • SQL
Using LoadRunner - Web • Record HTTP Script • Generalize trace • Add Transaction points: • start_transaction(“ClaimWriteback”) • end_transaction(“ClaimWriteback”, PASS) • Add Rendezvous: • rendezvous(“Login”) rendezvous(“ClaimWriteback”)
Login Login Login Enter Data Enter Data Enter Data Save Data Save Data Save Data Start Synchronization Rendevouz 1 ==> Rendevouz 2 ==> Rendevouz 3 ==>
Login Enter Data Login Save Data Enter Data Login Save Data Enter Data Save Data Step Synchronization Rendevouz 1 ==> Rendevouz 2 ==> Rendevouz 3 ==>
Using LoadRunner - DB • Get SQL trace • Generalize SQL trace • Add Transaction points: • start_transaction(“ClaimWriteback”) • end_transaction(“ClaimWriteback”, PASS) • Add Rendezvous: • rendezvous(“Login”) rendezvous(“ClaimWriteback”)
Product Categories • GUI/Web vusers • Netscape Browser • IE Browser • Client Server • RTE vusers • Terminal Emulation • SQL (dB) vusers • Client Server
LoadRunner Family of Products • Both Client AND Server Load Testing • Wide range of platforms • Win 2000 • NT • Win95/98 • UNIX • Reporting • Automatically for each user • By transaction
WAN/ Internet Client AND Server Load TestingTesting the Site • Single point of control: Controller SYBASE SERVER SQL SERVER NT
WAN/ Internet Client AND Server Load TestingTesting the Site • Single point of control: Controller • Drive multiple real NT GUI clients :End-to-End SYBASE SERVER SQL SERVER NT
WAN/ Internet Client AND Server Load TestingTesting the Site • Single point of control: Controller • Drive multiple real NT GUI clients : End-to-End • Stress SQL Server with multiple virtual NT clients SYBASE SERVER NT SQL SERVER NT
WAN/ Internet Client AND Server Load TestingTesting the Enterprise • Single point of control • Drive multiple real clients • Stress SQL Server virtual clients NT • Stress Sybase: virtual clients NT/UNIX SYBASE SERVER NT NT/UNIX
Advanced Loadtest Measurement • Mean vs. Median • 90% Percentile • Performance under load • System Performance Measurement • CPU • SWAP • DISK
GUI Application Protocol Analyzing Loadtest Results - I CLIENT LAN SERVER WAN SERVER Sybase SQL Server Total System Performance: Client, LAN, SQL Server, WAN, Sybase Client Load
GUI Application Protocol Analyzing Loadtest Results - II CLIENT LAN SERVER WAN SERVER Sybase SQL Server Client Load Transaction Performance: LAN, SQL Server, WAN & Sybase Server Load
GUI Application Protocol Analyzing Loadtest Results - III CLIENT LAN SERVER WAN SERVER Sybase SQL Server Client Load Transaction Performance: WAN, Sybase Server Load
GUI Application Protocol Analyzing Loadtest Results - IV CLIENT LAN SERVER WAN SERVER Sybase SQL Server Client Load Server Load Transaction Performance: SYBASE
GUI Application Protocol Analyzing Loadtest Results - V CLIENT LAN SERVER WAN SERVER Sybase SQL Server Client Load Transaction Response Time: Client Transaction Response Time: LAN, SQL Server Server Load
Conclusions Loadtesting: • Is a necessary component in testing an application and its environment • Has multiple purposes • Comes in many flavors • Is an extension to Functional testing • Is complex!