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).