4.8 KiB
4.8 KiB
Explain the RTS Techniques for Procedural Programs using a Table. Highlight advantage and limitations and other key factors for comparison.
| Techniques | Key factors | Advantages | Limitations |
|---|---|---|---|
| Dataflow analysis-based | Based on dataflow and structural coverage criteria | Precise identification of affected def-use pairs | Low on safety, imprecise |
| Slicing-based | Based on slicing of programs or dependence graph models | Can handle inter-procedural dependencies | Low on safety, imprecise, computationally inefficient compared to Dataflow-based |
| Module level firewall-based | Based on analyzing dependencies among modules | More efficient as only modified modules are analysed | Low on safety, highly imprecise |
| Modified code entity-based | Level of granularity can be adapted | Safe, and the most efficient technique | Highly imprecise |
| Textual differencing-based | Based on textual differencing of C programs | Safe, and easy to implement a prototype | Imprecise, and difficult to adapt to other languages, inefficient for large programs |
| Graph walk-based | Based on analysis of control flow models | Safe, and the most precise technique | Less efficient than Module level firewall-based and Modified code entity-based |
Explain the RTS Techniques for Object-Oriented Programs using a Table. Highlight advantage and limitations and other key factors for comparison.
| Techniques | Key factors | Advantages | Limitations |
|---|---|---|---|
| Firewall-based | Based on dependencies among modules | Computationally efficient | Unsafe and imprecise, need to be extended to handle certain object-oriented features |
| Program model-based | Based on dependencies among class elements or control flow models | Safe, and more precise than Firewall-based, suitable for multiple classes and programs | Computationally inefficient compared to Firewall-based, does not consider some common object-oriented constructs, expensive for large programs with small changes |
| Design model-based | Based on different UML design models, assuming traceability between models, source code, and test cases | More efficient than Program model-based, suitable large programs, high level of abstraction, independent of the implementation | Not safe, less precise than Program model-based |
| Specification-based | Based on requirement models, assuming traceability from the specifications to test cases | More efficient than Program model-based, suitable for systems with large test suites, platform-independent | Not safe, less precise than Program model-based |
References
Biswas, S., Mall, R., Satpathy, M., & Sukumaran, S. (2011). Regression Test Selection Techniques: A Survey. Informatica (Slovenia), 35, 289-321.