You are on page 1of 50

SOFTWARE TESTING - I

Contents

SKYTECH
SYSTEMS

Software Testing Introduction


Quality Principles
Software Process
SDLC
(Software Development Life Cycle)
Project Management
SOFTWARE TESTING

2 / 50

Contents

SKYTECH
SYSTEMS

Requirement Management
Configuration Management
Software Testing Fundamentals
Testing Policy Vs Quality Policy
Testing Economics and Testing Cost
Testing Levels
Testing Techniques

SOFTWARE TESTING

3 / 50

Contents

SKYTECH
SYSTEMS

Test Maturity Criteria


Verification Process
Test Level Model
Special Test Types
Test Standards
Testing Process

SOFTWARE TESTING

4 / 50

SKYTECH
SYSTEMS

Software Testing

STATIC

DYNAMIC

Logical Errors

Structural Testing

Functional Testing

(White Box testing)

(Black Box testing)


Nothing else but
functioning

SOFTWARE TESTING

5 / 50

SKYTECH
SYSTEMS

Testing
A Process of evaluating a particular
product to determine whether the product contain
any defects
Software Testing
Software Testing is a process of
evaluating a system by manual or automatic
means and verify that it satisfies specified
requirements or identify differences between
expected and actual results.
SOFTWARE TESTING

6 / 50

SKYTECH
SYSTEMS

Why Software Testing ?


Error Free
Efficient
Secured
Flexible
Software Testing is important as it may cause
mission failure, impact on operational
performance and reliable if not done properly.
SOFTWARE TESTING

7 / 50

SKYTECH
SYSTEMS

QUALITY PRINCIPLES
Quality is defined as meeting the Customers
requirements in the First time and Every time.
Quality is much more than the absence of
defects, which allows us to meet customers
expectations.
There are five perspective of quality- they
are
SOFTWARE TESTING

8 / 50

SKYTECH
SYSTEMS

Software Quality
Critical Quality
Attributes

Maintainability
Dependability
Efficiency
Usability

SOFTWARE TESTING

Other Attributes

Completeness
Compatibility
Portability
Internationalization
Understandability
Scalability
Robustness
Testability
Reusability
Customizability
9 / 50

SKYTECH
SYSTEMS

Five perspective of quality


1. Transcendent-I know when I see it.
2. Product based- possesses desired
features
3. User based Fitness for use.
4. Development and manufacturing based
Confirms to requirements.
5. Value based At an acceptable cost.
SOFTWARE TESTING

10 / 50

SKYTECH
SYSTEMS

Why Quality?
Quality is the most important factor affecting
an organization's long-term performance.
Quality is the way to achieve improved
productivity and competitiveness in any
organization.

SOFTWARE TESTING

11 / 50

SKYTECH
SYSTEMS

Cost of Quality

The three categories of costs associated with


producing quality products are

1. Prevention cost : Money required to prevent errors


and to do the job right the first time.
2. Appraisal costs : Money Spent to review completed
product against requirement.
3. Failure costs : This cost associated with defective
products that have been delivered to the user or
moved into production.
SOFTWARE TESTING

12 / 50

Quality Assurance
Vs
Quality Control

SKYTECH
SYSTEMS

Quality Assurance
- process oriented
(Software
development)
- Defect prevention
(Identify & Rectify)
Quality Control
- Product Oriented (quality of the entire
product is checked or tested)
- Defect detection
SOFTWARE TESTING

13 / 50

SKYTECH
SYSTEMS

Software Process
A particular method of doing some
thing, generally involving a number of
steps or operations is a process.
The process that deals with the technical
and management issues of software
development is called Software
Process.
SOFTWARE TESTING

14 / 50

SKYTECH
SYSTEMS

Software Process
Process Projects Products
A software process specifies a method of
developing software.
A software project, on the other hand, is a
development project in which a software
process is used.
A Software product is the outcome of a
software project.
SOFTWARE TESTING

15 / 50

SKYTECH
SYSTEMS
PLAN
Necessary Actions

ACT

Planning & Designing

DO

Coding & Production

CHECK
Testing & Evaluating

SOFTWARE TESTING

16 / 50

SKYTECH
SYSTEMS

Plan : Device a plan. Define your objective and


determine and strategy and supporting methods
required to achieve that objective.
Do : executive the plan. Create the conditions and
perform the necessary training to execute the plan.
Check : Check the results. Check to determine
whether work is progressing according to the plan
and whether the results are obtained.

SOFTWARE TESTING

17 / 50

SKYTECH
SYSTEMS

SDLC
(SOFTWARE DEVELOPMENT
LIFE CYCLE)
Overview of Software Development
Activities
Introduction to Various Lifecycles

