1
SOFTWARE TESTING,
QUALITY CONTROL &
ASSURANCE
SOFTWARE TESTING &
QUALITY CONTROL
• Testing is a process of evaluating a system
by manual or automation means and verify
that it satisfies specified requirements or
identify difference between expected and
actual result.
• Quality provides customer satisfaction for the
first time and every time. It is the factor
affecting an organizations long term
performance and improves productivity and
competitiveness.
2
Why Testing?
• Software testing is important as it may cause
mission failure, impact on operational
performance and reliability if not done
properly.
• Deliver quality software products, satisfy user
requirements, needs and expectation.
• Uncover defects before the products install in
production, it can save a huge loss.
Participants in Testing
• Software Customer
• Software User
• Software Developer
• Tester
• Information Service Management
• Senior Organization Management
3
Recent Major Computer
System Failure
According to news reports in April’04 a software bug
was determined to be a major contribution to the 2003
Northeast blackout, the worst power system failure in
North American history. The failure involved loss of
electrical power to 50 million customers, forced
shutdown of 100 power plants, and economic losses
estimated at $6 billion. The bug was reportedly in one
utility company’s vendor_supplied power monitoring and
management systems, which was unable to correctly
handle and report on an unusual confluence of initially
localized events. The error was found and corrected
after examining million of lines of code.
Software Development Life
Cycle
• Requirement- SRS (Software Requirement Specification)
SRAS (Software Requirement & Analysis
Specification)
FS (Functional Specification)
• Design- HLD (High Level Design)
LLD (Low Level Design)
• Coding- According to code format
• Testing
• Implementation
• Maintenance
4
Write
Requirement Acceptance Test
Logical Design
Physical Design
Code
Test
Requirement
Test Design
Test Design
Unit Test
Build Software Integration Test
System Test
Install
Build System
w-Model
Testing Economic & Cost
Continuous Test
Accumulated
Test Cost
Accumulated
Error
Remaining
Development
Cycle
Accumulated
Error
Remaining
Accumulated
Test Cost
$5820Production0$1690
$1824Testing12$480
$4218Code600
$2515Design400
$1010Requirement200
Traditional Test
5
Testing
• Static (Review)
• Dynamic (Execution)
Static:
• Only review not execution of the program
Dynamic:
• Structural (logic, white box testing, developer)
• Functional (no logic, black box testing, tester)
Structural Testing
• Concerned with testing the implementation of
the program
• Focus on the internal structure of the program
• The intention of structural testing is not to be
exercise all the different I/P or O/P condition
but to exercise the different programming
structure and the data structure of the
program
6
Functional Testing
• Structure of the program is not
considered
• Test cases are decided base on the
requirements or specification of the
program or module
• Hence it is called “Black Box” testing
Some Definition
What is Test Plan?
• Road map for the entire testing activity
What are Test Cases?
• Set of procedures which we execute in our system to
find defects
What is Defects?
• A defect is a variance from a desired product
attributes
• Variance from customer/user expectation
7
Primary Role of Software
Testing
• Determine whether the system meets specification
(Producer View)
• Determine whether the system meets business and
user needs (Customer View)
Role of Tester: Find defect not correcting the defects
Classification of Defects:
• Wrong (ER! = AR)
• Missing (Missing some point)
• Extra (Extra point)
Testing Levels
• Unit Testing
• Integration Testing
• System Testing &
• Application Under Test (AUT) or
User Acceptance Test (UAT)
8
Unit Testing
• LLD
• Module Testing
• Individually Testing
• White Box Testing
• Developer job
• Test each module individually
• Follow White Box Testing (logic of the
program)
Integration Testing
• LLD+ HLD (Developer+ Tester)
• Communication+ Data Flow
• WB+ BB= Gray Box
• Integrate two or more module ie.
Communicate between modules
• Follow a White Box Testing (testing the
codes)
9
System Testing
• Confirms that the system as a whole
delivers the functionality originally
required.
• Follow Black Box Testing
• Functionality Testing, Tester job
User Acceptance Testing
• Building the confidence of the client and
users is the role of the acceptance
testing phase
• It is depend on the business scenario
• Red Box Testing (crucial)

