Research Notes: Binary Test-Suites Using Covering Arrays

Author(s):  
Jose Torres-Jimenez ◽  
Himer Avila-George ◽  
Ezra Federico Parra-González

Software testing is an essential activity to ensure the quality of software systems. Combinatorial testing is a method that facilitates the software testing process; it is based on an empirical evidence where almost all faults in a software component are due to the interaction of very few parameters. The test generation problem for combinatorial testing can be represented as the construction of a matrix that has certain properties; typically this matrix is a covering array. Covering arrays have a small number of tests, in comparison with an exhaustive approach, and provide a level of interaction coverage among the parameters involved. This paper presents a repository that contains binary covering arrays involving many levels of interaction. Also, it discusses the importance of covering array repositories in the construction of better covering arrays. In most of the cases, the size of the covering arrays included in the repository reported here are the best upper bounds known, moreover, the files containing the matrices of these covering arrays are available to be downloaded. The final purpose of our Binary Covering Arrays Repository (BCAR) is to provide software testing practitioners the best-known binary test-suites.

Author(s):  
Renée C. Bryce ◽  
Yu Lei ◽  
D. Richard Kuhn ◽  
Raghu Kacker

Software systems today are complex and have many possible configurations. Products released with inadequate testing can cause bodily harm, result in large economic losses or security breaches, and affect the quality of day-to-day life. Software testers have limited time and budgets, frequently making it impossible to exhaustively test software. Testers often intuitively test for defects that they anticipate while less foreseen defects are overlooked. Combinatorial testing can complement their tests by systematically covering t-way interactions. Research in combinatorial testing includes two major areas (1) algorithms that generate combinatorial test suites and (2) applications of combinatorial testing. The authors review these two topics in this chapter.


Author(s):  
Soumen Maity ◽  
Charles J. Colbourn

Covering arrays are combinatorial objects that have been successfully applied in design of test suites for testing systems such as software, hardware, and networks where failures can be caused by the interaction between their parameters. Let [Formula: see text] and [Formula: see text] be positive integers with [Formula: see text]. Two vectors [Formula: see text] and [Formula: see text] are qualitatively independent if for any ordered pair [Formula: see text], there exists an index [Formula: see text] such that [Formula: see text]. Let [Formula: see text] be a graph with [Formula: see text] vertices [Formula: see text] with respective vertex weights [Formula: see text]. A mixed covering array on[Formula: see text] , denoted by [Formula: see text], is a [Formula: see text] array such that row [Formula: see text] corresponds to vertex [Formula: see text], entries in row [Formula: see text] are from [Formula: see text]; and if [Formula: see text] is an edge in [Formula: see text], then the rows [Formula: see text] are qualitatively independent. The parameter [Formula: see text] is the size of the array. Given a weighted graph [Formula: see text], a mixed covering array on [Formula: see text] with minimum size is optimal. In this paper, we introduce some basic graph operations to provide constructions for optimal mixed covering arrays on the family of graphs with treewidth at most three.


2019 ◽  
Vol 10 (1) ◽  
pp. 1239-1250
Author(s):  
Abhinandan H Patil

Although several studies have been conducted on regression test selection, augmentation, prioritization, and pruning, regression test suite creation is performed in an ad hoc manner for most software systems by selecting a few crucial parameters and their combinations. Regression test suite creation can be rigorously approached by using the combinatorial testing (CT) method. Although this approach is advantageous, it has been used in only a few cases. This paper presents a practical approach for applying CT and augmenting the Contiki and Cooja base regression test suites with the National Institute of Standards and Technology tools.


Author(s):  
Imad H. Hasan ◽  
Bestoun S. Ahmed ◽  
Moayad Y. Potrus ◽  
Kamal Z. Zamli

To ensure the quality of current highly configurable software systems, intensive testing is needed to test all the configuration combinations and detect all the possible faults. This task becomes more challenging for most modern software systems when constraints are given for the configurations. Here, intensive testing is almost impossible, especially considering the additional computation required to resolve the constraints during the test generation process. In addition, this testing process is exhaustive and time-consuming. Combinatorial interaction strategies can systematically reduce the number of test cases to construct a minimal test suite without affecting the effectiveness of the tests. This paper presents a new efficient search-based strategy to generate constrained interaction test suites to cover all possible combinations. The paper also shows a new application of constrained interaction testing in software fault searches. The proposed strategy initially generates the set of all possible [Formula: see text]-[Formula: see text] combinations; then, it filters out the set by removing the forbidden [Formula: see text]-[Formula: see text] using the Base Forbidden Tuple (BFT) approach. The strategy also utilizes a mixed neighborhood tabu search (TS) to construct optimal or near-optimal constrained test suites. The efficiency of the proposed method is evaluated through a comparison against two well-known state-of-the-art tools. The evaluation consists of three sets of experiments for 35 standard benchmarks. Additionally, the effectiveness and quality of the results are assessed using a real-world case study. Experimental results show that the proposed strategy outperforms one of the competitive strategies, ACTS, for approximately 83% of the benchmarks and achieves similar results to CASA for 65% of the benchmarks when the interaction strength is 2. For an interaction strength of 3, the proposed method outperforms other competitive strategies for approximately 60% and 42% of the benchmarks. The proposed strategy can also generate constrained interaction test suites for an interaction strength of 4, which is not possible for many strategies. The real-world case study shows that the generated test suites can effectively detect injected faults using mutation testing.


