ISTQB - Chapter 2 Flashcards

1
Q

List four characteristics of good testing within the software development life cycle

A
  • For every development activity there is a corresponding test activity
  • Each test level has specific test objectives
  • The analysis and design of tests for a test level begins during the corresponding software development activity
  • Testers participate in discussions to define and refine requirements and design, and to review work products
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Briefly describe the waterfall model.

A

Development activities are completed one after another, with testing at the very end.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How does the V-model improve on the waterfall model?

A

The V-model implements test levels associated with each corresponding development phase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between incremental and iterative development models?

A

Incremental completes one piece at a time, iterative starts with a rough product and refines it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How is testing integrated into incremental and iterative development models?

A

Each increment or iteration is tested at the appropriate level.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are three potential issues with incremental and iterative models from a testing perspective?

A
  • More regression testing (good candidate for automation)
  • Defects outside the scope of the iteration or increment
  • Less thorough testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the characteristics of the Rational Unified Process (RUP) development model?

A

Relatively long iterations (2-3 months) with correspondingly large feature increments are (e.g. two or three groups of related features)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the characteristics of the Scrum development model?

A

Relatively short iterations (max. a few weeks) with correspondingly small feature increments (e.g. a few enhancements and/or two or three new features)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the characteristics of the Kanban development model?

A
  • Work items are represented visually on a kanban board (allowing team members to see the state of every piece of work at any time)
  • Implemented in iterations (fixed-length or not)
  • Can deliver a single enhancement, feature, or group of features upon completion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the characteristics of the Spiral (or prototyping) development model?

A
  • Creates experimental increments and that are incorporated into later cycles, discarded, or re-worked
  • Starts small and each cycle builds outwards through the phases, increasing functionality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Give three contextual factors that should be considered when selecting a software development model.

A
  • Type of product (e.g. COTS vs custom safety-critical system)
  • Business priorities (e.g. time to market)
  • Product and project risks (e.g. safety risks, team communication)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

List the four main test levels

A
  • Component testing
  • Integration testing
  • System testing
  • Acceptance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Who typically carries out component testing, and in what environment?

A

Usually performed by developers in their development environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Briefly describe the two types of integration testing.

A
  • Component integration testing focuses on the interactions and interfaces between components (occurs after component testing)
  • System integration testing focuses on the interactions and interfaces between systems, packages, and microservices (can also include systems from external organizations)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How can we simplify defect isolation and detect defects early when it comes to integrating components or systems?

A

Integration should be incremental rather than “big bang” (integrating everything at once).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the main focus of system testing?

A

System testing considers end-to-end tasks performed by a whole system and its non-functional behaviors while performing those tasks.

17
Q

What test environment is ideal for system testing?

A

The test environment should correspond to the final target or production environment.

18
Q

What type of testing would examine the following types of test objects?
- Components, units or modules
- Code and data structures
- Classes
- Database modules

A

Component testing

19
Q

What type of testing would examine the following types of test objects?
- Subsystems
- Databases
- Infrastructure
- Interfaces
- APIs
- Microservices

A

Integration testing

20
Q

What type of testing would examine the following types of test objects?
- Applications
- Hardware/software systems
- Operating systems
- System under test
- System configuration and configuration data

A

System testing

21
Q

What type of testing would examine the following types of test objects?
- System under test
- System configuration and configuration data
- Business processes for a fully integrated system
- Recovery systems and hot sites (backup sites)
- Operational and maintenance processes
- Forms
- Reports
- Existing and converted production data

A

Acceptance testing

22
Q

List the four different kinds of acceptance testing

A
  • User acceptance testing
  • Operational acceptance testing
  • Contractual and regulatory acceptance testing
  • Alpha and beta testing
23
Q

What is the main focus of user acceptance testing?

A

Validating that a system is fit for use by its intended users.

24
Q

What is the main objective of operational acceptance testing?

A

Building confidence that the operators or system administrators can keep the system working properly.

25
Q

The following activities are part of which test level?
- Testing of backup and restore
- Installing, uninstalling and upgrading
- Disaster recovery
- User management
- Maintenance tasks
- Data load and migration checks
- Checks for security vulnerabilities
- Performance testing

A

Operational acceptance testing

26
Q

When would contractual acceptance testing be necessary?

A

When producing custom-developed software for which acceptance criteria are laid out in a contract

27
Q

When would regulatory acceptance testing be necessary?

A

When there are government, legal, or safety regulations that the system must adhere to

28
Q

When would developers be likely to use alpha and beta testing?

A

When looking for feedback from users about COTS software

29
Q

What is the difference between alpha and beta testing?

A

Both are carried out by roles outside the development organization, but alpha testing is conducted in the developer’s test environment, while beta testing is conducted at an external site

30
Q

What are the four main test types?

A
  • Functional testing
  • Non-functional testing
  • White-box testing
  • Change-related testing (confirmation and regression testing)
31
Q

What is the difference between functional and non-functional testing?

A

Functional testing = what the system does
Non-functional testing = how well the system does what it does

32
Q

What type of testing is concerned with the following: performance, load, stress, usability, reliability, portability, security?

A

Non-functional testing

33
Q

What is the aim of white-box testing?

A

White-box testing is used as a way of measuring the thoroughness of testing through the coverage of a set of structural elements (e.g. code, control flows, business processes, data flows)

34
Q

What is the difference between confirmation and regression testing?

A

Confirmation testing checks that the changes succeeded, and regression testing checks that the changes did not affect anything unintentionally

35
Q

What are the three scenarios which would call for maintenance testing? Give examples for each one

A
  • Modifications: minor releases, corrective and urgent emergency changes, changes to the environment (e.g. OS upgrades)
  • Migration: moving from one platform to another (can be change of hardware, software, or operating system)
  • Retirement: data migration or archiving, restore or retrieve procedures
36
Q

What is impact analysis and what is it for?

A

Impact analysis identifies all work products affected by a change and estimates the resources needed to accomplish the change, in order to help decide whether a change is worth making or not as well as guide regression testing