Seminar on Software Testing

  • 1.
    1 SOFTWARE TESTING, QUALITY CONTROL& ASSURANCE SOFTWARE TESTING & QUALITY CONTROL • Testing is a process of evaluating a system by manual or automation means and verify that it satisfies specified requirements or identify difference between expected and actual result. • Quality provides customer satisfaction for the first time and every time. It is the factor affecting an organizations long term performance and improves productivity and competitiveness.
  • 2.
    2 Why Testing? • Softwaretesting is important as it may cause mission failure, impact on operational performance and reliability if not done properly. • Deliver quality software products, satisfy user requirements, needs and expectation. • Uncover defects before the products install in production, it can save a huge loss. Participants in Testing • Software Customer • Software User • Software Developer • Tester • Information Service Management • Senior Organization Management
  • 3.
    3 Recent Major Computer SystemFailure According to news reports in April’04 a software bug was determined to be a major contribution to the 2003 Northeast blackout, the worst power system failure in North American history. The failure involved loss of electrical power to 50 million customers, forced shutdown of 100 power plants, and economic losses estimated at $6 billion. The bug was reportedly in one utility company’s vendor_supplied power monitoring and management systems, which was unable to correctly handle and report on an unusual confluence of initially localized events. The error was found and corrected after examining million of lines of code. Software Development Life Cycle • Requirement- SRS (Software Requirement Specification) SRAS (Software Requirement & Analysis Specification) FS (Functional Specification) • Design- HLD (High Level Design) LLD (Low Level Design) • Coding- According to code format • Testing • Implementation • Maintenance
  • 4.
    4 Write Requirement Acceptance Test LogicalDesign Physical Design Code Test Requirement Test Design Test Design Unit Test Build Software Integration Test System Test Install Build System w-Model Testing Economic & Cost Continuous Test Accumulated Test Cost Accumulated Error Remaining Development Cycle Accumulated Error Remaining Accumulated Test Cost $5820Production0$1690 $1824Testing12$480 $4218Code600 $2515Design400 $1010Requirement200 Traditional Test
  • 5.
    5 Testing • Static (Review) •Dynamic (Execution) Static: • Only review not execution of the program Dynamic: • Structural (logic, white box testing, developer) • Functional (no logic, black box testing, tester) Structural Testing • Concerned with testing the implementation of the program • Focus on the internal structure of the program • The intention of structural testing is not to be exercise all the different I/P or O/P condition but to exercise the different programming structure and the data structure of the program
  • 6.
    6 Functional Testing • Structureof the program is not considered • Test cases are decided base on the requirements or specification of the program or module • Hence it is called “Black Box” testing Some Definition What is Test Plan? • Road map for the entire testing activity What are Test Cases? • Set of procedures which we execute in our system to find defects What is Defects? • A defect is a variance from a desired product attributes • Variance from customer/user expectation
  • 7.
    7 Primary Role ofSoftware Testing • Determine whether the system meets specification (Producer View) • Determine whether the system meets business and user needs (Customer View) Role of Tester: Find defect not correcting the defects Classification of Defects: • Wrong (ER! = AR) • Missing (Missing some point) • Extra (Extra point) Testing Levels • Unit Testing • Integration Testing • System Testing & • Application Under Test (AUT) or User Acceptance Test (UAT)
  • 8.
    8 Unit Testing • LLD •Module Testing • Individually Testing • White Box Testing • Developer job • Test each module individually • Follow White Box Testing (logic of the program) Integration Testing • LLD+ HLD (Developer+ Tester) • Communication+ Data Flow • WB+ BB= Gray Box • Integrate two or more module ie. Communicate between modules • Follow a White Box Testing (testing the codes)
  • 9.
    9 System Testing • Confirmsthat the system as a whole delivers the functionality originally required. • Follow Black Box Testing • Functionality Testing, Tester job User Acceptance Testing • Building the confidence of the client and users is the role of the acceptance testing phase • It is depend on the business scenario • Red Box Testing (crucial)