Levels of Testing and Software Development Paradigms
The approach used to design and develop a software system has an impact on how testers plan and design suitable tests. There are two major approaches to system development—bottom-up, and top-down. These approaches are supported by two major types of programming languages— procedure-oriented and object-oriented. This chapter considers testing at different levels for systems developed with both approaches using either traditional procedural programming languages or object-oriented programming languages. The different nature of the code produced requires testers to use different strategies to identify and test components and component groups. Systems developed with procedural languages are generally viewed as being composed of passive data and active procedures. When test cases are developed the focus is on generating input data to pass to the procedures (or functions) in order to reveal defects.