0% found this document useful (0 votes)
3 views24 pages

Testing Process

The document outlines the purpose and levels of software testing, emphasizing its role in ensuring software quality and reducing risks. It discusses various testing types, terminologies, and defect classifications, as well as the importance of collaboration between developers and testers. Additionally, it details the structure of test cases and different testing methodologies, including unit, integration, system, and acceptance testing.

Uploaded by

anasbro009
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views24 pages

Testing Process

The document outlines the purpose and levels of software testing, emphasizing its role in ensuring software quality and reducing risks. It discusses various testing types, terminologies, and defect classifications, as well as the importance of collaboration between developers and testers. Additionally, it details the structure of test cases and different testing methodologies, including unit, integration, system, and acceptance testing.

Uploaded by

anasbro009
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Engr.

Sajid Saleem
 Testing
 Purpose of testing
 Level 0 to 4
 Testing Terminologies
 Defects
 vs Failure
 Types
 Cost of Finding
 Types of Testing
 Test Cases and Format
 Testing Levels 2
What is Testing?
The process of operating a system or component under specifies
conditions, observing or recording the results, and making an
evolution of some aspect of the system or component (IEEE Standards
Glossary of Software Engineering Terminology)
 What is  What ought to be
 Reasons :
 Quality
 Acceptability
 Discover problems

 Testing is the process to prove that the software works correctly.


OR
 Testing is the process to prove that the software does not works
correctly
You can also take it as testing approaches or views or mindsets 

 Testing levels (Boris Beizer)


 LEVEL-0
 LEVEL-1
 LEVEL-2
 LEVEL-3
 LEVEL-4
 No plan. Fix if found
 No formalized effort of testing.
 No difference between testing and debugging
 Adopted by undergraduate CS students
 Get their programs to compile
 Debug with few arbitrarily chosen inputs or those
provided by the instructor
 Does little to help develop programs that are reliable
 To show that software works
 Approach: software is correct
 But correctness is virtually impossible to
either achieve or demonstrate
 To show that software does not work
 Valid but negative goal
 Testers may like it but developers do not (level
1 is natural for developers)
 Have adversarial relationship Bad for team
morale
 What to do if no failures are found?
 Is software good? OR Is testing bad?
 Purpose of testing is not to prove
anything specific but to reduce the
risk of using the software
 Accept fact that using software
incurs some risk
 Impossible to check the whole
system ?
 Entire team wants the same thing
 Reduce the risk
 Developer and tester work
together
 Testing is a mental discipline that
helps all IT professionals develop
higher quality software
 Primary responsibility is measuring
and improving software quality
 Improve the ability of developers to
produce quality software
 Error /mistake
 Fault / Bug / Defect
 Fault of Omission (when
we fail to enter correct
information)
 Fault of Commission (when
we enter something into a
representation that is
incorrect)
 Of these two types, Fault of
Omission are more difficult
to detect and resolve
 Failure
 Defect
 A behavior that does not conform to a requirement

 Failure
 A defect that reaches a customer
 Following are the common types of defects that occur during development:

 Arithmetic Defects

 Logical Defects

 Syntax Defects

 Multithreading Defects

 Interface Defects

 Performance Defects
 Some defect-detection practices cost more than others
 The most economical practices result in the least cost per defect found
 Most studies have found that inspections are cheaper than testing
 Formal inspections
 Code reading and inspections
 Peer reviews
 Test planning

 Test case development

 Running test cases

 Evaluating test results


 Black Box Testing / Functional Testing
 Testing based on specification and requirements
 White Box Testing / Structural Testing
 Testing based on internal paths, structure and implementation of
the software
 Grey Box Testing
 Testing is a software testing technique to test a software product or
application with partial knowledge of internal structure of the
application.
 Well designed test cases have

 Test Case Identification Number


 Inputs
 Order of execution (steps to be followed)
 Expected Output
 Actual Output
 Status / Result
TC id Path Input Expected Actual Status:
/Title output Output

TC1 xyz x=10, 101 100 Fail


y=11
TC2 abc a=10 13 13 Pass
 Unit Testing

 For example, the tester will write some test code that will call a method with
certain parameters and will ensure that the return value of this method is as
expected.

 It uses white box techniques.


Integration Testing
usually white box testing
techniques are used.
Example: DBMS front end and
back end.
System Testing
 Includes everything that has to be delivered to the customer.
 Functionality
 Usability
 Security
 Reliability etc.
 Black box testing techniques are followed.
Acceptance testing
• Black box testing techniques are followed.

You might also like