10.37236/571 ◽  
2011 ◽  
Vol 18 (1) ◽  
Author(s):  
Jim Lawrence ◽  
Raghu N. Kacker ◽  
Yu Lei ◽  
D. Richard Kuhn ◽  
Michael Forbes

Binary covering arrays of strength $t$ are 0–1 matrices having the property that for each $t$ columns and each of the possible $2^t$ sequences of $t$ 0's and 1's, there exists a row having that sequence in that set of $t$ columns. Covering arrays are an important tool in certain applications, for example, in software testing. In these applications, the number of columns of the matrix is dictated by the application, and it is desirable to have a covering array with a small number of rows. Here we survey some of what is known about the existence of binary covering arrays and methods of producing them, including both explicit constructions and search techniques.


2016 ◽  
pp. 141-149
Author(s):  
S.V. Yershov ◽  
◽  
R.М. Ponomarenko ◽  

Parallel tiered and dynamic models of the fuzzy inference in expert-diagnostic software systems are considered, which knowledge bases are based on fuzzy rules. Tiered parallel and dynamic fuzzy inference procedures are developed that allow speed up of computations in the software system for evaluating the quality of scientific papers. Evaluations of the effectiveness of parallel tiered and dynamic schemes of computations are constructed with complex dependency graph between blocks of fuzzy Takagi – Sugeno rules. Comparative characteristic of the efficacy of parallel-stacked and dynamic models is carried out.


Author(s):  
Feidu Akmel ◽  
Ermiyas Birihanu ◽  
Bahir Siraj

Software systems are any software product or applications that support business domains such as Manufacturing,Aviation, Health care, insurance and so on.Software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from other for this reason it is better to apply the software metrics to measure the quality of software. Attributes that we gathered from source code through software metrics can be an input for software defect predictor. Software defect are an error that are introduced by software developer and stakeholders. Finally, in this study we discovered the application of machine learning on software defect that we gathered from the previous research works.


2019 ◽  
Author(s):  
Chem Int

Liquid effluents discharged by hospitals may contain chemical and biological contaminants whose main source is the different substances used for the treatment of patients. This type of rejection can present a sanitary potentially dangerous risk for human health and can provoke a strong degradation of diverse environmental compartments mainly water and soils. The present study focuses on the quality of the liquid effluents of Hassani Abdelkader’s hospital of Sidi Bel-Abbes (West of Algeria). The results reveal a significant chemical pollution (COD: 879 mgO2/L, BOD5: 850 mgO2/L, NH4+ : 47.9 mg/l, NO2- : 4.2 mg/l, NO3- : 56.8 mg/l with respect to WHO standard of 90 mgO2/L, 30 mgO2/L, 0.5 mg/l, 1 mg/l and 1 mg/l respectively). However, these effluents are biodegradable since the ratio COD/BOD5 do not exceeded the value of 2 in almost all samples. The presence of pathogen germs is put into evidence such as pseudomonas, the clostridium, the staphylococcus, the fecal coliforms and fecal streptococcus. These results show that the direct discharge of these effluents constitutes a major threat to human health and the environment.


2021 ◽  
pp. 234763112110072
Author(s):  
Srinivasan Lakshminarayanan ◽  
N. J. Rao ◽  
G. K. Meghana

The introductory programming course, commonly known as CS1 and offered as a core course in the first year in all engineering programs in India, is unique because it can address higher cognitive levels, metacognition and some aspects of the affective domain. It can provide much needed transformative experiences to students coming from a system of school education that is dominantly performance-driven. Unfortunately, the CS1 course, as practiced in almost all engineering programs, is also performance-driven because of a variety of compulsions. This paper suggests that the inclusion of a course CS0 can bring about transformative learning that can potentially make a significant difference in the quality of learning in all subsequent engineering courses. The suggested instruction design of this course takes the advantage of the unique features of a course in programming. The proposed CS0 course uses “extreme apprenticeship” and “guided discovery” methods of instruction. The effectiveness of these instruction methods was established through the use of the thematic analysis, a well-known qualitative research method, and the associated coding of transformative learning experiences and instruction components.


2021 ◽  
Vol 11 (12) ◽  
pp. 5690
Author(s):  
Mamdouh Alenezi

The evolution of software is necessary for the success of software systems. Studying the evolution of software and understanding it is a vocal topic of study in software engineering. One of the primary concepts of software evolution is that the internal quality of a software system declines when it evolves. In this paper, the method of evolution of the internal quality of object-oriented open-source software systems has been examined by applying a software metric approach. More specifically, we analyze how software systems evolve over versions regarding size and the relationship between size and different internal quality metrics. The results and observations of this research include: (i) there is a significant difference between different systems concerning the LOC variable (ii) there is a significant correlation between all pairwise comparisons of internal quality metrics, and (iii) the effect of complexity and inheritance on the LOC was positive and significant, while the effect of Coupling and Cohesion was not significant.


Sign in / Sign up

Export Citation Format

Share Document