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

  • Endurance testing, Recovery testing ,Scalability testing and Volume Testing Explained

    Endurance testing, Recovery testing ,Scalability testing and Volume Testing

    Endurance Testing 

    Endurance testing involves testing a system with a significant load extended over a significant period of time, to discover how the system behaves under sustained use and ensure application capability to handle extended load with abnormal behavior.

    Endurance Testing is also known as Soak Testing.

    For example, in software testing, a system may behave exactly as expected when tested for 1 hour but when the same system is tested for 3 hours, problems such as memory leaks cause the system to fail .

    Benefits of Endurance Testing:

        • Determines system load under extended load.
        • Provides accurate data for further enhancement of infrastructure needs.
        • Identifies performance problems if any.
        • Typical issues are identified in smaller targeted performance tests.

    Drawbacks of Endurance Testing:

        • Difficult to determine the stress to be applied for testing.
        • Some application components may disrupt due to load.
        • Unhandled exceptions may be observed by the end user.

    Recovery Testing 

    Recovery testing is done in order to check how fast and better the application can recover after it has gone through any type of crash or hardware failure.

        • Recovery testing is the forced failure of the software in a variety of ways to verify that recovery is properly performed.
        • Recovery Testing activities might include: Power interruption, to the client while doing CURD activities.
        • Invalid database pointers and keys Database process are aborted or prematurely terminated.
        • Database pointers, fields and keys are corrupted manually and directly within the database.
        • Physically disconnect the communication wires, power turn off, turn down the routers and network servers.

    Steps involved in Recovery Plan:

        1. Determining the feasibility of the recovery process.
        2. Restoration process:Verification of the backup facilities.
        3. Proper Documentation:Ensuring proper steps are documented to verify backup facilities.
        4. Training Process: knowledge transfer and trained team members.
        5. Demonstration of recovery process in order to recover from any critical failures.
        6. Maintaining and updating the recovery plan on regular intervals.

    Benefits/Advantages of Recovery Testing :

        • Improves system quality by removing the potential flaws.
        • Recovery testing is also referred to as Disaster Recovery Testing.It is a back up plan to recover from the failure.
        • Risk elimination by detecting potential flaws and removing them.
        • Improved performance and makes the system more reliable.

    Drawbacks/Disadvantages of Recovery Testing :

        • Recovery testing is a time-consuming process .
        • Involves multiple steps and preparations before and during the process.
        • The recovery personnel must be trained as the process of recovery testing takes place under his supervision.
        • The potential flaws or issues are unpredictable in a few cases. It is difficult to point out the exact reason for the same.

    Scalability Testing 

        • Scalability Testing is a non functional testing method that measures performance of a system or network when the number of user requests are scaled up or down.
        • The purpose of Scalability testing is to ensure that the system can handle projected increase in user traffic, data volume, etc.

    Goals of Scalability Testing:

        • It focuses on the performance of your websites, software, hardware, and application when changes are done in the size or volume of the system to meet a growing need.
        • Scalability testing lets you determine how your application scales with increasing workload.
        • Determine the user limit for the Web application.
        • Determine client-side degradation and end user experience under load.
        • Determine server-side robustness and degradation.

    Some scalability Testing attributes :

    1) Response time:

     It is the measure of the time taken by a web application to respond to a user request.

    Time is measured once the hyperlink is clicked  till the new web page is loaded on the web browser.

    Scalability Testing is done to identify the response time of the web server under normal load, threshold load, heavy load and break-point load of user requests.

    2) Throughput:

    Throughput is defined as the rate at which something can be processed.

    On a web server it is the rate at which number of requests is served by the web server successfully.

    3) Performance measure with number of users:

     Number of users that it can support without its breakdown or busy standby situation.

    4) Threshold load:

    Threshold load is the number of user requests that a web server could handle with desired throughput.

    5) CPU/ Memory usage

    Network usage: 

    A web application performance with network traffic.

    There should be less network usage with maximum utilization of server response.

    6)Web server request and response time

    The time in which request is snt and response is received from the server.

    Volume Testing

    Volume testing refers to testing a software application, where the software is subjected to a huge volume of data.

    E.g., if we want to volume test our application with a specific database size, we need to expand our database to that size and then test the application’s performance on it.

     Subject the software to large amounts of data and check the limit where the software fails.

        • Maximum database size is created and multiple clients query the database or create larger reports.
        • It is also referred to as flood testing

    Goals of Volume Testing:

        • Recognize problems that may be created with large volumes of data.
        • Check the system’s performance by increasing the volume of data in the database.
        • Identify the point at which the stability of the system reduces.
        • Identify  application capacity.

    Benefits/Advantages of Volume Testing:

        • Helpful in saving maintenance cost.
        • Identifies bottlenecks early.
        • Ensures system capability in the real world.
    Recommended Articles:

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Scroll to Top