5 resultados para Software testing. Test generation. Grammars

em DigitalCommons@University of Nebraska - Lincoln


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Where the creation, understanding, and assessment of software testing and regression testing techniques are concerned, controlled experimentation is an indispensable research methodology. Obtaining the infrastructure necessary to support such experimentation, however, is difficult and expensive. As a result, progress in experimentation with testing techniques has been slow, and empirical data on the costs and effectiveness of techniques remains relatively scarce. To help address this problem, we have been designing and constructing infrastructure to support controlled experimentation with testing and regression testing techniques. This paper reports on the challenges faced by researchers experimenting with testing techniques, including those that inform the design of our infrastructure. The paper then describes the infrastructure that we are creating in response to these challenges, and that we are now making available to other researchers, and discusses the impact that this infrastructure has and can be expected to have.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Software product line (SPL) engineering offers several advantages in the development of families of software products such as reduced costs, high quality and a short time to market. A software product line is a set of software intensive systems, each of which shares a common core set of functionalities, but also differs from the other products through customization tailored to fit the needs of individual groups of customers. The differences between products within the family are well-understood and organized into a feature model that represents the variability of the SPL. Products can then be built by generating and composing features described in the feature model. Testing of software product lines has become a bottleneck in the SPL development lifecycle, since many of the techniques used in their testing have been borrowed from traditional software testing and do not directly take advantage of the similarities between products. This limits the overall gains that can be achieved in SPL engineering. Recent work proposed by both industry and the research community for improving SPL testing has begun to consider this problem, but there is still a need for better testing techniques that are tailored to SPL development. In this thesis, I make two primary contributions to software product line testing. First I propose a new definition for testability of SPLs that is based on the ability to re-use test cases between products without a loss of fault detection effectiveness. I build on this idea to identify elements of the feature model that contribute positively and/or negatively towards SPL testability. Second, I provide a graph based testing approach called the FIG Basis Path method that selects products and features for testing based on a feature dependency graph. This method should increase our ability to re-use results of test cases across successive products in the family and reduce testing effort. I report the results of a case study involving several non-trivial SPLs and show that for these objects, the FIG Basis Path method is as effective as testing all products, but requires us to test no more than 24% of the products in the SPL.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

As software evolves, engineers use regression testing to evaluate its fitness for release. Such testing typically begins with existing test cases, and many techniques have been proposed for reusing these cost-effectively. After reusing test cases, however, it is also important to consider code or behavior that has not been exercised by existing test cases and generate new test cases to validate these. This process is known as test suite augmentation. In this paper we present a directed test suite augmentation technique, that utilizes results from reuse of existing test cases together with an incremental concolic testing algorithm to augment test suites so that they are coverage-adequate for a modified program. We present results of an empirical study examining the effectiveness of our approach.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Regression testing is an important part of software maintenance, but it can also be very expensive. To reduce this expense, software testers may prioritize their test cases so that those that are more important are run earlier in the regression testing process. Previous work has shown that prioritization can improve a test suite’s rate of fault detection, but the assessment of prioritization techniques has been limited to hand-seeded faults, primarily due to the belief that such faults are more realistic than automatically generated (mutation) faults. A recent empirical study, however, suggests that mutation faults can be representative of real faults. We have therefore designed and performed a controlled experiment to assess the ability of prioritization techniques to improve the rate of fault detection techniques, measured relative to mutation faults. Our results show that prioritization can be effective relative to the faults considered, and they expose ways in which that effectiveness can vary with characteristics of faults and test suites. We also compare our results to those collected earlier with respect to the relationship between hand-seeded faults and mutation faults, and the implications this has for researchers performing empirical studies of prioritization.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Nearly all biologic tissues exhibit viscoelastic behavior. This behavior is characterized by hysteresis in the response of the material to load or strain. This information can be utilized in extrapolation of life expectancy of vascular implant materials including native tissues and synthetic materials. This behavior is exhibited in many engineering materials as well such as the polymers PTFE, polyamide, polyethylene, etc. While procedures have been developed for evaluating the engineering polymers the techniques for biologic tissues are not as mature. There are multiple reasons for this. A major one is a cultural divide between the medical and engineering communities. Biomedical engineers are beginning to fill that void. A digitally controlled drivetrain designed to evaluate both elastic and viscoelastic characteristics of biologic tissues has been developed. The initial impetus for the development of this device was to evaluate the potential for human umbilical tissue to serve as a vascular graft material. The consequence is that the load frame is configured for membrane type specimens with rectangular dimensions of no more than 25mm per side. The designed load capacity of the drivetrain is to impose an axial load of 40N on the specimen. This drivetrain is capable of assessing the viscoelastic response of the specimens by four different test modes: stress relaxation, creep, harmonic induced oscillations, and controlled strain rate tests. The fluorocarbon PTFE has mechanical properties commensurate with vascular tissue. In fact, it has been used for vascular grafts in patients who have been victims of various traumas. Hardware and software validation of the device was accomplished by testing PTFE and comparing the results to properties that have been published by both researchers and manufacturers.