Software Testing has become a necessity for today's IT industry. Every IT engineer is expected to understand the basic of software testing and it types. This PPT will enable the viewers to understand the concept of software testing and types of testing.
2. Lessons in Section 1
• Basic definitions and terminologies of software testing
• Principles of Software Testing
• Basic types of testing
• White box testing
• Black box testing
3. Basic Definition - Software Testing
SOFTWARE TESTING
• Software testing is a process of executing a program or
application with the intent of finding the software bugs.
• It can also be stated as the process of validating and verifying
that a software program or application or product:
Meets the business and technical requirements that guided
it's design and development.
4. Basic Definition - Error and Fault (Defect)
ERROR
• An error is a mistake, misconception, or misunderstanding on the
part of software developer.
FAULT (DEFECT)
• A fault or defect is introduced into the software as the result of
an error. It is an anomaly in the software that may cause it to
behave incorrectly, and not according to its specification.
5. Failures
• A failure is the inability of a software system, or component to perform its
required functions within specified performance requirements.
Question for viewer
What is the difference between error and defect?
6. Test Cases
• A test case in a practical sense is a test-related item which contains the
following information:
• A set of test inputs: These are data items received from an external source by the code
under test. The external source can be hardware, software, or human.
• Execution conditions: These are conditions required for running the test, for example
a certain state of a database, or a configuration of hardware device.
• Expected output: These are specified results to be produced by the code under test.
7. More definitions
• Test – A test is group of test cases, or a group of related test cases and
test procedures.
• Test Oracle – It is a document, or a piece of software that allows testers
to determine whether a test has been passed or failed.
• Test Bed – A test bed is an environment that contains all the hardware
and software needed to test a software component or a software system.
8. Principles of Software Testing
• Principle 1: Testing is a process of exercising a software component using a
selected set of test cases, with the intent of (i) revealing defects, and (ii)
evaluating quality.
• Principle 2: A good test case is one that has probability of revealing a yet
undetected defect(s).
• Principle 3: Test results should be inspected meticulously.
• Principle 4: Test case must contain the expected output or result.
9. Principles of Software Testing
• Principle 1: Testing is a process of exercising a software component using a
selected set of test cases, with the intent of (i) revealing defects, and (ii)
evaluating quality.
• Principle 2: A good test case is one that has probability of revealing a yet
undetected defect(s).
• Principle 3: Test results should be inspected meticulously.
• Principle 4: Test case must contain the expected output or result.
10. Principles of Software Testing
• Principle 1: Testing is a process of exercising a software component using a
selected set of test cases, with the intent of (i) revealing defects, and (ii)
evaluating quality.
• Principle 2: A good test case is one that has probability of revealing a yet
undetected defect(s).
• Principle 3: Test results should be inspected meticulously.
• Principle 4: Test case must contain the expected output or result.
11. Principles of Software Testing
• Principle 1: Testing is a process of exercising a software component using a
selected set of test cases, with the intent of (i) revealing defects, and (ii)
evaluating quality.
• Principle 2: A good test case is one that has probability of revealing a yet
undetected defect(s).
• Principle 3: Test results should be inspected meticulously.
• Principle 4: Test case must contain the expected output or result.
12. Principles of Software Testing
• Principle 5: Test cases should be developed for both valid and invalid
input conditions.
• Principle 6: Testing should carried out by a group that is independent
of the development group.
• Principle 7: Tests must be repeatable and reusable.
• Principle 8: Testing should be planned.
13. Principles of Software Testing
• Principle 5: Test cases should be developed for both valid and invalid
input conditions.
• Principle 6: Testing should carried out by a group that is independent
of the development group.
• Principle 7: Tests must be repeatable and reusable.
• Principle 8: Testing should be planned.
14. Principles of Software Testing
• Principle 5: Test cases should be developed for both valid and invalid
input conditions.
• Principle 6: Testing should carried out by a group that is independent
of the development group.
• Principle 7: Tests must be repeatable and reusable.
• Principle 8: Testing should be planned.
15. Principles of Software Testing
• Principle 5: Test cases should be developed for both valid and invalid
input conditions.
• Principle 6: Testing should carried out by a group that is independent
of the development group.
• Principle 7: Tests must be repeatable and reusable.
• Principle 8: Testing should be planned.
16. Types of Software Testing
Software
testing
Black-Box
User-
Inputs
Expected-
Outputs
White-Box
User
Inputs
Expected
Output
Internal
Structure
17. Black-Box (BB) Testing
• Black-box testing is a method of software testing that examines the
functionality of an application without peering into its internal
structures or workings.
• This method of test can be applied to virtually every level of software
testing: unit, integration, system and acceptance.
• Boundary Value Analysis (BVA) and Equivalence Partitioning (EP) are
two basic types of Black Box testing.
18. White-Box Testing
• White-box testing (also known as clear box testing, glass box testing,
transparent box testing, and structural testing) is a method of testing
software that tests internal structures or workings.
• This method of test is generally applied at the beginning of the software
development i.e. at the development of every unit.
• Software developer does the white box testing.