SOFTWARE TESTING

18 / 50

SKYTECH
SYSTEMS

Agenda
Team Organization Deliverable Turn-in
Project Assignments to be posted on the website

Introduction to Software Development


Activities
Survey of Lifecycle Models

SOFTWARE TESTING

19 / 50

SKYTECH
SYSTEMS

Software Engineering
Layered Technology
Key Process Areas
Tools
Methods
Process
Quality

SOFTWARE TESTING

20 / 50

SKYTECH
SYSTEMS

Capability Maturity Model

Developed by SEI(Software Engineering


Integration)
Five Process Maturity Levels

Level 0:
Level 1:
Level 2:
Level 3:
Level 4:
Level 5:

SOFTWARE TESTING

Chaos
Initial
Repeatable
Defined
Managed
Optimizing
21 / 50

SKYTECH
SYSTEMS

Process Principles
Prescribes all major activities
Uses resources, within a set of constraints, to
produce intermediate and final products
May be composed of sub-processes
Each activity has entry and exit criteria
Activities are organized in a sequence
Has a set of guiding principles to explain goals
Constraints may apply to activity, resource or
product
SOFTWARE TESTING

22 / 50

SKYTECH
SYSTEMS

The six Stages of SDLC process are

SOFTWARE TESTING

Requirement Analysis
Design
Development
Testing
Implementation
Maintenance

23 / 50

SKYTECH
SYSTEMS

Requirement Analysis
Study done by organization against customers
requirement is documented as SRAS( software
requirement analysis specification)
The main objective of the requirements analysis is to
produce a document that properly specifies all
requirements of the customer.
SRS(Software Requirement Specification) is the
primary output of this phase.
SOFTWARE TESTING

24 / 50

Design Process

SKYTECH
SYSTEMS

Decompose entire project into units / modules and


prepare dataflow diagram and communication.
CDD(Comprehensive Design Document)
= HCL + LLD
Design Process
High Level Design

HCD

SOFTWARE TESTING

Low Level Design

LLD

25 / 50

SKYTECH
SYSTEMS

HLD
High-Level Design (system Design)
High-level design is the phase of the life cycle
when a logical view of the computer
implementation of the solution to the customer
requirements is developed.

SOFTWARE TESTING

26 / 50

SKYTECH
SYSTEMS

LLD
Low Level Design (Detailed Design)
During the detailed design phase, the view of
the application developed during the high level
design is broken down into modules and
programs. Logic design is done for every
program.

SOFTWARE TESTING

27 / 50

SKYTECH
SYSTEMS

Coding and unit testing


During the build phase, the detailed design
is used to produce the required programs in
a programming language.
This stage produces the source code,
executable, and databases applicable.
SOFTWARE TESTING

28 / 50

SKYTECH
SYSTEMS

Testing
Unit testing
Integration testing

STATIC(Reviewing)
DYNAMIC (Execution)

System testing

SOFTWARE TESTING

29 / 50

SKYTECH
SYSTEMS

Integration testing
Integration is a systematic approach to
building the complete software structure
specified in the design from unit-tested
modules.
Integration plan must specify the order in
which the modules are integrated.
SOFTWARE TESTING

30 / 50

SKYTECH
SYSTEMS

System Testing
System testing is an activity to validate the
software product against the requirement
specification.
This stage is intended to find defects that
can be exposed only by testing the entire
system.
SOFTWARE TESTING

31 / 50

SKYTECH
SYSTEMS

Acceptance and Installation


Acceptance and installation is the phase in the
software life cycle during which a software
product is integrated into its operational
environment and tested in this environment to
ensure that it performs as required.
The two basic tasks- getting the software accepted
and installing the software at the customer site.

SOFTWARE TESTING

32 / 50

SKYTECH
SYSTEMS

Project Management
Project Management is nothing but
organising, Planning,ans scheduling
software projects.

Project staffing
Project planning
Project scheduling
Project monitoring

SOFTWARE TESTING

33 / 50

SKYTECH
SYSTEMS

Risk Management
Software Risks
1. Risk identification : Identify project, product and
business risks.
2. Risk analysis : Assess the likelihood and
consequences of these risks.
3. Risk planning : Draw up plans to avoid or
minimize the effects of the risk.
4. Risk monitoring : Monitor the risks throughout
the project
SOFTWARE TESTING

34 / 50

SKYTECH
SYSTEMS

Requirements Management
Requirements management is managing changes
in the evolving software in a cost effective
manner. Changes may come externally or
internally.
External changes may be due to
problem,customer, environment.
Internal changes may be due to requirements,
design, implementation, testing, maintenance

