Testing Throughout the Software Lifecycle Flashcards
What is a type of sequential software model
The waterfall model
- Identify client requirements
- identify system requirements
- create an overall design
- create a detailed design
- develop 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 products development.
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 interative 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.
What are two significant drawbacks of the iterative model?
- Absence of formal documentation
- Increased testing time and 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?
During system testing you ensure the application meets the requirements identified during the intiial phases of the software development process
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. For instance starting 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 is functional testing?
Tests the functionality of a selected component
What is non-functional testing?
Test the behavioral or the quantified characteristics of the systems and software
What is Structural testing?
Test the structual aspects of the component or system.
This includes verifying if the data object has the specified data fields with correct data types.
What is change-based-testing?
Includes regression testing and confirmation testing that involves the re-run of tests to ensure that the software is working correctly following changes
According to the ISO quality standard 9216, what characteristics is functional testing performed for?
- Suitability
- Interoperability
- accuracy
What is suitability testing?
Testing to determine if the product performs as expected for it’s intended use.
What is testing interoperability?
Involves evaluating the capability of the system to interact with other specified components or systems.
What is accuracy testing?
Testing to ensure the faulty product does not leave the production line and cause errors during beta testing
What is security testing?
Testing to ensure the preventation of unauthorized access to software ether intentional or accidental.
What is compliance testing?
Makes sure a system adheres to specified criteria, standards, conventions, regulations and laws.
What is requirements-based testing?
Designing tests based on a functional requirement specification for the system.
What is business-process-based testing?
Uses knowledge of the business processes to describe the scenarios involved in the day-to-day business use of the systems.
What are the different types of non-functional testing?
- Performance testing
- Load testing
- Stress testing
- Usability testing
- Maintenability testing
- Reliability testing
- Portability testing
What is performance testing?
Test the degree to which a system fulfills its specified functions within given processing time and throughput rate constraints.
What is Load testing?
Measure the behaviour of a system with increasing load
What is stress testing?
Evaluates a systrem at and beyond the boundaries of it’s specificed requirement
What is usability testing?
Tests how easily a user can perform a specific task
What is maintainability testing?
Tests how easily a product can be modified in the future
What is reliability testing?
Tests how reliably a product performs over a given period of time
What is portability testing?
tests how easiy a system can be transferred from one platform to another
According to ISO 1926 what is efficiency testing?
The capability of the software to provide appropriate performance relative to the amount of resources used under states conditions.
How would you do structural testing at the component level?
Test the structure of the code itself, such as the statements or decisions.