You are on page 1of 50

SOFTWARE TESTING - I

SKYTECH SYSTEMS

Contents

• Software Testing – Introduction


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

SOFTWARE TESTING 2 / 50
SKYTECH SYSTEMS

Contents

• 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
SKYTECH SYSTEMS

Contents

• 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 Customer’s
requirements in the First time and Every time.

Quality is much more than the absence of


defects, which allows us to meet customer’s
expectations.

There are five perspective of quality- they


are…

SOFTWARE TESTING 8 / 50
SKYTECH SYSTEMS

Software Quality
• Critical Quality • Other Attributes
– Completeness
Attributes – Compatibility
– Portability
– Maintainability – Internationalization
– – Understandability
Dependability
– Scalability
– Efficiency
– Robustness
– Usability – Testability
– Reusability
– Customizability

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

3. Prevention cost : Money required to prevent


errors and to do the job right the first time.
4. Appraisal costs : Money Spent to review
completed product against requirement.
5. Failure costs : This cost associated with
defective products that have been delivered to
the user or moved into production.
SOFTWARE TESTING 12 / 50
SKYTECH SYSTEMS

Quality Assurance
Vs
Quality Control
• Quality Assurance
- process oriented
(Software development)
- Defect prevention
(Identify & Rectify)
• Quality Control
- Product Oriented (quality of the entire
product is checked or tested)
SOFTWARE TESTING - Defect detection 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 Planning & Designing


Necessary Actions

ACT 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 web-
site
• 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: Chaos
– Level 1: Initial
– Level 2: Repeatable
– Level 3: Defined
– Level 4: Managed
– Level 5: Optimizing
SOFTWARE TESTING 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

 Requirement Analysis
 Design
 Development
 Testing
 Implementation
 Maintenance

SOFTWARE TESTING 23 / 50
SKYTECH SYSTEMS

Requirement Analysis
• Study done by organization against customer’s
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
SKYTECH SYSTEMS

Design Process
• Decompose entire project into units / modules and
prepare dataflow diagram and communication.
• CDD(Comprehensive Design Document)
= HCL + LLD

Design Process
Low Level Design
High Level Design

LLD
HCD

SOFTWARE TESTING 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
• STATIC(Reviewing)
• Integration testing • 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.1.1

V 1.0 V 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
2. Variance from product specifications.

4. Variance from customer/user expectation.

SOFTWARE TESTING 41 / 50
SKYTECH SYSTEMS

Defects
• 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 Continuous Testing
Accumulated Accumulated

Test cost Error Error Test cost


Remaining Remaining
0 20 Requirement 10 $ 10
0 40 Design 15 $ 25
0 60 Code 18 $ 42
$ 480 12 Testing 4 $ 182
$1690 0 Production 0 $ 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
SKYTECH SYSTEMS

Integration Testing
• 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
SKYTECH SYSTEMS

Big Bang Testing


Module - 1

Module - 6 Module - 2

System

Module - 5 Module - 3

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