Question: DESCRIPTION Program Under Test Consider a program which splits an input list of integers into two lists of integers as output according to the following

DESCRIPTION
Program Under Test
Consider a program which splits an input list of integers into two lists of integers as output according
to the following specifications:
For the input list, the program is expected to accept a non-empty list of not more than 30
integers within the ranges of [-100,100], where integer 0 is regarded to be negative in this
assignment. The input list may contain duplicated integers (that is, the same integer may
appear more than once in the input list).
For the output lists, one of them contains only positive integers in ascending order without
duplication of integers, and the other list contains only negative integers in ascending order
without duplication of integers. Note that one of the output lists may be an empty list for
some inputs.
For example, suppose that the input list is [10,-9,15,7,10,-5,28]. This list contains 7 elements
which are all within the range of [-100,100] with some integers like 10 appearing more than once
in the list. This is a valid test case. Its relevant outputs are two lists, one of which is [-9,-5](only
negative integers, in ascending order without duplication), and the other list is [7,10,15,28](only
positive integers, in ascending order without duplication. Since the input is restricted to contain no
more than 30 integers whose values are within the range of [-100,100], the computed outputs can
be easily validated in a manual approach, and hence you can assume that this program has no test
oracle problem.
A program-under-test is given in either Python or Ruby in the Appendix.
Assignment Requirement
In this assignment, you are required to do the followings:
A. TASKS
Task 1: You are required to construct six valid concrete test cases for this program, which serve
for different testing purposes or objectives. Valid test cases are non-empty lists of integers with
not more than 30 elements, where some elements could be duplicated and integer 0 is regarded
as negative in this assignment.
2
Apart from explicitly describing your concrete test cases, you must describe and justify their
purposes, and explicitly describe their relevant outputs. For example, for the test case [13,7,
9,15]. Its outputs should be two lists, the [7,9,13,15] and the empty list denoted by []. This
test case serves to test the scenario that the output list of negative integers is empty.
Task 2: Suppose that due to testing resources, you cannot test the program with all your six test
cases constructed above. You can only afford to test your program with one and only one test
case. What will be your choice of this single test case among the 6 test cases proposed by you
in Task 1? Explain and justify your choice.
Task 3: Conduct the testing with any one of two programs given in the Appendix with all your
test cases in Task 1. Note that the program may contain bugs. Report the individual test cases
and the results, discuss the insights of test outcome including the suggestion to improve the
program under test from the test finding.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Finance Questions!