Abstract

Software testing is a process to determine that a software product satisfies the specified requirements. Software testing spans over all phases of the Software Development Life Cycle namely, requirement specification, analysis, designing, development, deployment and maintenance of a software. Software testing is important to point out the defects in the software and to ensure that the developed software works fine in the real environment with different operating systems, devices, browsers and concurrent users. Further software testing can be classified into various types based on the objective of testing, level at which the testing is performed, knowledge of the system or the degree of automation. In this paper, we examine the suitability of Aspect Oriented Programming (AOP) for the purpose of performing various types of software testing. AOP is a programming paradigm which modularizes the crosscutting concerns into units called aspects and separates them from the modules implementing the primary business logic. This leads to a system that is easier to understand and simpler to maintain. The basis of the idea behind using AOP for software testing is that aspects in AOP can be used to capture execution points within the program's modules and thus we can test components where we suspect bugs without even modifying the source code.

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