Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Imagine that you are head of testing department of a software house. In your department, there are several testing staff who design test - cases
Imagine that you are head of testing department of a software house. In your department, there are several testing staff who design testcases for different software modules. A module holds some n number of lines of code and each test case may cover some of the code lines of the module. For example, let our very simple module contains lines of code ie n and we have k number of different test cases prepared for the testing the module. Table shows an example line numbers covered by each of different example test cases.
Table Example testcase IDs and their code line coverage information.
tableTestCase,Covered Line NumbersTTTTTT
As the head of the testing department, you wish to minimize the number of applied test cases per module in order to save testing time. On the other hand, the selected minimum number of test cases among k alternatives are required to cover all the lines of module under test together in order to not to risk some of the module lines not being tested. In other words, the selected minimum number of test cases should cover all the code lines of the module collectively. For example for the above problem instance, you have to select the test cases T and T that covers all the module lines together. In your solution, assume that each line of the module under test
is covered by at least one test case.
In order to solve the problem, you decide to develop a software tool that uses Transform & Conquer algorithm design technique. According to the approach, first you need to convert given problem instance into an Integer Linear Programming ILP problem then solve the constructed ILP problem by using a backend solver namely IBMCplex Solver on the fly. Finally, display the obtained result in a meaningful way. See Figure below.
Figure A simple architectural view for your test case selection software.
SAMPLE INPUT:
Number of lines of code of the module
Number of test cases
Covered lines by test case number #
Covered lines by test case number #
Covered lines by test case number #
Covered lines by test case number #
Covered lines by test case number #
Covered lines by test case number #
SAMPLE OUTPUT:
IDs of the minimum number of selected test cases that covers all the module lines:
Your homework submission should include the following pieces:
i A report that explains how you transform the test case selection problem into the ILP problem.
ii Source code of your algorithm. In your code, do NOT hardcode the sample problem input instance above but read the sample input either from screen or from a text file.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started