Cost Effective Web Application Load Testing

1,845 views

Published on

Web technologies and self service applications have exposed employees to HR applications leading to an increased number of concurrent users, particularly during peak demand periods, e.g., open enrollment. It is now essential to load test these self service web applications to ensure successful functionality with multiple users while accurately establishing hardware requirements. Load testing is now an essential piece of the application project lifecycle.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,845
On SlideShare
0
From Embeds
0
Number of Embeds
104
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Compare to regression/functional testing
  • As you explore these questions, be highly suspicious of simple answers like "as long as the system can handle 100 simultaneous users, we'll be happy". Would they still be happy if the 100 simultaneous users each had 30 second response times for every page in the system? Probably not.
  • Standards for an ecommerce site differ greatly from those of a custom app, which would generally have a smaller user base
  • TestMaker has community and enterprise – community up to 50 users
  • Support can often be found on community sites
  • Support can often be found on community sites
  • Hardware sizing:cpu/memory requirements, internet connection speed, database sizeHardwareconfig: web server request limits, max thread counts, database connections, firewall requests, record lockingSoftware: deadlock, synchronization/concurrency issues
  • TestMaker has community and enterprise – community up to 50 users
  • TestMaker has community and enterprise – community up to 50 users
  • Cost Effective Web Application Load Testing

    1. 1. Cost Effective Web Application Load Testing Presented by: Scott Tiedemann ProjectManager / Lead Developer LBi Software July 20, 2011 1
    2. 2. Agenda • Introduction • What is Load Testing • Load Testing Goals • Load Testing Tools • Tool Demonstration • Summary • LBi Overview • Q&A July 20, 2011 2
    3. 3. What is Load Testing? • Load testing is the process of putting demand on an application and measuring its response • Models the expected usage of a software application by simulating multiple users logging on concurrently • Primary goal is to define the maximum amount of work a system can handle without significant performance degradation July 20, 2011 3
    4. 4. Is it the same as Stress Testing? • Stress testing is used to evaluate the extent to which a system keeps working when subjected to extreme work loads or when some of its hardware or software has been compromised July 20, 2011 4
    5. 5. Why Load Test? • Critical for multi-user systems such as web applications – Must determine if system can handle the expected user base • Tune hardware sizing and configuration • Identify deficiencies in software architecture July 20, 2011 5
    6. 6. Issues you may uncover • Hardware Sizing – CPU/Memory Requirements – Internet Connection Speed – Database Size • Hardware Configuration – Web Server Request Limits – Thread Counts – Database Connections – Record Locking • Software Issues – Deadlock – Synchronizations and Concurrency July 20, 2011 6
    7. 7. What are you measuring? • Page Load Times • Number of Concurrent Users • Transactions Completed within Timeframe July 20, 2011 7
    8. 8. Analyzing Results • What do the results really mean? – Are findings acceptable, but not optimal? – Were test parameters appropriate? Should they be tweaked? – Are application or hardware changes necessary? July 20, 2011 8
    9. 9. Automated Vs. Manual Testing • Manual testing rarely simulates actual load – Hard to get enough users on the system performing actions simultaneously • Automated testing enables simulations with a wide range of parameters – Number of users – Ramp up time – Time in between requests July 20, 2011 9
    10. 10. Examples of Load Testing Tools • Enterprise Level – WebKing (Parasoft) – LoadRunner (HP) – Neoload (Neotys) • Free / Open Source – JMeter (Apache) – Eclipse TPTP (Test & Performance Tools Platform) – TestMaker (PushToTest) – The Grinder • Other – BrowserMob July 20, 2011 10
    11. 11. Enterprise Tools • Pros – Robust test management and execution platforms – Leverage functional/regression tests in load testing – License usually includes support • Cons – Can be expensive – Hardware requirements can be high – Load testing not always primary application focus July 20, 2011 11
    12. 12. Open Source Tools • Pros – Low Cost or Free – Generally Lightweight – Targeted to Load Testing • Cons – Almost always require technical know-how to use – Support, if available, is not free July 20, 2011 12
    13. 13. Implementing the Right Tool • Up front time evaluating the options will pay off in the long run, as you avoid choosing a tool that isn’t a good fit • Factor in: – Cost – Resources available – Hardware available – Number of applications to be tested – Complexity of applications to be tested July 20, 2011 13
    14. 14. Scaling Up • Initial tests should simulate minimal load; main purpose to verify testing tool is performing as expected • Once verified, ramp up testing until application fails • If application does not fail at the maximum load testing capacity, scale up the load testing – Run load testing on more powerful hardware – Create multiple “nodes” of the load tester July 20, 2011 14
    15. 15. Use of the Cloud in Load Testing • Often times, the hardware required by the load testing software itself can be expensive • If in-house servers cannot handle the load, use of cloud based services can provide the extra computing power necessary at a fraction of the cost of actually purchasing the hardware • Cloud servers generally scale; can start out with lower powered machines and scale up as tests are successful July 20, 2011 15
    16. 16. What is Cost Effective? • Largely dependent on scale of project – Enterprise solutions may be worth the price on large applications – More often, however, a low cost tool will provide the necessary results • Will tool be used on other initiatives? – Is this a “one off”, or can the test suite be used to test multiple applications July 20, 2011 16
    17. 17. Load Test Before Release! • Often times, a system is not load tested until after it is in production and problems have begun cropping up • Changes at this stage are more costly than changes during the development cycle • Performance problems shortly after go-live cripple user confidence in the system, which can make it hard to gain user acceptance July 20, 2011 17
    18. 18. Potential Issues • Creating and executing tests can require technical resources, particularly on the open source solutions • “AJAXified” applications can be challenging to script for • Maintenance burden • Often requires testing in production, or on comparable hardware, to avoid misleading results July 20, 2011 18
    19. 19. JMeter Demo July 20, 2011 19
    20. 20. Summary • What is “Cost Effective” varies from organization to organization • Choose a tool which is right for your organization and your applications • Reusing the tool across multiple applications lowers the effective cost • If necessary, base tool choice on resources available to implement and perform testing July 20, 2011 20
    21. 21. LBi Software • Established 1982 • Primary Focus on Human Capital Management (HCM) Solutions • Legacy in custom HCM development • Custom & Packaged solutions • Web 2.0 Development expertise • IVR/CTI/Speech Recognition expertise • Mission/Business Critical solution delivery July 20, 2011 21
    22. 22. LBi Software Products July 20, 2011 22
    23. 23. LBi Software Development Support Services • Source Control • Issue Tracking • Automated Testing • Load Testing • Development Environment • Application Servers July 20, 2011 23
    24. 24. Q & A July 20, 2011 24
    25. 25. Thank You! www.LBisoftware.com July 20, 2011 25

    ×