Types of Testing - Part II
Functional System Testing - functional requirements; requirements-based testing; business process-based testing
Functional requirement as per IEEE definition, which is “A requirement that specifies a function that a system or system component must perform”.
Requirements-based testing – where the user requirements specification and the system requirements specification (as used for contracts) may be used to derive test cases.
Business process-based testing – based on expected user profiles (e.g. scenarios, use cases, etc.).
Non-Functional System Testing - non-functional requirements; non-functional test types: load, performance and stress; security; usability; storage; volume; installability; documentation; recovery
Explain that non-functional requirements are as important as functional requirements.
Integration Testing in the Large - testing the integration of systems and packages; testing interfaces to external organisations (e.g. Electronic Data Interchange, Internet)
Integration with other (complete) systems.
Identification of, and risk associated with, interfaces to these other systems.
Incremental/non-incremental approaches to integration.
Integration Testing in the Small - assembling components into sub-systems; sub-systems to systems; stubs and drivers; big-bang, top-down, bottom-up, other strategies
Integration testing tests interfaces and interaction of modules/subsystems.
Role of stubs and drivers.
Incremental strategies, to include: top-down, bottom-up and functional incrementation. Non-incremental approach (“big bang”).
Maintenence Testing - problems of maintenance; testing changes; risks of changes and regression testing
Testing old code – with poor/missing specifications.
Scope of testing with respect to changed code.
Impact analysis is difficult – so higher risk when making changes – and difficult to decide how much regression testing to do.