ISTQB - Chapter 2 Flashcards
List four characteristics of good testing within the software development life cycle
- For every development activity there is a corresponding test activity
- Each test level has specific test objectives
- The analysis and design of tests for a test level begins during the corresponding software development activity
- Testers participate in discussions to define and refine requirements and design, and to review work products
Briefly describe the waterfall model.
Development activities are completed one after another, with testing at the very end.
How does the V-model improve on the waterfall model?
The V-model implements test levels associated with each corresponding development phase.
What is the difference between incremental and iterative development models?
Incremental completes one piece at a time, iterative starts with a rough product and refines it.
How is testing integrated into incremental and iterative development models?
Each increment or iteration is tested at the appropriate level.
What are three potential issues with incremental and iterative models from a testing perspective?
- More regression testing (good candidate for automation)
- Defects outside the scope of the iteration or increment
- Less thorough testing
What are the characteristics of the Rational Unified Process (RUP) development model?
Relatively long iterations (2-3 months) with correspondingly large feature increments are (e.g. two or three groups of related features)
What are the characteristics of the Scrum development model?
Relatively short iterations (max. a few weeks) with correspondingly small feature increments (e.g. a few enhancements and/or two or three new features)
What are the characteristics of the Kanban development model?
- Work items are represented visually on a kanban board (allowing team members to see the state of every piece of work at any time)
- Implemented in iterations (fixed-length or not)
- Can deliver a single enhancement, feature, or group of features upon completion
What are the characteristics of the Spiral (or prototyping) development model?
- Creates experimental increments and that are incorporated into later cycles, discarded, or re-worked
- Starts small and each cycle builds outwards through the phases, increasing functionality
Give three contextual factors that should be considered when selecting a software development model.
- Type of product (e.g. COTS vs custom safety-critical system)
- Business priorities (e.g. time to market)
- Product and project risks (e.g. safety risks, team communication)
List the four main test levels
- Component testing
- Integration testing
- System testing
- Acceptance testing
Who typically carries out component testing, and in what environment?
Usually performed by developers in their development environment
Briefly describe the two types of integration testing.
- Component integration testing focuses on the interactions and interfaces between components (occurs after component testing)
- System integration testing focuses on the interactions and interfaces between systems, packages, and microservices (can also include systems from external organizations)
How can we simplify defect isolation and detect defects early when it comes to integrating components or systems?
Integration should be incremental rather than “big bang” (integrating everything at once).
What is the main focus of system testing?
System testing considers end-to-end tasks performed by a whole system and its non-functional behaviors while performing those tasks.
What test environment is ideal for system testing?
The test environment should correspond to the final target or production environment.
What type of testing would examine the following types of test objects?
- Components, units or modules
- Code and data structures
- Classes
- Database modules
Component testing
What type of testing would examine the following types of test objects?
- Subsystems
- Databases
- Infrastructure
- Interfaces
- APIs
- Microservices
Integration testing
What type of testing would examine the following types of test objects?
- Applications
- Hardware/software systems
- Operating systems
- System under test
- System configuration and configuration data
System testing
What type of testing would examine the following types of test objects?
- System under test
- System configuration and configuration data
- Business processes for a fully integrated system
- Recovery systems and hot sites (backup sites)
- Operational and maintenance processes
- Forms
- Reports
- Existing and converted production data
Acceptance testing
List the four different kinds of acceptance testing
- User acceptance testing
- Operational acceptance testing
- Contractual and regulatory acceptance testing
- Alpha and beta testing
What is the main focus of user acceptance testing?
Validating that a system is fit for use by its intended users.
What is the main objective of operational acceptance testing?
Building confidence that the operators or system administrators can keep the system working properly.