Ch2 Flashcards
What is a type of sequential software model?
The waterfall model:
- Identify client requirements
- identify system requirement
- create an overall design
- create a detailed design
- develop a product
- test product
What is the V model?
The V model is a sequential model that improved on the waterfall model as it simultaneously plans testing activity alongside the development of the product.
The drawback is that you verify the product matches client specs only at the end of the testing model.
What is the iterative model?
The iterative model removes the drawbacks of the V-model. As a tester, you are now part of the development process and are able to test the product while it is being developed.
Its main focus is communication across all sectors; allowing the users to work on a development whilst multiple requirements are evolved.
What are two significant drawbacks of the iterative model?
The absence of formal documentation and an increased testing time/cost.
What is Component Testing
This testing helps you identify errors in each component, such as an object, program or module of a software application.
During component testing you do not record defects, so defects should be fixed as soon as they are found.
What are the steps in the test-first approach?
Create test cases
Develop code
Run tests
What are stubs in Component Testing
Stubs simulate called components. You use a stub in place of each called component.
What are drivers in Component Testing
Drivers act as a substitute for a compnent that calls the component you are testing.
What is the difference between black box and white box testing?
White box testing is concerned with the internal workings of the system whereas black box testing takes no interest in the internal structure.
What are the sub-attributes tested for during nonfunctional testing?
Reliability Efficiency Usability Maintainability Portability
What are the different types of Acceptance Testing?
User acceptance testing
operational acceptance testing
contract acceptance testing
regulation acceptance testing
Acceptance testing is normally the last test level. What other levels can you perform this at?
During component testing
During installation or integration
Before system testing
What is System Testing?
System testing is testing conducted on a complete integrated system to evaluate the system’s compliance with its specified requirements. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design of the code or logic.
What is Acceptance Testing?
Instead of checking for defects, the testers verify whether the application meets all their requirements, both functional and nonfunctional.
What is top-down integation testing?
Involves testing the external features of the software first.
E.g. With the GUI you don’t need to create drivers.
Additional effort is required to create stubs if the components thew GUI calls are not ready.
What is bottom-up integration testing?
You first test at the lowest level in the software application.
This would be the component that doesn’t call any other component.
You would need to create drivers to simulate the components that call this component.
What tools are used to support CUT?
Integrated Development Environment (IDE)
Debugging tools
Unit test framework, incorporating stubs and drivers
Who conducts CUT?
Conducted by developers, not testers
Carried out in a development environment, in isolation from rest of system
What is CUT?
Component Unit Testing
What is IT?
Integration Testing: Testing performed to expose defects in the interfaces and in the
interactions between integrated components or systems. See also component integration
What test types does IT involve and what basis would you use?
Involves functional and structural testing of links
Some non-functional testing (e.g. performance) may be included. The test basis includes software and design
system architecture, workflows.
What is the “big” strategy when using IT?
Integrate all components at once (“big bang”)
Not recommended, as it may be difficult to identify which link has failed, and may result in higher long-term costs
What are the two methods used in Incremental Integration?
Bottom-up and Top-down!
What types of testing does System Testing involve?
Functional and non-functional testing
Some structural testing, e.g. navigation of web page structure.