Affiliation:
1. Department of Computer Science, Clemson University, Clemson, SC
Abstract
The basic unit of testing in an object-oriented program is a class. Although there has been much recent research on testing of classes, most of this work has focused on black-box approaches. However, since black-box testing techniques may not provide sufficient code coverage, they should be augmented with code-based or white-box techniques. Dataflow testing is a code-based testing technique that uses the dataflow relations in a program to guide the selection of tests. Existing dataflow testing techniques can be applied both to individual methods in a class and to methods in a class that interact through messages, but these techniques do not consider the dataflow interactions that arise when users of a class invoke sequences of methods in an arbitrary order. We present a new approach to class testing that supports dataflow testing for dataflow interactions in a class. For individual methods in a class, and methods that send messages to other methods in a the class, our technique is similar to existing dataflow testing techniques. For methods that are accessible outside the class, and can be called in any order by users of the class, we compute dataflow information, and use it to test possible interactions between these methods. The main benefit of our approach is that it facilitates dataflow testing for an entire class. By supporting dataflow testing of classes, we provide opportunities to find errors in classes that may not be uncovered by black-box testing. Our technique is also useful for determining which sequences of methods should be executed to test a class, even in the absence of a specification. Finally, as with other code-based testing techniques, a large portion of our technique can be automated.
Publisher
Association for Computing Machinery (ACM)
Cited by
54 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. IABC‐TCG: Improved artificial bee colony algorithm‐based test case generation for smart contracts;Journal of Software: Evolution and Process;2024-08-08
2. Generating Class-Level Integration Tests Using Call Site Information;IEEE Transactions on Software Engineering;2023-04-01
3. Towards Efficient Data-Flow Test Data Generation;Theories of Programming and Formal Methods;2023
4. ACTUM –tool for automatic class testing using meta-heuristics;2022 10th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO);2022-10-13
5. Data flow testing of feature-oriented programs;International Journal of System Assurance Engineering and Management;2022-01-26