ISTQB (Part 3)
ISTQB (Part 3)
ISTQB (Part 3)
Module 3
Software Dynamic Verification
• Unit Test
• Integration Test
• System Test
• Acceptance Test
Prepared By: AMIT Learning
Definition & Scope of Testing
• Scope: Testing can not demonstrate the absence of errors. It can only
demonstrate the presence of errors.
• Make sure that the system does not do anything that it is not supposed to do.
• Try to minimize the risk that your customers would have by using the system
• Defect (or fault) is the result of introducing an error into a software artifact
• Debugging is concerned with finding where defects occur (in code, design or
requirements) and removing them; fault identification and removal.
• Build Verification Test (Build Acceptance Test) is a set of tests run on each
new build of a system to verify that the build is testable before the build is
released into the hands of the test team.
• Performed through providing valid data and/ or valid conditions that will be
processed through the normal paths.
• Performed through providing invalid data and/ or invalid conditions that will
be processed through the error handling paths.
• Test Case is a collection of input values (test data) and a collection of expected output
values designed to test a specific situation of a running software system or part of a
system.
• Test case specification lists inputs, expected outputs, features to be tested by this
test case, and any other special requirements e.g. setting of environment variables
and test procedures. Dependencies with other test cases are also specified.
• Scenarios:
• Scenario:
• Test a reservation for a child under the age of 12 traveling with a senior
• Scenario:
• Test auto parallel parking on the right side of the road
• Test auto parallel parking on the left side of the road
• Test auto perpendicular backward parking in slot = vehicle dimensions +
20%
Acceptance Test
• There is some debate about what constitutes a “unit”. Here some common
definitions of a unit:
• It provides the tested module with test cases, and displays results produced
by the tested module.
• Integration testing takes a sits input modules that have been unit tested,
groups them in larger aggregates, applies tests defined in an integration test
plan to those aggregates, and delivers a sits output the integrated system
ready for system testing
• The modules still have errors that were not uncovered in unit testing
• Time spent on integration test is impacted by the clarity of the interfaces design and
the strength of the unit test
• Advantages:
• Suitable for small-sized and simple systems with limited number of components
• Saves the time of developing drivers and stubs
• Suitable when modules have been heavily unit tested
• Helps for showing the overall system behavior early
• Disadvantages:
• Risky for systems with large number of components
• Complicates the debugging process
• Integration cannot start before all system modules are ready
• In the Incremental Top-Down approach, the general modules at the top of the
overall logic path are tested first, using stubs for the called modules, then the
called modules are added using stubs for modules they might call.
• Advantages: easier to logically understand and helps for seeing the big
picture first.
• M1 with M2
• M1 with M3
• M3 with M6
• M2 with M4
• M2 with M5
• M6 with M3
• M4 with M2
• M5 with M2
• M2 with M1
• M3 with M1
• Disadvantages:
• Requires developing drivers and stubs
• Doesn’t allow showing the overall system behavior early
• A set of formal tests run for the client, and specified by the client. When the
system passes these tests, the software has been accepted by the client as
meeting the requirements.
• Main difference from System Test is that it doesn’t contain corner scenarios.
• Inspection Either