SOFTWARE TESTING

35 / 50

SKYTECH
SYSTEMS

Configuration Management
Standards and procedures for managing changes in
an evolving software product is configuration
management.
New versions of software systems are created as
they change for different machines/OS, offering
different functionality.
Software systems are sometimes called baselines
as they are a starting point for further
development.
SOFTWARE TESTING

36 / 50

SKYTECH
SYSTEMS

Verification and release


management
Invent identification scheme for system
versions plan when new system version is
to be produced. Ensure that version
management procedures and tools and
properly applied. Plan and distribute new
system releases.

SOFTWARE TESTING

37 / 50

SKYTECH
SYSTEMS

version/variants/releases
Version : An instance of a system, which is
functionally distinct in some way from
other system instances.
Variant: An instance of a system, which is
functionally identical but non-functionally
distinct from other instances of a system.
Release : An instance of a system, which is
distributed to users outside of the
development team.
SOFTWARE TESTING

38 / 50

SKYTECH
SYSTEMS

Version derivation structure


V 1.1b

V 1.0

V 1.1

V 1.1.1

V 1.2

V 2.0

V 2.1

V 2.2

V 1.1a

SOFTWARE TESTING

39 / 50

SKYTECH
SYSTEMS

Software Testing Fundamentals


Primary role of software testing?
determine whether the system meets
specification (producer view)
determine whether the system meets business
and user needs (customer view).

SOFTWARE TESTING

40 / 50

SKYTECH
SYSTEMS

STF

What is Defects ?

The purpose of testing is to find defects. A


defect is a variance from a desired product
attribute. Two categories of defects are
1. Variance from product specifications.
2. Variance from customer/user expectation.

SOFTWARE TESTING

41 / 50

Defects

SKYTECH
SYSTEMS

1. Wrong : The specifications have been implemented


incorrectly. This defect is a variance from customer / user
specification. (correctly mentioned in specification but
wrongly implemented)
2. Missing : A specified or wanted requirement is not in the
built product. This can be a variance from specification, an
indication that the specification was not implemented.
( given in specification but missed out in application)
3. Extra : A requirement incorporated into the product that
was not specified. This is always a variance from
specifications, but may the user of the product desire an
attribute. (any thing that dissatisfies)
SOFTWARE TESTING

42 / 50

SKYTECH
SYSTEMS

Test case
Set of procedures written by a tester which
execute in our system to find defect.
Positive test case
negative test case
A test case is said to be effective only when both
positive and negative cases are prepared.
SOFTWARE TESTING

43 / 50

SKYTECH
SYSTEMS

Testing Economics & Cost


Traditional Testing
Accumulated
Test cost

Continuous Testing
Accumulated

Error
Remaining

Error
Remaining

Test cost

20

Requirement

10

$ 10

40

Design

15

$ 25

60

Code

18

$ 42

$ 480

12

Testing

$ 182

$1690

Production

$ 582

SOFTWARE TESTING

44 / 50

SKYTECH
SYSTEMS

TESTING LEVELS
Unit Testing
Integration Testing
System Testing
Acceptance Testing
SOFTWARE TESTING

45 / 50

SKYTECH
SYSTEMS

Unit Testing
Unit testing is a testing in which the
individual unit of the software are tested in
isolation from other parts of a program.
Advantage :
To catch the defects that occurs at the early
stage of software development.
To minimize the ration of defects before
moving to next level
SOFTWARE TESTING

46 / 50

Integration Testing

SKYTECH
SYSTEMS

Integration testing refers to the testing in


which software units of an application
combined and tested for a communication
interfaces between them.
Big Bang Testing
Bottom Up Testing
Top Down Testing
SOFTWARE TESTING

47 / 50

Big Bang Testing

SKYTECH
SYSTEMS

Module - 1
Module - 6

Module - 2

System
Module - 3

Module - 5

Module - 4

SOFTWARE TESTING

48 / 50

SKYTECH
SYSTEMS

Big Bang Testing


A type of integration in which software
components of an application are combined
all at once into a overall system according
to this approach
Advantage :
To check the data flow from one module to
another
Communication between various modules is
checked
SOFTWARE TESTING

49 / 50

SKYTECH
SYSTEMS

Integration
Bottom-up Integration testing :
In bottom up integration, all modules are added
or combined from lower level hierarchy to
higher level hierarchy I.e., the lower level
model is tested in isolation first, then the next
set of higher level modules are tested with the
previously tested lower modules.
Worker modules are grouped into builds and
integrated.
SOFTWARE TESTING

50 / 50

You might also like