Software Testing Tutorial for Beginners

Overview of Software Testing
    1) Introduction to Software Testing

    2) SDLC Models

    3) Test Levels

    4) Test Types

    5) Test Design Techniques

    6) Software Test Process / STLC

Software Quality Standards   
    8) Software Test Documents

1) Introduction to Software Testing

> Software Testing can be done in two ways one is Manual Testing another is Test Automation or Automated Testing.

> Testing computer software manually in order to find defects without using tools or automation scripts.

> Testing Computer Software by using Automation tool or Automation script.

2) SDLC Models

We have so many SDLC models available in the IT industry, we can segregate them in to two categories.

a) Sequential Models (Waterfall, V Model etc...)

b) Incremental / Iterative models (Spiral model, Agile models etc...)

3) Software Test Levels

We have Four levels of Testing for General or independent Software applications

i) Unit Testing Testing of individual software components.
Testers: Developers

ii) Integration Testing 

Testing integration or interfaces between components, interactions to different parts of the system such as an operating system, file system and hardware.
Testers: Developers or Independent Testers

iii) System Testing 

Testing an integrated System to verify that it meets specified requirements.
Testers: Independent Testers

iv) Acceptance Testing

User Acceptance Testing
Testers: Customers /End users

Operational Acceptance Testing
System Administration staff.

Certification Testing
Testers: Certified Testers

For distributed Software applications 5 levels of Testing

i) Unit Testing

ii) Component Integration Testing

iii) System Testing

iv) System Integration Testing

v) Acceptance Testing
4) Software Test Types

i) Functional Testing
        Functionality Testing
        Security Testing

ii) Non Functional Testing
         Performance Testing
         Usability Testing
         Configuration Testing
         Reliability Testing
         Recovery Testing
         Localization Testing etc...

5) Software Test design Techniques

i) Static Techniques

Static testing is the testing of the software work products manually, or with a set of tools, but they are not executed.

Example: Reviews, Walk trough, Inspection etc...

ii) Dynamic Techniques

> Testing that involves the execution of the software of a component or system.

a) White box Test design techniques    

    Statement testing
    Condition testing
    Decision testing etc...

b) Black box Test design techniques    

    Equivalence partitioning / Equivalent Classes
    Boundary Value Analysis
    Decision tables
    State transition Testing
    Use case Testing etc...

c) Experience based Techniques    

    Error Guessing
    Exploratory Testing etc...
6) Software Test Process or Software Testing Life Cycle

Phases of Software Test process
i) Test Planning

Input or References
Project plan
Test Strategy
Design Documents
Corporate standards documents
Process guideline docs
    Understanding and Analyzing the Requirements
    Risk Analysis
    Test Strategy implementations
    Test Estimations(Scope, Time, Available resources, Budget etc...)
    Team formation
    Test plan documentation
    Configuration management planning
    Creating RTM document
    Define Test Environment Setup

Test Plan document
ii) Test Design

Input or References 
Test Plan
Design Documents
Corporate standards documents
Process guideline docs
Test Case template
Test Data template


    Understanding Requirements
    Creating Test Scenarios
    Test Case documentation
    Test Data collection
Output:Test case documents
Test data
iii) Test Execution

Test Plan
Test Case documents
Test Data
Defect Report template
Readiness of Test Lab / Test environment
Readiness of AUT
    Verify Test Environment setup
    Create test batches
    Test Execution
        Sanity Testing /BVT/BAT
        Comprehensive Testing
        Defect Reporting
        Defect Tracking
        Select Test cases for Regression Testing
        Regression testing cycle 1
        Defect Reporting
        Defect Tracking
        Select Test cases for Regression Testing
        Regression testing cycle 2
        Final Regression

Opened and Closed Defect Reports
Tested Software

iv) Test Closure             

Input or References 
Test plan
Opened and Closed Defect Reports
Test Summary Report template

    Collect all Artifacts
    Evaluate the Exit Criteria
    Test Summary Report
    Sending Test deliverables to customer
    Improvement suggestions for future projects.

7) Software Quality Standards    

    ISO (Terminology, Process guidelines etc...)
    IEEE (Terminology, Test Documentation standards)
    CMM/CMMI (Process)

8) Software Test Documents

i) Test Policy

A high level (company level) document describes principles, approach and major objectives of the organization regarding Testing.

ii) Test Strategy

A high level document of the Test Levels to be performed and the Testing within those levels for an Organization.

iii) Test Plan

A document describing the scope, approach, resources, and schedule of intended activities.

iv) Test Scenario

An item or event of a component or system that could be verified by one or more Test cases.

v) Test Case

A set of input values, execution preconditions, expected result and execution post conditions developed for a particular objective or Test condition.

vi) Test Data

Data that exits before a test is executed and that effects or is effected by the component or System under test.

vii) Defect Report

A document reporting of ant flaw in a component or System that can cause the component or system to fail to perform its required function.

viii) Test Summary Report

A document summarizing testing activities and Result. It also contains evaluation of the corresponding test items against exit criteria.

Domain Knowledge for Software Testers

i) BFSI (Banking, Financial Services and Insurance)

ii) ERP (Enterprise Resource Planning)

iii) Telecom

iv) Healthcare

v) Ecommerce

vi) Retail Market

Others (System Software, Games, Documentation software etc...)
Programming knowledge is required for Test Automation or Automated Testing.


this is very good site. Well done sir.

hi sir
for look like ISTQB syllabus is very large when compared to u r manual syllabus
u r syllabus is enought for manual testing sir?

Post a Comment