Vous êtes sur la page 1sur 3

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
7) 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

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

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 Requirements Project plan Test Strategy ----------- Design
Documents Corporate standards documents Process guideline docs etc... ---------------- Tasks
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 Output Test Plan document ----------------------------------------

ii) Test Design Input or References Requirements Test Plan ------------- Design Documents
Corporate standards documents Process guideline docs etc... ---------------- Test Case template
Test Data template Tasks: Understanding Requirements Creating Test Scenarios Test Case
documentation Test Data collection Output:Test case documents Test data ----------------------------

iii) Test Execution Input/references Requirements Test Plan Test Case documents Test Data -----
---------- Defect Report template ---------------- Readiness of Test Lab / Test environment
Readiness of AUT --------------- Tasks 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 ------------------------------------ Output Opened and Closed Defect Reports Tested

iv) Test Closure Input or References Requirements Test plan Opened and Closed Defect
Reports etc... ----------------- Test Summary Report template ---------- Tasks 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

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.