Tutorials Hut

Tutorials Hut

  • Testing Foundation

      Basics of Software Testing
       What is Software Testing?
       Objective of Testing
       Why is testing necessary?
       Common Terms used in Testing
       Verification Vs Validations
       QA Vs QC
       Debugging Vs Testing
       Seven Testing Principles
       SDLC Vs STLC
       Fundamentals of Test Process
       Software quality Factors
       Software Development Models
       Waterfall Model
       V models
       Iterative Model
       Test Levels
       Component Testing
       Integration Testing
       System Testing
       Acceptance Testing
       Strategies for Integration Testing
       Big Bang
       Stubs and Driver
       Top Down Testing
       Bottom Up Testing
       Test Types
       Functional Testing
       Non- Functional Testing
       Structural Testing
       Re-testing & Regression Testing
       Static AND Dynamic Techniques
       Static Technique
       Dynamic Technique
       Static Analysis by Tools
       White Box Techniques
       Statement Coverage Testing
       Branch Coverage Testing
       Decision Coverage Testing
       Path Coverage
       Black Box Techniques
       Equivalence Partitioning
       Boundary Value Analysis
       Decision Table testing
       State Transition testing
       Experience Based TestingTechniques
       Random Testing
       Exploratory Testing
       Error Guessing
       Functional Testing
       Integration Testing
       Unit Testing
       System Testing
       Smoke testing
       Sanity testing
       Regression Testing
       Usability Testing
       Security Testing
       User Acceptance Testing
       White Box & Black Box Testing
       Globalization & Localization Testing
       Non Functional Testing
       Compatibility testing
       Endurance testing
       Load testing
       Performance testing
       Recovery testing
       Scalability testing
       Stress testing
       Volume testing
       Test Planning and Estimation
       Test Planning
       Test Strategies Vs Test Plan
       Test Approaches
       Risk and Testing
       Product Risks
       Project Risks
       Defect Management
       Defect LifeCycle
       Severity Vs Priority



  • Performance Testing, Load Testing & Stress Testing Explained

    This article will present you with a complete idea about Performance Testing ,Load testing and Stress Testing.

    We will learn below topics in this article

    Performance Testing 

    Performance testing is performed to determine how fast some aspect of a system performs under a particular workload.

    Performance Testing
        • It can serve different purposes like it can demonstrate that the system meets performance criteria.
        • It can compare two systems to find which performs better.
        • Activities in Performance Testing might include: Validate that the system meets the expected response time.
        • Evaluate that the significant elements of the application meet the desired response time.
        • It can also be conducted as part of integration testing.
        • It can also be conducted as a part of systems testing.

    Goals of Performance Testing:

        • To eliminate performance congestion.
        • Uncovers improvement areas before the product is launched in the market.
        • Objective of performance testing is to make software rapid.
        • Objective is to make software stable and reliable.

    Benefits/Advantages of Performance Testing:

        • Validates fundamental features of the software
        • Measure the speed, accuracy and stability of software.
        • Identify areas of issues
        • Improve optimization and load capability.

    Drawbacks/ Disadvantages of Performance Testing:

        • Need programming knowledge to use load testing tools.
        • Tools used can be expensive.
    Performance Testing Types

    Load Testing 

    Load testing is performed to determine a system’s behavior under both normal and at peak conditions.

        • It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation.
        • Activities of Load Testing might include: Validate that the system performs as expected when concurrent users access the application and gets the expected response time.
        • Test is repeated with multiple users to get the response time and throughput. At the time of testing, the database should be realistic.
        • The test is usually conducted on a dedicated server which stimulates the actual environment.

    Goals of Load Testing:

        • Identifies response time for each transaction
        • Performance of System under various loads
        • Performance of Database components under different loads
        • Identifies network delay between the client and the server
        • Server configuration issues like a Web server, application server, database server etc.
        • Hardware limitation issues like CPU maximization, memory limitations, etc.
        • Load testing will determine whether the system needs  modification of hardware or software to improve performance.

    Benefits/ Advantages of Load Testing:

        • Identify Performance issues before production
        • Improves scalability of the system
        • Minimize risk related to system downtime
        • Reduced costs of failure
        • Increase customer satisfaction

    Drawbacks/Disadvantages of Load testing:

        • Need programming knowledge to use load testing tools.
        • Tools used for load testing can be expensive.

    Load Testing Tools:

    LoadNinja

        • Load Ninja is revolutionizing the way we load test.
        • This cloud-based load testing tool provides capability to record & instantly playback comprehensive load tests.
        • Teams are able to increase test coverage hence reducing load testing time.

    NeoLoad:

        • NeoLoad is the enterprise-grade load testing platform designed for Agile and DevOps.
        • NeoLoad integrates with a continuous delivery pipeline to support performance testing across the complete software lifecycle starting from component to full system-wide load tests.

    Load Runner:

        • Load runner is an HP tool used to test the applications under normal and peak load conditions.
        • Load runner generates load by creating virtual users that emulate network traffic.
        • It simulates real time usage like a production environment and gives graphical results.

    Stress Testing 

    It is a form of testing that is used to determine the stability of a given system.

    It puts greater emphasis on robustness, availability, and error handling under a heavy load, rather than on what would be considered correct behavior under normal circumstances.

        • Ensures the software does not crash in conditions of insufficient computational resources (such as memory or disk space).
        • Activities of Stress Testing include: Test on low memory or low disc space on clients or servers that reveals the defects which cannot be found under normal conditions.
        • Multiple users perform the same transactions on the same data.
        • Multiple clients connected to servers with different workloads.
        • Reduce the Think Time to “Zero” to stress the servers to their maximum stress.

    Goal of Stress Testing:

        • Measuring software on its robustness.
        • Measures error handling capabilities under extremely heavy load conditions.
        • Ensuring that software doesn’t crash under crunch situations.
        • Evaluates how software works under extreme conditions.

    Stress testing Examples:

        • During Sale time on certain online platforms, there is a sudden rise in traffic.
        • When a breaking news is displayed on TV channels , it experiences a sudden surge in traffic.

    It is hence important to perform Stress Testing to accommodate such abnormal traffic spikes.

    Failure to accommodate this sudden traffic may result in loss of revenue and repute.

    Scroll to Top