Topic 4 - Testing Through The Lifecyle - Part 2
Topic 4 - Testing Through The Lifecyle - Part 2
Outline
• Software Development models
• Test levels
• Test types
• Maintenance testing
Test Techniques
Testing Type: A. Functional Testing
ID Test Condition
TC01 Check/Validate waiter login using valid data.
Below is example, a design of the test procedure and test case that can be
derived:
ID Test Test Procedure Test Data Expected Actual Pass?
Scenario Result Result
TC01 Check 1. Open Restaurant User ID: roha User As Pass
waiter Order Management Password: successfully expected
login with System using roha99 login
valid data. browser.
2. Enter User ID
3. Enter User password
4. Click submit
TC02 Check 1. Open Restaurant User ID: roha User As Pass
waiter Order Management Password: unsuccessfully expected
login with System using roha19 login
invalid browser.
data. 2. Enter User ID
3. Enter User password
4. Click submit
Functional System Testing
B. Given system requirements
functional specification
•Test procedures and cases derived from:
– expected user profiles
– Business scenarios
– use cases
•Testing should reflect the business
environment and processes in which the
system will operate. • Based on this Use Case diagram,
•Therefore, test cases should be based what functions to be tested?
• What test scenario to be tested?
on real business processes.
• How many test cases to be
produced?
Testing Type: B. Non-functional Testing
Definition
Non-functional requirements
Non-functional requirements
•Emphasis on non-functional requirements:
– Performance
– Load
– Data volumes
– Storage
– Recovery
– Usability
– Stress
Non-Functional Testing - Example
Given a non-functional requirements as follows:
R101: The server shall be capable of supporting no less than 200
concurrent connections from any combination of surface
computers, tablets and displays.
ID Test Condition
TC01 Check/Validate the capability of the system with more than 200 concurrent users are
connected.
TC02 Check/Validate the capability of the system with less than 200 concurrent users are
connected.
Non-Functional Testing - Example
Given a non-functional requirements as follows:
R101: The server shall be capable of supporting no less than 200
concurrent connections from any combination of surface computers,
tablets and displays.
Test types
Structural Testing
•If the test is re-run and passes you cannot necessarily say the fault has been
resolved because you also need to ensure that the modifications have not caused
unintended side-effects elsewhere and that the modified system still meets its
requirements.
•Regression testing should be carried out :-
when the system is stable and the system or the environment changes
when testing bug-fix releases as part of the maintenance phase
•It should be applied at all Test Levels.
•It should be considered complete when agreed completion criteria for regression
testing have been met.
•Regression test suites evolve over time and given that they are run frequently are
ideal candidates for automation.
Regression Testing
• Selecting suitable tests involves :-
knowledge of the bug fixes and how they affect the system
understanding the areas that have frequent faults
understanding which areas of the system have undergone the
most recent changes
understanding the areas of the system which are most critical to
the user
understanding the core features of the system which must
function correctly.
• The effectiveness of a regression test suite can diminish over time for
a number of reasons :-
tests are added for short term goals but not removed
tests become redundant due to functionality changes
test suite is not updated when major functionality changes are
implemented
execution time becomes prohibitively high
maintenance of the test suite becomes prohibitively high.
Regression Testing
• Reduction in effectiveness can be countered by :-
maintaining cross references between system features
and their corresponding tests
monitoring the addition of tests to the suite
Periodic review and removal of redundant tests
review of the test suite when major enhancements are
made to the system
evaluation of the effectiveness of the test suite using
metrics.
Regression Testing
Activity 1.0:
1.Use Google to search the answer.
2.Think individually for 1 minute and complete the answer in a given
table below.
3.Discuss with your partner for 2 minutes.
4.Share with the class when asked