Vous êtes sur la page 1sur 14

Software Testing

Principles and Practices

By,
CELINE INIGO.F,
ASSISTANT PROFESSOR,
DEPARTMENT OF COMPUTER SCIENCE,
PARVATHY’S ARTS AND SCIENCE COLLGE,DINDIGUL.
Principles of Testing
 Context of Testing in Producing Software – encompassing all activities
that address in implications of producing quality products.
 The Incomplete Car
 Dijkstra’s Doctrine
 A test in time
 The Cat and the saint
 Test the tests first
 The Pesticide paradox
 The Convoy and the Rags
 The Policemen on the Bridge
 The Ends of the Pendulum
 Men in Black
 Automation Syndrome.
Software Development Life Cycle Models
 Phases of Software Project –
i. Requirements gathering and analysis
ii. Planning
iii. Design
iv. Development or Coding
v. Testing
vi. Deployment and Maintenance
 Quality, Quality Assurance, and Quality Control
Quality – It is meeting the requirements expected of the software,
consistently and predictably.
i. Expected Behavior
ii. Actual Behavior
 Quality Control - to build a product , test it for expected behavior after it is
built.
 Quality Assurance – attempts to defect prevention by concentrating on the
process

Quality Assurance Quality Control

Concentrates on the process of Concentrates on the specific


producing the products products
Defect-prevention oriented Defect-detection and correction
oriented

Usually done throughout the life Usually done after the product is
cycle built

This is usually a staff function This is usually a line function

Examples: reviews and audits Examples: software testing at


various levels
Testing, Verification and Validation
 Testing that follows coding and precedes deployment
 Verification – evaluating a system of component to determine whether the
products of a given phase satisfy the conditions imposed at the start at that
phase.
 Validation – evaluating a system or component during or at the end of the
development process to determine whether it satisfies specified
requirements.

Quality Assurance = Verification


Quality Control = Validation Testing
Process Model to Represent Different Phases
Life Cycle Models
 Waterfall Model
 Prototyping and Rapid Application Development Models
 Spiral or Iterative Model
 The V Model
 Modified V Model
 Comparison of Various Life Cycle Models
Waterfall Model
 A project is divided into set of phases
 A project starts with Initial phase, and upon completion of the phase moves
to the next phase.
 Overall business requirements, software requirements gathering, planning,
high-level design, low-level design, coding and testing.
 At the end of the requirements gathering phase a System Requirement
Specification Document is produced.
 At the end of Detailed Design a System Design Description document is
produced
 Taking SDD as a input the next phase which means the implementation
phase has been developed.
Spiral Model
 The spiral model or iterative model follows a process in which the
requirements gathering, design, coding and testing are performed
iteratively till all the requirements are met.
 There is a good amount of overlap among the activities

Requirements Status/phase currently in


Requirements- 1 Coding
Requirements- 2 Design
Requirements- 3 Requirement
Requirements- 4 Testing
Requirements- 5 Released
 The progress of the product can be seen from the beginning of the project
as the model delivers “ increments “ at regular intervals.
 Even though it will be very difficult to plan the release date for the model.
 It allows the progress to be tracked and the customers approvals to be
obtained at regular intervals.
 It will reduces the risk of finding major defects at a later point of time
 Each requirement is “ spiraling outwards “ through the different phases.
Vmodel
Modified V model

Vous aimerez peut-être aussi