Chapter 2 Flashcards
Validation vs Verification:
What is validation? (Hint: Did we build the right thing?)
Checking the development results against the original requirements is called validation.
When performing validation, testers evaluate whether the product can solve a specific task and see if it is suitable for its intended purpose.
Validation vs Verification:
What is Verification? (Hint: Did we build the thing right?)
Verification examines whether the specifications have been implemented correctly, regardless of the indented purpose of the product.
It proves the correctness and completeness of the results from a particular phase.
What are the flaws of the Iterative model in regards to testing?
- Testing of final increment can be rushed results in buggy deliverables.
- Overlap in increments meaning developers work on another increment -> hard to fix bugs found from earlier increments.
- Code changes or new code increases regression risk.
What is regression risk?
(Regression: A return to a former or less developed state)
The possibility of unindented consequences when changes are made to the software. U change one part, other parts start to have problems.
Risks exists in _ main areas, What are they? And briefly describe what they are
Answer 1: 4
Answer 2:
1. Coupling: Strong consequence of failure between the component and the system. (EX: Database fails, app fails)
- Irreplaceability: Few similar components available (COTS)
- Essential: Key features in a system is unavailable if the component malfunctions (EX: Database)
- Vendor quality problems: Increased risk of bad components.
How do you mitigate the risks? (“Exists in _ areas..”) (Hint: 4 options)
- Integrate, track and manage vendor testing in distributed test effort.
- Trust the vendor.
- Fix vendor’s quality problems yourself, with permission.
- Disregard and replace their testing, do your own testing.
CMMI Model: State the 5 levels
(I, Miss, Dick, Quite, Often)
Initial, Managed, Defined, Quantitatively managed, optimising
What are characteristics of good testing?
- Have activities for testing for each development activity.
- Test levels have focused objectives, with coordination to avoid gaps.
- Test analysis, design should start early to avoid bugs
- Testers with adequate skill should attend to bring their unique perspectives and skills.
Component (Unit) Test:
What is the objective of Unit Tests?
- Find bugs
- Build confidence
- Reduce risk in individual pieces of the system. (Reduce risk of specific components in the system)
Component (Unit) Test:
What is the basis for Unit tests and the test types associated with it?
- It is based on code, database, requirements/design and quality risks.
- Test types include behavioural (black-box) and structural (white-box)
Component (Unit) Test:
- What are the Items under test / test objects?
- Who is responsible for unit testing?
- Components, programs
- Usually programmers
What are stubs and drivers?
Just reveal answer if u dont know:
Stubs
Definition: Stubs are simplified versions of modules that simulate the behavior of actual modules. They are used to replace missing or incomplete modules during testing.
Purpose: Stubs are typically used in top-down integration testing, where testing starts from the top-level module and progresses downwards. They provide a controlled environment to test the behaviour of a module without relying on the complete implementation of its dependent modules.
Drivers
Definition: Drivers are test programs that call the module being tested and provide necessary input data. They are used to simulate the behavior of higher-level modules.
Purpose: Drivers are typically used in bottom-up integration testing, where testing starts from the lowest-level modules and progresses upwards. They provide a controlled environment to test the behavior of a module without relying on the complete implementation of its calling modules.
Unit Test typically:
- Involves access to ___?
- Is running in a development environment, by the ____ who wrote the code?
- Requires ____, _____, and/or harness?
- Code
- Developer
- stubs, drivers
Component (Unit) Test:
What is test-first/ test-driven development approach?
- Develop a set of unit tests.
- Build and integrate code to pass the tests. (Run the tests and debug until the code passes the tests.)
- Add more unit tests for additional functions.
Integration Tests
- What is the objective of Integration tests?
- Find bugs
- Build confidence
- Reduce risks in relationships between components that come together.
Integration Tests
What is the Integration Tests based on?
- System Design
- Architecture
- Database schemas
- Data flows
- Workflows
- Use-cases
- Quality risks
Integration Tests
- What are the test types associated with Integration tests?
Behavioural tests: Functionality, resource use, performance
Structural tests: call-flows and data-flows
Integration Tests
What are the test objects of Integration tests?
Collection of units/ components, database implementation, interfaces
Integration Tests
Who is the one responsible for Integration tests?
Ideally both testers & programmers but actually no one is responsible.
Integration Tests
What are the integration techniques for Integration tests AND give some details about them.
- Big-bang integration
- Bottom up
- Top down
- Functional or transactional
- Backbone Integration