Chapter 2: Testing Throughout the Software Development Lifecycle Flashcards
What are the characteristics of good testing?
For every development activity, there is a corresponding test activity
Each test level has test objectives specific to that level
Test analysis and design for a given test level begin during the corresponding development
activity
Testers participate in discussions to define and refine requirements and design,
Whare are the common software development lifecycle models?
Sequential development models
Iterative and incremental development models
What is incremental model?
Incremental development involves establishing requirements, designing, building, and testing a system in pieces, which means that the software’s features grow incrementally
What is iterative development model?
Iterative development occurs when groups of features are specified, designed, built, and tested together
in a series of cycles, often of a fixed duration.
How can the activity be organized in relation with the model?
Depending on the context of the project, it may be necessary to combine or reorganize test levels and/or
test activities.
software development lifecycle models themselves may be combined. For example, a Vmodel may be used for the development and testing of the backend systems and their integrations, while
an Agile development model may be used to develop and test the front-end user interface (UI) and
functionality. Prototyping may be used early in a project, with an incremental development model adopted
once the experimental phase is complete.
What is IOT?
Internet of Things (IoT) systems, which consist of many different objects, such as devices, products, and
services, typically apply separate software development lifecycle models for each object.
What are the reasons why software development models must be adapted to the context of project and product?
characteristics
Difference in product risks of systems (complex or simple project)
Many business units can be part of a project or program (combination of sequential and agile
development)
Short time to deliver a product to the market (merge of test levels and/or integration of test types
in test levels)
What are the Test Levels?
Test levels are groups of test activities that are organized and managed together.
What are the 4 test levels used?
Component testing
Integration testing
System testing
Acceptance testing
What are the attributes of the test level?
Test levels are characterized by the following attributes: Specific objectives
Test basis, referenced to derive test cases
Test object (i.e., what is being tested)
Typical defects and failures
Specific approaches and responsibilities
What are the Component Testing objectives?
Reducing risk
Verifying whether the functional and non-functional behaviors of the component are as designed
and specified
Building confidence in the component’s quality
Finding defects in the component
Preventing defects from escaping to higher test levels
What are the Component Testing basis, objects and typical failures?
Test basis Detailed design Code Data mode Component specifications Test objects Components, units or modules Code and data structures Classes Database modules Typical defects and failures Incorrect functionality (e.g., not as described in design specifications) Data flow problems Incorrect code and logic
What is test driven development (TDD)?
Test driven development is highly iterative and is
based on cycles of developing automated test cases, then building and integrating small pieces of code,
then executing the component tests, correcting any issues, and re-factoring the code. This process
continues until the component has been completely built and all component tests are passing.
What are the Integration Testing basis, objects and typical failures?
Test basis
Software and system design
Sequence diagrams
Interface and communication protocol specifications Use cases
Architecture at component or system level
Workflows
External interface definitions
Test objects
Subsystems Databases Infrastructure Interfaces APIs Microservices
Typical defects and failures
Examples of typical defects and failures for component integration testing include: Incorrect data, missing data, or incorrect data encoding Incorrect sequencing or timing of interface calls Interface mismatch Failures in communication between components
What types of testing are used at integration level?
Functional, non-functional, and structural test types are applicable.