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

  • Test levels in Software Testing

    Test levels are determined on basis where the tests are added and executed in the software development process.There are four testing levels which adhere to a logical sequence in order to reduce the risk of defects .

    Different testing levels progressively test the simpler components and move to bigger more complex systems.

    Four Test levels are :

        1. Unit/ Component Testing
        2. Integration Testing
        3. System Testing
        4. Acceptance Testing
    Test levels in Software Testing Integration testing

    Unit/ Component Testing

    Unit testing is a software testing method by which individual units of software are tested to determine whether they are suitable for use.

    Some important points of Unit testing:

        • Used to check or defects and functioning of an individual piece of code like object or class.
        • Done at  the time of code development. Defects are usually fixed straight away.
        • Run or check of code using stubs, drivers and Simulators, Test Driven Development (Test First approach), unit test framework, debugging tool
        • Unit testing mainly targets on checking functional and non functional aspects like unit code, performance, robustness, memory leakage etc.
        • Performed by Developers.
    Test LevelTest BasisComponentsResponsible Person
    Unit TestingComponent requirements
    Detailed design
    Data Model
    Data conversion / migration programs
    Database modules
    Developer who wrote the code

    Integration Testing

    Integration means combining. Different tests interfaces between components, interactions with different parts of a system, such as the operating system, file system and hardware, and interfaces are combined and tested

    The strategy employed can significantly affect the time and effort required to yield a working, higher-level element.

    Note: ‘‘integration testing’’ is sometimes defined as the level of testing between unit and system..

    Some features of integration testing

        • Testing done to verify communication of data and actions across different systems, hardware, software or environmental components.
        • It also tests nonfunctional aspects.
        • Performed after integration of modules, software and external components.
        • Integration techniques are used.Preferably this should be in incremental mode rather than a BIG BANG approach as it’s harder to isolate failures
        • Aims to remove defects and performance issues due to integration of various systems.

    There may be more than one level of integration testing 

        1. Component Integration Testing : tests the interactions between software components and is done after component testing
        2. System Integration Testing: tests the interactions between different systems or between hardware and software and may be done after system testing.
    Test LevelTest BasisComponentsResponsible Person
    Integration TestingSoftware and system design
    Use cases
    Sub-systems database implementation

    System Testing

    System testing tests the system as a whole which enables testers to ensure that the product meets business requirements, as well as determine that it runs smoothly within its operating It’s a black box testing.

    Some Important features of System Testing are:

        • Done  to minimize the risk of environment related failures not found in testing.
        • In this testing, the test environment mimics the production environment as much as possible.
        • Appropriate black-box techniques are used to check the functionality of the system
        • It aims to check functional and non-functional requirements of the system, and data quality characteristics.
    Test LevelTest BasisComponents Responsible Person
    System TestingSystem and software requirement specification

    Use cases

    Functional specification

    Risk analysis reports
    System, user and operation manuals

    System configuration

    Configuration data
    Independent Testing team

    Acceptance Testing

    Testing process where a system is tested for acceptability by stakeholders/users. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

    Some features of Acceptance testing are :

        • Done to gain confidence in the system ,specific non-functional characteristics of the system. Assess the system’s readiness for deployment and use.
        • Acceptance is usually the last stage of testing
        • Performed by end users and other stakeholders against the business scenarios.
        • It aims to verify functional and non-functional requirements of the system, and data quality characteristics.
        • It is one of the most important types of testing, as it confirms that application meets the intended specifications and satisfies the client’s requirement.
        • The QA team will have a set of pre-written scenarios and test cases that will be used to test the application.

    Types of Acceptance Testing: 

    User acceptance testing :

    This type of testing verifies if a system is fit for use by business users.

    Operational (acceptance) testing :

    Done by system administrators, which includes activities like:

        • backup/restore testing
        • Disaster recovery
        • Maintenance tests
        • Data loading and migration
        • Check of security vulnerabilities

    Contract and Regulation Acceptance Testing:

    This type of testing is to verify that the produced software satisfies the contractual agreement. Acceptance criteria should be defined when the parties agree to the contract.Such as government, legal or safety regulations.

    Alpha Testing :

    Alpha testing is performed at the developing organization’s site but not by the developing team.

    Beta testing, or field-testing:

    It is performed by customers or potential customers at their own locations.Beta testing is done by a limited number of end users before delivery, the change request would be fixed if the user gives feedback or reports defects.

    Test LevelTest BasisComponentsResponsible Person
    Acceptance TestingUser requirements

    System requirements

    Use cases

    Business processes

    Risk analysis reports
    Fully integrated system

    Operational and maintenance processes

    User procedures



    Configuration data
    Customers or potential customers

  • Leave a Reply

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

    Scroll to Top