Answered step by step
Verified Expert Solution
Link Copied!

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 test-cases 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 10 lines of code (i.e. n=10) and we have k=6 number of different test cases prepared for the testing the module. Table 1 shows an example line numbers covered by each of 6 different example test cases.
Table 1. Example test-case IDs and their code line coverage information.
\table[[Test-Case,Covered Line Numbers],[T_(1),{3,4,6,8}],[T_(2),{1,2,4,9,10}],[T_(3),{5,6,8,10}],[T_(4),{2,5,8,9}],[T_(5),{1,4,6,7,9,10}],[T_(6),{1,2,3,5,8}]]
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_(5) and T_(6) that covers all the 10 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 back-end solver (namely IBM-Cplex Solver) on the fly. Finally, display the obtained result in a meaningful way. See Figure 1 below.
Figure 1. A simple architectural view for your test case selection software.
SAMPLE INPUT:
10// Number of lines of code of the module
6// Number of test cases
3468// Covered lines by test case number #1
124910// Covered lines by test case number #2
56810// Covered lines by test case number #3
2589// Covered lines by test case number #4
1467910// Covered lines by test case number #5
12358// Covered lines by test case number #6
SAMPLE OUTPUT:
IDs of the minimum number of selected test cases that covers all the module lines: 56
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 hard-code 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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Beyond Big Data Using Social MDM To Drive Deep Customer Insight

Authors: Martin Oberhofer, Eberhard Hechler

1st Edition

0133509796, 9780133509793

More Books

Students also viewed these Databases questions