Ch2 Flashcards Preview

ISTQB > Ch2 > Flashcards

Flashcards in Ch2 Deck (39)
Loading flashcards...

What is a type of sequential software model?

The waterfall model:
1. Identify client requirements
2. identify system requirement
3. create an overall design
4. create a detailed design
5. develop a product
6. 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?



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.


What Test Basis does System Testing use?

System and software requirements specification
Use cases
Functional specification
Risk analysis reports


What Test Tools would you use in System Testing?

May use test execution tools for automated testing.


What Test Tools would you use in Acceptance Testing?

May use test execution tools.


What types of testing does Acceptance Testing involve?

Functional and non-functional testing
Some structural testing, e.g. navigation of web page structure.


What Test Basis does Acceptance Testing use?

The user or business requirements
Use cases
Business processes
Risk analysis reports (breakdown of features by risk)


Objectives of AT?

Establish confidence in the system
Ensure the system is fit for purpose
Assess the system’s readiness for deployment and use
Note there may be other stages to follow before deployment, such as large-scale integration


Objectives of ST?

End-to-end integrated system (excluding manual processes)
System, user and operation manuals
System configuration


Objectives of SIT?
(System-Integration Testing)

Test interfaces between different systems
Test business processes or workflows which may involve a series of systems
Test interactions between hardware and software, including data transfer, networks, connections, protocols, security
Usually done after system testing


Objectives of CUT ?

Find and remove defect


What are the four test types?

Functional testing -
What the system does
Tests required system capability

Non-Functional testing -
How well the system works
Tests software characteristics

Structural testing -
Measures coverage of system structure

Testing related to change -
Testing following a change or fix to software
Re-testing and regression testing


Non-functional testing includes?



Black Box Testing includes?

Decision table testing
All-pairs testing
Equivalence partitioning
Boundary value analysis
Cause–effect graph
Error guessing
State transition testing
Use case testing
User story testing
Domain analysis


What is Maintenance Testing?

Testing the changes to an operational system or the impact of a changed environment to an operational system!


What are the issues with Maintenance Testing?

Maintenance testing of old legacy systems can be difficult if specifications are out of date (or non-existent!) Again, testers with domain knowledge are not available.


What is Unit Testing?

Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing can be done manually but is often automated.

Part of TDD, Unit testing involves only those characteristics that are vital to the performance of the unit under test.

leads to larger tests in integration testing.