Software Development Lifecycle Models
Describes the types of activity performed at each stage in a software development project, and how the activities relate to one another logically and chronologically.
Characteristics of good testing
Sequential model
Incremental Development
Iterative
Waterfall Model
- Test activities only occur after all other development activities have been completed
V-model
Rational Unified Process RUP
Scrum
Kanban
- Incremental model
Spiral or prototyping
- Heavily re-worked or even abandoned in subsequent
Test Levels
Are characterized:
Component Testing or Unit Testing
TDD ⇒ Fail → Pass → Refactor
Integration Testing
Integration Testing
• Component integration testing focuses on the interactions and interfaces between integrated
components. Component integration testing is performed after component testing, and is
generally automated. In iterative and incremental development, component integration tests are
usually part of the continuous integration process.
• System integration testing focuses on the interactions and interfaces between systems,
packages, and microservices. System integration testing can also cover interactions with, and
interfaces provided by, external organizations (e.g., web services). In this case, the developing
organization does not control the external interfaces, which can create various challenges for
testing (e.g., ensuring that test-blocking defects in the external organization’s code are resolved,
arranging for test environments, etc.). System integration testing may be done after system
testing or in parallel with ongoing system test
System Testing
Acceptance Testing
Which testing level is primarily focused on building confidence rather than finding defects?
Acceptance testing
If you need to add system integration testing as a test level for a particular project, what testing level should it directly follow?
→ System Testing
Functional Testing
Non-Functional Testing
White-box Testing
Which of the following is mostly true regarding structural testing?
→ Deriving tests based on the system internal structure
Which of the following is a correct definition of structural coverage?
→ The extent to which some type of structural element has been exercised by tests