The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Software testing is a sub area of software engineering which is also a knowledge intensive and collaborative activity. Our previous study results revealed that knowledge in the repositories were outdated, internal documents are unstructured and varied formats, less accessing facilities and lack of targeted delivery methods, such that software testers from software companies are highly affected by...
Combinatorial interaction testing (CIT) stands as one of the efficient testing techniques that have been used in different applications recently. The technique is useful when there is a need to take the interaction of input parameters into consideration for testing a system. The key insight the technique is that not every single parameter may contribute to the failure of the system and there could...
Astronomy has been one of the first areas of science to embrace and learn from big data. The amount of data we have on our universe is doubling every year thanks to big telescopes and better light detectors. Most leading research is based on data from a handful of very expensive telescopes. Undoubtedly, the data quality is the key basis for the leading scientific findings. It is imperative that software...
Software testing is a key process that ensures a reliable quality product, and like other activities in the development process, have a wide range of tools available, but still requires a lot of human work, where the final quality of the software can be impacted directly by several factors. In this sense, this study aims to identify the human factors (cognitive, operational and organizational) present...
The paper is devoted to analyzing unsafe features of an Extended Finite State Machine such as the exceeding of the value of a context variable and/or an output parameter, the reachability of critical states, etc. As the ordinary simulation of an EFSM is very complex, the well known verifier Java Path Finder is used for this purpose. The EFSM is implemented as a template Java code that is checked for...
Search-based software testing has achieved great attention recently, but the efficiency is still the bottleneck of it. This paper focuses on improving the efficiency of generating test data for multiple paths. Genetic algorithms are chosen as the heuristic algorithms in search-based software testing in this paper. First, we propose an improved grouping strategy of target paths to balance the load...
Cyclomatic complexity (CC) is used to find out the number of independent paths in a program or software. In literature, different algorithms have been proposed to compute the CC of a program or software. In this paper, we proposed an algorithm for the computation of CC based on graph theory. We apply the proposed method to compute the CC of login module of an Institute Examination System (IES).
Test case prioritization problem (TCP) has been widely discussed. It aims to controlling the test case execution sequence to improve the effectiveness of software testing. The key issue of TCP is to identify which test cases can provide useful information for failure detection and fault localization. So far, many TCP approaches have been proposed. Among them, Adaptive Random Testing (ART) and Dynamic...
We propose the use of search based learning from existing open source test suitesto automatically generate partially correct test oracles. We argue that mutation testing and n-version computing(augmented by deep learningand other soft computingtechniques), will be able to predict whether a program's output is correct sufficiently accurately to be useful.
We propose a novel method for generating test scenarios for a black box autonomous system that demonstrate critical transitions in its performance modes. In complex environments it is possible for an autonomous system to fail at its assigned mission even if it complies with requirements for all subsystems and throws no faults. This is particularly true when the autonomous system may have to choose...
Summary form only given, as follows. SBST 2017 Workshop Summary. Search-Based Software Testing (SBST) is the application of optimizing search techniques (for example, Genetic Algorithms) to solve problems in software testing. SBST is used to generate test data, prioritize test cases, minimize test suites, reduce human oracle cost, verify software models, test service- orientated architectures, construct...
Writing good software tests is difficult, not everysoftware developer’s favorite occupation, and not a prominentaspect in programming education. However, human involvementin testing is unavoidable: What makes a test good is oftendown to intuition; what makes a test useful depends on anunderstanding of the program context; what makes a test findbugs depends on understanding the intended program behaviour...
Research in search-based unit test generation has seen steady development in recent years. New techniques and tools have been developed, and empirical evidence has been collected on the wide-ranging capabilities of search-based algorithms for unit test generation, and for many related software engineering practices. But why are developers not generating all their tests automatically yet in practice?...
Quickly identifying and fixing code changes that introduce regressions is critical to keep the momentum on software development, especially in very large scale software repositories with rapid development cycles, such as at Google. Identifying and fixing such regressions is one of the most expensive, tedious, and time consuming tasks in the software development life-cycle. Therefore, there is a high...
Abstract test case prioritization (ATCP) aims at ordering abstract test case in order to increase the speed at which faults are detected, potentially increasing the fault detection rate. This paper empirically examines possible ATCP techniques, according to the following four categories: non-information-guided prioritization (NIGP), interaction coverage based prioritization (ICBP), input-model mutation...
Already from the early days of testing, practitioners distinguish between unit tests and integration tests as a strategy to locate defects. Unfortunately, the mining software engineering community rarely distinguishes between these two strategies, mainly because it is not straightforward to separate them in the code repositories under study. In this paper we exploited the TravisTorrent dataset provided...
Software testing is a core aspect of software development, but testing programs systematically is not always a core aspect of software engineering education. As a result, software developers often treat testing as a liability, and overall software quality suffers. One of the reasons for this is that standard testing techniques are often perceived as boring and difficult when compared to creative programming...
Software testing has become an essential activity to guarantee software quality. To reduce the overall cost of software testing, model-based testing has been widely studied in the past two decades and Finite State Machine (FSM) is used to build the model of software behaviors. However, due to the inadequacy of the modeling ability of FSM, FSM-based testing cannot be taken as a test oracle to solve...
Debugging is the process of detecting errors or defects in a computer software or a system, and resolving them so that the program works correctly. All the software processing levels have different debugging approaches because parallel programs produce different types of errors while multithreaded programs produce errors due to non-deterministic nature of threads. In this paper I would be explaining...
Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shownnot to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.