Abstract


 
 
 Dependency cycles among components (classes) represent a practical challenge when identifying the class integration order in object-oriented software testing. Classical approaches, such as “top-down” or “bottom-up” integration (or their combination) become less useful due to their acyclic characteristics. Some OO integration testing strategies explore the principle of breaking these dependency cycles, but broken dependencies imply that the target class will have to be stubbed when integrating and testing the source class, which increases the testing effort. This paper describes an integration testing strategy that guides software engineers to identify the class integration order with the minimum number of implemented stubs. This strategy can be directly applied to high level OO design (UML class) diagrams allowing the reduction of extra construction efforts related to additional classes needed in other strategies. The results from experimental studies have indicated its feasibility and effectiveness. The use of such integration testing strategy can be supported by a case tool, also described in this
 paper.
 
 

Highlights

  • Software testing is carried out to guarantee software quality, usually evaluating whether it works correctly as specified by requirements

  • The Pre-existing Procedures and Heuristics Feasibility experimental studies contributed to the analysis of the proposed integration testing strategy effectiveness

  • After performing some experimental studies, we believe that there are some indications that allow characterizing the feasibility and the effectiveness of the proposed strategy for class integration order identification when applied to UML class diagrams

Read more

Summary

Introduction

Software testing is carried out to guarantee software quality, usually evaluating whether it works correctly as specified by requirements. To be considered successful software testing must make the software fail through its execution. Integration testing, focus of this work, represents a set of activities aimed at revealing failures from defects in the software structure as defined in the design stage [3], usually related to the modules’ interfaces that form the software architecture. Considering the development of object-oriented (OO) software, the understanding of OO software execution is not easy, rendering traditional testing strategies (acyclic) unable to deal with some of the architecture features of this software development paradigm, such as the dependencies among components (represented by classes), making difficult the accomplishment of the task of identifying the integration order and component testing [4]. It becomes necessary to review the strategies concerned with integration testing in the context of OO software

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call