Chapter 2 Flashcards
What is a Test Level?
Test levels are groups of test activities that are organized and managed together. Each test level is an instance of the test process, performed in relation to software at a given stage of development, from individual components to complete systems or, where applicable, systems of systems.
Test levels are related to other activities within the SDLC. In sequential SDLC models, the test levels are often defined such that the exit criteria of one level are part of the entry criteria for the next level. In some iterative models, this may not apply. Development activities may span through multiple test levels. Test levels may overlap in time.
What are Test Types?
Test types are groups of test activities related to specific quality characteristics and most of those test activities can be performed at every test level.
What are the 5 Test Levels?
Component testing (unit testing), component integration testing (unit integration testing), system testing, system integration testing, and acceptance testing
What is Component testing?
Focuses on testing components in isolation. It often requires specific support, such as test harnesses or unit test frameworks. Component testing is normally performed by developers in their development environments.
What is Component Integration Testing?
Focuses on testing the interfaces and interactions between components. Component integration testing is heavily dependent on the integration strategy approaches like bottom-up, top-down or big-bang.
What is System Testing?
focuses on the overall behavior and capabilities of an entire system or product, often including functional testing of end-to-end tasks and the non-functional testing of quality characteristics. For some non-functional quality characteristics, it is preferable to test them on a complete system in a representative test environment (e.g., usability). Using simulations of sub-systems is also possible. System testing may be performed by an independent test team, and is related to specifications for the system.
What is System Integration Testing?
Focuses on testing the interfaces of the system under test and other systems and external services . System integration testing requires suitable test environments preferably similar to the operational environment.
What is Acceptance Testing?
Focuses on validation and on demonstrating readiness for deployment, which means that the system fulfills the user’s business needs. Ideally, acceptance testing should be performed by the intended users. The main forms of acceptance testing are: user acceptance testing (UAT), operational acceptance testing, contractual and regulatory acceptance testing, alpha testing and beta testing.
How are Test Levels distinguished?
Test levels are distinguished by the following non-exhaustive list of attributes, to avoid overlapping of test activities:
* Test object
* Test objectives
* Test basis
* Defects and failures
* Approach and responsibilities
What are the 4 Test Types?
Functional, Non-Functional, Black-box, and White-box testing
Define Functional Testing
evaluates the functions that a component or system should perform. The functions are “what” the test object should do. The main objective of functional testing is checking the functional completeness, functional correctness and functional appropriateness.
Define Non-functional testing
evaluates attributes other than functional characteristics of a component or system. Non-functional testing is the testing of “how well the system behaves”. The main objective of non- functional testing is checking the non-functional software quality characteristics.
What are the 7 Non-functional software quality characteristics?
-Performance efficiency
* Compatibility
* Usability
* Reliability
* Security
* Maintainability
* Portability
Define Black-box testing
is specification-based and derives tests from documentation external to the test object. The main objective of black-box testing is checking the system’s behavior against its specifications.
Define White-box testing
is structure-based and derives tests from the system’s implementation or internal structure (e.g., code, architecture, work flows, and data flows). The main objective of white-box testing is to cover the underlying structure by the tests to the acceptable level.