Software Testing Fundamentals

Software Testing Fundamentals

1) Conducting Software Testing
2) Software Development Life Cycle
3) Phases of Software Development Life Cycle
4) SDLC Models
5) Software Test Levels
6) Software Test Types
7) Software Test Design Techniques
8) Important phases in Software Test Process or Software Testing Life cycle
9) Important tasks in Test Planning Phase
10)  Important tasks in Test Design Phase
11) Important tasks in Test Execution Phase
12) Important tasks in Test Closure Phase
13) Important Organizations for Software Quality Standards     
14) Important Software Test Documents
15) Important Job Titles in Software Testing
------------------------------------------------------------

1) Conducting Software Testing
 

Software Testing can be done in two ways one is Manual Testing, another is Test Automation or Automated Testing. You can use both Manual Testing and Automated Testing to Test the Computer Software and Mobile Software.

Testing computer software manually in order to find defects without using Automation tools or automation scripts is called as Manual Testing.

Testing Computer Software by using Automation tool or Automation script is Called as Automated Testing or Test Automation.


2) Software Development Life Cycle
 

SDLC (Software Development Life Cycle) is the process of developing software through business needs, analysis, design, implementation, testing and release & maintenance.

SDLC is also called as Software development process.


3) Phases of Software Development Life Cycle

SDLC phases and phase names may vary from one model to another, but purpose is almost all same,

Phases of SDLC are:

i) Requirements Gathering

ii) Analysis and Planning

iii) Software Design

iv) Coding/Implementation

v) Testing

vi) Release and Maintenance

4)
Software Development Life Cycle Models
 

A well defined and designed approach to develop Software. 

Or

SDLC model is a methodology or process that is being selected for the development of the Software project.


Important SDLC models are:

i) Waterfall Model

ii) V Model

iii) Spiral Model

iv) Agile Models (Agile Methodologies) etc...


5) Software Test Levels
 

Test Level: A group of Test activities that are organized and managed together.

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    

    
    a) User Acceptance Testing 
    Testers: Customers /End users

    b) Operational Acceptance Testing
    System Administration staff.

    c) Certification Testing
    Testers: Certified Testers

For distributed Software applications we have Five levels of Testing

i) Unit Testing

ii) Component Integration Testing

iii) System Testing

iv) System Integration Testing

v) Acceptance Testing

6) Software Test Types
 

Test Type: A group of Test activities aimed at testing a component or system focused on a specific objective.

Basically we have 2 Types of Testing,

i) Functional Testing
    Functionality Testing
    Security Testing

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

7) Software Test Design Techniques
 

Basically we have two types of Test design techniques,

i) Static Techniques
ii) Dynamic 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...


Note:
Exhaustive testing (Testing with all possible inputs and preconditions) is impractical, so in order to reduce the Input and Output domains we use Test design techniques. 

8) Important phases in Software Test Process or Software Testing Life cycle

i) Test Planning
ii) Test Design
iii) Test execution
iv) Test Closure.

9) Important tasks in Test Planning Phase

Important tasks in Test Planning phase are:

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 etc... 


10) Important tasks in Test Design Phase

Important tasks in Test Design phase are:

Understanding Requirements
Creating Test Scenarios
Test Case documentation
Test Data collection


11) Important tasks in Test Execution Phase
 

Verify Test Environment setup
Create test batches
Test Execution
        • Smoke Testing /BVT/BAT
        Comprehensive Testing
        Defect Reporting
        Defect Tracking

        • Sanity Testing
        Select Test cases for Regression Testing
        Regression testing cycle 1
        Defect Reporting
        Defect Tracking

        • Sanity Testing
        Select Test cases for Regression Testing
        Regression testing cycle 2
        .
        .
        .
        Final Regression

12) Important tasks in Test Closure Phase
 

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

13) Important Organizations for Software Quality Standards      
 

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

14) Important Software Test Documents


Important Software Test documents are:

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.


15) Important Job Titles in Software Testing 

Job Titles may vary from one company to another,

i) Test Lead

ii) Tester / Test Engineer 
------------------------------------------------------------

4 comments:

Amazing Sir...thank u so much..your website and service is really helpful for our budding engineers of India...which helps us in shaping our future....please keep on guiding us like this.

You have given a very comprehensive and simplified guidance to us Sir....
I am very lucky to find your study material on net.

Thanks,
Vishal R Raymal

please provide material to prepare istqb foundation level.if available please forward to "vasakarthi286@gmail.com"
@@@@@@@@@@@@@@@@thank you@@@@@@@@@@@@@@@

Post a Comment