Spelling suggestions: "subject:"degression testing"" "subject:"aregression testing""
11 |
Automated regression testing in Power Grids applicationsFlodström, Kristian, Simon, Andersson January 2019 (has links)
During development of any kind, the testing process is a big part in terms of time and money. Automating the testing procedure to run regression tests more frequent and in an effective manner makes the development phase a simpler and more development focused activity. This thesis will study the possibility of automating the release testing of new platforms by using statistical tolerances on ABB FACTS products. To do this, a research and literature study regarding tolerances within control systems and automated testing including regression testing is used. The result of the study presents a proof of concept that the release testing can be automated using statistical tolerances as verification.
|
12 |
Using Autonomous Agents for Software Testing Based on JADENyussupov, Adlet January 2019 (has links)
The thesis work describes the development of a multiagent testing application (MTA) based on an agent approach for solving challenges in regression testing domain, such as: reducing the complexity of testing, optimizing the time consumption, increasing the efficiency and implementing the automation of this approach for regression testing. All these challenges related to effectiveness and cost, can be represented as measures of achieved code coverage and number of test cases created. A multiagent approach is proposed in this thesis since it allows the implementation of the autonomous behaviour and optimizes the data processing in a heterogeneous environment. In addition, the agent-based approach provides flexible design methods for building multitask applications and conducting parallel task execution. However, all of these advantages of using an agent-based approach need to be investigated in the regression testing domain for realistic scenarios. Therefore, a hypothesis was formulated in order to investigate the efficiency of the MTA approach using an experiment as the main research method for obtaining results. The thesis includes a comparison analysis between the MTA and well-known test case generation tools (i.e. EvoSuite and JUnitTools) for identifying the differences in terms of efficiency and code coverage achieved. The comparison results showed advantages of the MTA within regression testing context due to optimal level of code coverage and test cases. The outcome of the thesis work moves toward solving the aforementioned problems in regression testing domain and shows some advantages of using the multagent approach within regression testing context.
|
13 |
A Bayesian Framework for Software Regression TestingMir arabbaygi, Siavash January 2008 (has links)
Software maintenance reportedly accounts for much of the total cost associated
with developing software. These costs occur because modifying software is a highly
error-prone task. Changing software to correct faults or add new functionality
can cause existing functionality to regress, introducing new faults. To avoid such
defects, one can re-test software after modifications, a task commonly known as
regression testing.
Regression testing typically involves the re-execution of test cases developed for
previous versions. Re-running all existing test cases, however, is often costly and
sometimes even infeasible due to time and resource constraints. Re-running test
cases that do not exercise changed or change-impacted parts of the program carries
extra cost and gives no benefit. The research community has thus sought ways to
optimize regression testing by lowering the cost of test re-execution while preserving
its effectiveness. To this end, researchers have proposed selecting a subset of test
cases according to a variety of criteria (test case selection) and reordering test cases
for execution to maximize a score function (test case prioritization).
This dissertation presents a novel framework for optimizing regression testing
activities, based on a probabilistic view of regression testing. The proposed framework
is built around predicting the probability that each test case finds faults in the
regression testing phase, and optimizing the test suites accordingly. To predict such
probabilities, we model regression testing using a Bayesian Network (BN), a powerful
probabilistic tool for modeling uncertainty in systems. We build this model using
information measured directly from the software system. Our proposed framework
builds upon the existing research in this area in many ways. First, our framework
incorporates different information extracted from software into one model, which
helps reduce uncertainty by using more of the available information, and enables
better modeling of the system. Moreover, our framework provides flexibility by
enabling a choice of which sources of information to use. Research in software
measurement has proven that dealing with different systems requires different techniques
and hence requires such flexibility. Using the proposed framework, engineers
can customize their regression testing techniques to fit the characteristics of their
systems using measurements most appropriate to their environment.
We evaluate the performance of our proposed BN-based framework empirically.
Although the framework can help both test case selection and prioritization, we
propose using it primarily as a prioritization technique. We therefore compare our
technique against other prioritization techniques from the literature. Our empirical
evaluation examines a variety of objects and fault types. The results show that the
proposed framework can outperform other techniques on some cases and performs
comparably on the others.
In sum, this thesis introduces a novel Bayesian framework for optimizing regression
testing and shows that the proposed framework can help testers improve the
cost effectiveness of their regression testing tasks.
|
14 |
A Bayesian Framework for Software Regression TestingMir arabbaygi, Siavash January 2008 (has links)
Software maintenance reportedly accounts for much of the total cost associated
with developing software. These costs occur because modifying software is a highly
error-prone task. Changing software to correct faults or add new functionality
can cause existing functionality to regress, introducing new faults. To avoid such
defects, one can re-test software after modifications, a task commonly known as
regression testing.
Regression testing typically involves the re-execution of test cases developed for
previous versions. Re-running all existing test cases, however, is often costly and
sometimes even infeasible due to time and resource constraints. Re-running test
cases that do not exercise changed or change-impacted parts of the program carries
extra cost and gives no benefit. The research community has thus sought ways to
optimize regression testing by lowering the cost of test re-execution while preserving
its effectiveness. To this end, researchers have proposed selecting a subset of test
cases according to a variety of criteria (test case selection) and reordering test cases
for execution to maximize a score function (test case prioritization).
This dissertation presents a novel framework for optimizing regression testing
activities, based on a probabilistic view of regression testing. The proposed framework
is built around predicting the probability that each test case finds faults in the
regression testing phase, and optimizing the test suites accordingly. To predict such
probabilities, we model regression testing using a Bayesian Network (BN), a powerful
probabilistic tool for modeling uncertainty in systems. We build this model using
information measured directly from the software system. Our proposed framework
builds upon the existing research in this area in many ways. First, our framework
incorporates different information extracted from software into one model, which
helps reduce uncertainty by using more of the available information, and enables
better modeling of the system. Moreover, our framework provides flexibility by
enabling a choice of which sources of information to use. Research in software
measurement has proven that dealing with different systems requires different techniques
and hence requires such flexibility. Using the proposed framework, engineers
can customize their regression testing techniques to fit the characteristics of their
systems using measurements most appropriate to their environment.
We evaluate the performance of our proposed BN-based framework empirically.
Although the framework can help both test case selection and prioritization, we
propose using it primarily as a prioritization technique. We therefore compare our
technique against other prioritization techniques from the literature. Our empirical
evaluation examines a variety of objects and fault types. The results show that the
proposed framework can outperform other techniques on some cases and performs
comparably on the others.
In sum, this thesis introduces a novel Bayesian framework for optimizing regression
testing and shows that the proposed framework can help testers improve the
cost effectiveness of their regression testing tasks.
|
15 |
Self-learning algorithms applied in Continuous Integration systemTummala, Akhil January 2018 (has links)
Context: Continuous Integration (CI) is a software development practice where a developer integrates a code into the shared repository. And, then an automated system verifies the code and runs automated test cases to find integration error. For this research, Ericsson’s CI system is used. The tests that are performed in CI are regression tests. Based on the time scopes, the regression test suites are categorized into hourly and daily test suits. The hourly test is performed on all the commits made in a day, whereas the daily test is performed at night on the latest build that passed the hourly test. Here, the hourly and daily test suites are static, and the hourly test suite is a subset of the daily test suite. Since the daily test is performed at the end of the day, the results are obtained on the next day, which is delaying the feedback to the developers regarding the integration errors. To mitigate this problem, research is performed to find the possibility of creating a learning model and integrating into the CI system, which can then create a dynamic hourly test suite for faster feedback. Objectives: This research aims to find the suitable machine learning algorithm for CI system and investigate the feasibility of creating self-learning test machinery. This goal is achieved by examining the CI system and, finding out what type data is required for creating the learning model for prioritizing the test cases. Once the necessary data is obtained, then the selected algorithms are evaluated to find the suitable learning algorithm for creating self-learning test machinery. And then, the investigation is done whether the created learning model can be integrated into the CI workflow to create the self-learning test machinery. Methods: In this research, an experiment is conducted for evaluating the learning algorithms. For this experimentation, the data is provided by Ericsson AB, Gothenburg. The dataset consists of the daily test information and the test case results. The algorithms that are evaluated in this experiment are Naïve Bayes, Support vector machines, and Decision trees. This evaluation is done by performing leave-one-out cross-validation. And, the learning algorithm performance is calculated by using the prediction accuracy. After obtaining the accuracies, the algorithms are compared to find the suitable machine learning algorithm for CI system. Results: Based on the Experiment results it is found that support vector machines have outperformed Naïve Bayes and Decision tree algorithms in performance. But, due to the challenges present in the current CI system, the created learning model is not feasible to integrate into the CI. The primary challenge faced by the CI system is, mapping of test case failure to its respective commit is no possible (cannot find which commit made the test case to fail). This is because the daily test is performed on the latest build which is the combination of commits made in that day. Another challenge present is low data storage. Due to this low data storage, problems like the curse of dimensionality and class imbalance has occurred. Conclusions: By conducting this research, a suitable learning algorithm is identified for creating a self-learning machinery. And, also identified the challenges facing to integrate the model in CI. Based on the results obtained from the experiment, it is recognized that support vector machines have high prediction accuracy in test case result classification compared to Naïve Bayes and Decision trees.
|
16 |
Regression Test Selection in Multi-TaskingReal-Time Systems based on Run-Time logsLING, ZHANG January 2009 (has links)
Regression testing plays an important role during the software development life-cycle,especially during maintenance, it provides confidence that the modified parts of softwarebehave as intended and the unchanged parts have no affect by the modification. Regressiontest selection is used to select test cases from the test suites which have been used to test theprevious version of the software. In this thesis, we extend the traditional definition of a testcase with a log file, containing information of which events that occurred when the test casewas last executed. Based on the contents of this log file, we propose a method of regressiontest selection for multi-tasking real-time systems, able to determine which parts of softwarethat have not been affected by the modification. Therefore, the test cases designed for theunchanged parts do not need to be re-tested.
|
17 |
Application of Adaptive Techniques in Regression Testing for Modern Software DevelopmentAzizi, Maral 08 1900 (has links)
In this dissertation we investigate the applicability of different adaptive techniques to improve the effectiveness and efficiency of the regression testing. Initially, we introduce the concept of regression testing. We then perform a literature review of current practices and state-of-the-art regression testing techniques. Finally, we advance the regression testing techniques by performing four empirical studies in which we use different types of information (e.g. user session, source code, code commit, etc.) to investigate the effectiveness of each software metric on fault detection capability for different software environments. In our first empirical study, we show the effectiveness of applying user session information for test case prioritization. In our next study, we apply learning from the previous study, and implement a collaborative filtering recommender system for test case prioritization, which uses user sessions and change history information as input parameter, and return the risk score associated with each component. Results of this study show that our recommender system improves the effectiveness of test prioritization; the performance of our approach was particularly noteworthy when we were under time constraints. We then investigate the merits of multi-objective testing over single objective techniques with a graph-based testing framework. Results of this study indicate that the use of the graph-based technique reduces the algorithm execution time considerably, while being just as effective as the greedy algorithms in terms of fault detection rate. Finally, we apply the knowledge from the previous studies and implement a query answering framework for regression test selection. This framework is built based on a graph database and uses fault history information and test diversity in attempt to select the most effective set of test cases in term of fault detection capability. Our empirical evaluation of this study with four open source programs shows that our approach can be effective and efficient by selecting a far smaller subset of tests compared to the existing techniques.
|
18 |
Nástroj pro regresní testování GUI platformy Xtend / Xtend GUI regression testing toolHamár, Lukáš January 2020 (has links)
The diploma thesis deals with regression testing of the Campaign Manager web application of the Xtend product. The work interprets the software development methodologies and subsequently it describes the types of testing that are closely related to development. Furthermore, the work focuses on tools used for the graphical user interface testing and their mutual comparison. The next part of the work is dedicated to the creation of the development environment and it analyzes the structure of test cases that were developed in the created environment. The last section describes how the Campaign Manager was tested and how test results were generated and obtained.
|
19 |
Exploring the use of call stack depth limits to reduce regression testing costsBogren, Patrik, Kristola, Isak January 2021 (has links)
Regression testing is performed after existing source code has been modified to verify that no new faults have been introduced by the changes. Test case selection can be used to reduce the effort of regression testing by selecting a smaller subset of the test suite for later execution. Several criteria and objectives can be used as constraints that should be satisfied by the selection process. One common criteria is function coverage, which can be represented by a coverage matrix that maps test cases to methods under test. The process of generating and evaluating these matrices can be very time consuming for large matrices since their complexity increases exponentially with the number of tests included. To the best of our knowledge, no techniques for reducing execution matrix size have been proposed. This thesis develops a matrix-reduction technique based on analysis of call stack data. It studies the effects of limiting the call stack depth in terms of coverage accuracy, matrix size, and generation costs. Further, it uses a tool that can instrument Java projects using Java’s instrumentation API to collect coverage information on open-source Java projects for varying depth limits of the call stack. Our results show that the stack depth limit can be significantly reduced while retaining high coverage and that matrix size can be decreased by up to 50%. The metric we used to indicate the difficulty of splitting up the matrix closely resembled the curve for coverage. However, we did not see any significant differences in execution time for lower depth limits.
|
20 |
Net benefit analysis of Visual Regression Testing in a Continuous integration environment: An industrial Case studyLöjdquist, Axel January 2020 (has links)
Maintaining quality in software is a difficult task for several reasons, such as, company growth, time-to-market demands, code complexity and more. GUI testing tools and Continuous Integration (CI) are common practice today to tackle some of the issues with maintaining software quality. However, these techniques bring a set of challenges. Visual Regression Testing (VRT) is a special kind of GUI testing technique focused upon image-based assertions. This study presents an implementation and investigation of the benefits and drawbacks of introducing VRT for a CI environment in an industrial context. Additionally, the thesis investigates factors that need to be considered upon this transition. The results show that benefits are associated with this approach, such as, quicker feedback times and an increase in testing frequency. However, drawbacks and implications were also identified, such as, test maintenance and organizational concerns, indicating careful consideration needs to be taken by an organization before proceeding with an implementation.
|
Page generated in 0.1085 seconds