Chapter 2 Flashcards
What are the three main types of software development?
Sequential development
Iterative development
Incremental development
What is sequential development?
This is a linear flow of activities in which one developmental phase comes after another.
Some examples are the Waterfall and the V-model. These take months and years.
What is incremental development?
This is the process of establishing requirements, designing, building and testing in pieces so that software’s features grow incrementally.
What is iterative development?
This is when groups of features are designed, built and tested together in a series of cycles. Changes may occur in each iteration. Each iteration is a growing subset of features.
Name a type of iterative development process in which iterations are long.
Rational Unified Process
Name a type of iterative development process in which iterations are short, typically 2 weeks.
Scrum/Agile
Name a type of iterative development process in which iterations are not fixed length.
Kanban
Name a type of iterative development process in which iterations are experimental and features tend to be reworked or abandoned.
Spiral
Describe component testing,
Also called unit or module testing. This is focused on separately testable components. This is often done in isolation of the rest of the system. May cover functional or non-functional characteristics and structural properties.
What are some work products used as a test basis for component testing?
Detailed Design
Code
Component Specifications
Data models
Define test objects.
Items that will be tested.
Define test basis.
Test basis is defined as the source of information that is needed to write test cases and do test analysis.
What are test conditions?
Test conditions are the constraints that you should follow to test an application.
What is component integration testing?
This focuses on interactions and interfaces between integrated components.
Usually performed after component testing.
Generally automated
Usually apart of the continuous integration process
What is System Integration Testing?
This focuses on the interactions and interfaces between systems, packages and microservices.
This can also cover interactions with external organizations.
This can be done after system testing.