The objective of this laboratory experiment is to become familiar with several black-box testing
techniques, specifically the Extreme Point Combination (EPC), and weak n x 1 testing strategies.
The following sections will serve as an introduction to the testing techniques used in this lab.
Please be aware that only those testing techniques required for the assignment need to be used for
Extreme point combination (EPC)
For a given subdomain, complete a single domain analysis in order to identify the domain
limits for each dimension (variable).
Choose test cases for xi max, min, slightly under min, slightly over max.
Produce all possible combinations of inputs with each of its variables taking on one of the
four values shown above in the n-dimensional space. This should result in 4 n + 1 test
cases (one test is added somewhere within the valid subdomain).
Weak n x 1 strategy
Linear boundaries of the problem must be identified through domain analysis
Select n points located on the boundary, n is the dimensionality of the problem
Plus one point located off the boundary
Boundaries are linear, hence n independent points fully specify each boundary
If the boundary is open then all points on the boundary receive exterior processing, choose
the additional point within the boundary.
Else if the boundary is closed the all points on the boundary receive interior processing,
choose the additional point outside the boundary.
This strategy produces b(n+1)+1 test cases where b is the number of linear boundaries, and
n is the dimensionality.
Test case automation
In many forms of testing the number of required test cases can become very large very
quickly as the system complexity increases.
Performing large numbers of manual test cases is time consuming and tiresome, something
to be avoided.
Many types of testing can be automated to speed up testing and reduce the effort required
by the tester when simple input/output tests are required.
Prepare a set of test cases for both tasks you will be completing during the lab session. Follow
formatting for test cases similar to the formatting used in lab 1. (ID, description / input values,
expected result, actual result). Remember when reporting your test results to highlight failed test
For all experiments in this lab, you should only include test cases specific to the testing methods
focused on in this assignment. You do not need to include any error guessing etc test cases for this
Task 1 (35 marks):
A new GPS-enabled automated pilot system is being tested for an unmanned reconnaissance
aircraft. The benefit of such a system would allow the government to perform peaceful
reconnaissance missions without the risk of sending a highly trained pilot and using very expensive
aircraft. The system controls the unmanned aircraft from takeoff to landing. The unmanned aircraft
has enough fuel to reach a maximum range of some distance k before needing to turn back to home
base, i.e. k is the maximum distance the unmanned aircraft can fly before exceeding the “point of
no return.” A maximum of 3 waypoints can be specified in the autopilot system before the
unmanned aircraft starts its trek to home base.
The system is simplified by assuming that the unmanned aircraft follows the same path back to its
destination. The distances to each waypoint are given by x1, x2, and x3.
Figure shows three legs of combined distance less than k.
The application provided for this task takes three inputs: The value of k is hardcoded to 100 for
simplicity, and three values for the lengths of each leg of the trip are entered on one line separated
drone> x1 x2 x3
The application will output success, failure, or give an explanatory error message. Each value
should be specified as an integer value.
The application satisfies the following system of inequalities:
x1 + x2 + x3 <= k
The application for this task is available on the class website along with running instructions.
Your task for this portion of the lab is to:
(1) Draw the subdomain for this problem. Include this drawing in your report.
(2) Apply the EPC strategy and develop a set of test cases
(3) Apply the weak n x 1 strategy and develop a set of test cases
(4) Execute your test cases for both types of testing and record your results
For your report include:
(1) Your observations and completed test cases, failed test cases should be highlighted, test cases
must be presented in a test case table.
(2) A comparison of the two testing strategies in terms of effectiveness and efficiency (# test cases,
discovery of errors, effort)
(3) Describe any errors you may have found in the application
(4) A discussion of the root causes of these errors, from what you can tell as a black box Tester
(5) Your subdomain diagram, with labeled axes, must be readable.
Task 2 (35 marks):
You are testing a software program that allows you to pilot a remote-controlled car. The program
accepts Cartesian inputs in the form of (x, y) that specify where the car should move. Your
computer radio signal originates at the origin (0,0). Unfortunately, if the car exceeds a maximum
distance of r from the origin, the signal strength is too weak to be recognized and the instructions
fail. This results in a circular domain of radius r centered at the origin where the car can be
Circular boundaries are too complex to test using the linear methods we have learned so far. Hence,
we need to approximate the circular subdomain with m linear segments. For this lab task, we will
use a simple case of m = 4, with the new subdomain defined as the square formed within the
circular boundary. For simplicity, the radius is hard coded to r = 1 for this lab experiment.
Approximate subdomain shown in red, center is at the origin.
During test case generation, you should use expected values under the assumption that the domain
approximation used is the real domain.
Your task for this task is to:
(1) Formulate the equations of the approximated linear boundaries
(2) Apply both the EPC and weak n x 1 strategy to this problem
(3) Develop test cases for each strategy
(4) Execute your test cases and record the results
(5) Comment on the use of domain approximation, is it effective? Would a different
configuration be better? How would the complexity of the problem be affected?
(6) Provide a discussion on the effectiveness of your test cases, and how meaningful your
tests are considering the approximation, are these strategies efficient?
(7) Did you identify any errors in the application? Are they approximation errors or real
For your report include:
(1) Completed observations and completed test cases
(2) A comparison of the two strategies for this task
(3) The equations for the linear segments used to define the problems subdomain
(4) Your comments on domain approximation
– Would using more linear segments improve the approximation?
– How many test cases would be required for EPC and weak n x 1 if we instead
used 8 linear segments? Or more?
Must be typed, no handwritten versions will be accepted. Follow the general format as
included in the lab guideline. Your report should include:
Your write-up, and all diagrams, equations
The results of your test cases in table form, failed test cases highlighted
Any conclusions you have drawn from these test cases regarding the applications under
The required discussions on testing methods etc.
Clearly indicate all failed test cases, and explain the cause of these failures.