Software Testing Foundation - Based on ISTQB Standards - Chapter 2

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/68

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

69 Terms

1
New cards

Software Development Models

Providing guidance on the order in which a project should carry out its major tasks and criteria for transitioning between stages

2
New cards

Software Development Models

Different development life cycle models need different approaches to testing

3
New cards

Software Development Models

Software development models, like test strategies, must be adapted to the context of the project and to the product characteristics

4
New cards

Sequential Models

Waterfall

V - model

W - model

5
New cards

Iterative/Incremental Models

Rapid Application Development (RAD)

Rational Unified Process (RUP)

Agile (e.g. Scrum)

6
New cards

V - Model (Sequential Development Model)

A V-model may have more, fewer or different levels of development and testing depending on the project and the software product

7
New cards

Component Testing

The verification/testing of "Code" part in V-Model

8
New cards

Integration Testing

The verification/testing of "Design" part in V-Model

9
New cards

System Testing

The verification/testing of "Specifications" part in V-Model

10
New cards

Acceptance Testing

The verification/testing of "Requirements" part in V-Model

11
New cards

System Integration Testing

System Testing -------> ___________________

12
New cards

Acceptance Testing

System Integration Testing -----------> _______________

13
New cards

Iterative LC - Regression Testing

Testing (including Regression Test) increases at each iteration. Regression Testing is increasingly important on all iterations after the first one.

14
New cards

Iterative LC - Regression Testing

We can apply the principles from other lifecycles, for example V-model principles in each iteration

15
New cards

COTS-Oriented Life Cycle

For _______________ software, the purchaser does not perform component testing, but could perform integration, system and acceptance testing

16
New cards

Non-Component Development and System Integration & Test

COTS-Oriented Life Cycle

The part of the life cycle where testing is required

17
New cards

testing

Testing within a Life Cycle Model (V-Model)

For every development activity, there is a corresponding _________ activity.

18
New cards

Test Analysis and Design

Testing within a Life Cycle Model (V-Model)

Should begin during corresponding development activity.

19
New cards

Draft Design

Testing within a Life Cycle Model (V-Model)

Testers should participate in reviewing documents as soon as the drafts are available.

20
New cards

Different Test Objectives

Testing within a Life Cycle Model (V-Model)

Each test level has test objectives specific to that level.

21
New cards

Component Testing

Test basis:

● Component requirements

● Detailed design

● Code

22
New cards

Component Testing

Typical test objects:

● Components

● Programs

● Data conversion / migration programs

● Data base modules

23
New cards

Objectives of Component Testing

Component Testing

● Testing functionality

● Testing non-functional characteristics (e.g. memory leaks)

● Testing robustness

● Verifying error tolerance

● Verifying interfaces within a module

● Verifying local data, boundary values

24
New cards

Integration Testing

Test basis:

● Software and system design

● Architecture

● Workflows

● Use cases

25
New cards

Integration Testing

Typical test objects:

● Subsystems

● Database implementation

● Infrastructure

● Interfaces

● System configuration and configuration data

26
New cards

Integration Testing

Assembling tested components into a single system

27
New cards

Integration Testing

Tests interfaces and combinations of interacting components

28
New cards

Component Integration Testing

There may be more than one level of integration testing:

Tests the interactions between software components and is done after component testing

29
New cards

System Integration Testing

There may be more than one level of integration testing:

Tests the interactions between different systems or between hardware and software and may be done after system testing

30
New cards

System Testing

Test basis:

● System and software requirement specification ● Use cases

● Functional specification ● Risk analysis reports

31
New cards

System Testing

Typical test objects:

● System, user and operation manuals

● System configuration and configuration data

32
New cards

System Testing

● Verifying the behavior of a whole system or application

33
New cards

System Testing

● The test environment should correspond to the final production environment as much as possible to minimize the risk of environment specific failures

34
New cards

System Testing

● Investigate both functional and nonfunctional requirement of system and data quality characteristics

35
New cards

System Testing

● Effective System Testing needs to be executed without unit or integration defects

36
New cards

System Testing

● Testers also need to deal with incomplete or undocumented requirements

37
New cards

System Testing

● An independent test team often carries out system testing

38
New cards

Acceptance Testing

Test basis:

● User requirements

● System requirements

● Use Cases

● Business processes

● Risk analysis reports

39
New cards

Acceptance Testing

Typical test objects:

● Business processes on fully integrated system

● Operational and maintenance processes

● User procedures

● Forms

● Reports

● Configuration data

40
New cards

Acceptance Testing

● It is often the responsibility of the customers or users of a system; other stakeholders may be involved as well.

41
New cards

Acceptance Testing

● Goal: To establish confidence in the system, parts of the system or specific non-functional characteristics of the system.

42
New cards

Acceptance Testing

● Finding defects is not the main focus in _________ ___________

43
New cards

Acceptance Testing

● ________________ is not necessarily the final level of testing

○ E.g. a large-scale system integration test may come after the acceptance test for a system.

44
New cards

Acceptance Testing

● ______________ may occur at various times in the life cycle, for example:

○ A COTS software product may be acceptance tested when it is installed or integrated ○ Acceptance testing of the usability of a component may be done during component testing

○ Acceptance testing of a new functional enhancement may come before system testing

45
New cards

User acceptance testing

Forms of Acceptance Testing

fitness for use of the system by business users.

46
New cards

Operational (acceptance) testing

Forms of Acceptance Testing

○ Testing of backup/restore

○ Disaster recovery

○ User management

○ Maintenance tasks

○ Data load and migration task

○ Periodic checks of security vulnerabilities

47
New cards

Contract and regulation acceptance testing

Forms of Acceptance Testing

(In order with the term)

○ ________ _________ ________ is performed against a contract's acceptance criteria for producing custom-developed software.

○ Acceptance criteria should be defined when the parties agree to the contract .

○ ________ _________ __________ is performed against any regulations that must be adhered to, such as government, legal or safety regulations.

48
New cards

Alpha and beta (or field) testing

Forms of Acceptance Testing

(In order with the term)

○ ________ _________ is performed at the developing organization's site but not by the developing team.

○ ________ _________, or field-testing, is performed by customers or potential customers at their own locations.

49
New cards

factory acceptance testing and site acceptance testing

Forms of Acceptance Testing

Organizations may use other terms as well, such as ________ _________ ________ and ________ _________ ________ for systems that are tested before and after being moved to a customer's site.

50
New cards

A function to be performed by the software

Background

A test type is focused on a particular test objective, which could be any of the following:

○ Specified by a process flow model, a state transition model, or a plain language specification

51
New cards

A non-functional quality characteristic, such as reliability or usability

Background

A test type is focused on a particular test objective, which could be any of the following:

○ Specified by a performance model or a usability model

52
New cards

The structure or architecture of the software or system

Background

A test type is focused on a particular test objective, which could be any of the following:

○ Specified by a control flow model or a menu structure model

53
New cards

Change related

Background

A test type is focused on a particular test objective, which could be any of the following:

○ i.e., confirming that defects have been fixed (confirmation testing) and looking for unintended changes (regression testing)

54
New cards

Testing of Function (Functional Testing)

● WHAT the system does?

● __________ _________ are based on functions and features (described in documents or understood by the testers) and their interoperability with specific systems

● May be performed at all test levels

● Specification-based techniques may be used to derive test conditions and test cases from the functionality of the software or system

● Considers the external behavior of the software (black-box testing).

55
New cards

Security testing

Types of Functional Testing

○ Investigates the functions (e.g., a firewall) relating to detection of threats, such as viruses, from malicious outsiders.

56
New cards

Interoperability testing

Types of Functional Testing

○ Evaluates the capability of the software product to interact with one or more specified components or systems.

57
New cards

Non-functional Testing

● __________ _________ includes, but is not limited to, performance testing, load testing, stress testing, usability testing, maintainability testing, reliability testing and portability testing.

● It is the testing of "HOW" the system works. ● May be performed at all test levels

● Describes the tests required to measure characteristics of systems and software that can be quantified on a varying scale, such as response times for performance testing.

● Considers the external behavior of the software and in most cases uses black-box test design techniques to accomplish that.

58
New cards

Structural Testing

● ________ ________ may be performed at all test levels.

● Best used after specification-based techniques, in order to help measure the thoroughness of testing through assessment of coverage of a type of structure.

● Tools can be used to measure the code coverage of elements, such as statements or decisions.

● ________ ________ may be based on the architecture of the system, such as a calling hierarchy.

● ________ ________ approaches can also be applied at system, system integration or acceptance testing levels (e.g., to business models or menu structures).

59
New cards

Black Box Testing

Also known as specification-based testing.

60
New cards

White Box Testing

Also known as structure-based testing. Should follow its opposite to measure test thoroughness. Dependent on tools.

61
New cards

Functional

Functional and Non-Functional Testing

"What"

62
New cards

Non-Functional

Functional and Non-Functional Testing

"How"

63
New cards

Confirmation Testing

Testing Related to Changes : Re-testing and Regression Testing

○ After a defect is detected and fixed, the software should be re-tested to confirm that the original defect has been successfully removed.

○ Debugging (locating and fixing a defect) is a development activity, not a testing activity.

64
New cards

Regression Testing

Testing Related to Changes : Re-testing and Regression Testing

○ The repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the change(s).

○ Performed when the software, or its environment, is changed. ○ The extent of __________ _________ is based on the risk of not finding defects in software that was working previously.

65
New cards

Regression Testing

Testing Related to Changes : Re-testing and Regression Testing

● Tests should be repeatable if they are to be used for confirmation testing and to assist _______ __________.

● _______ __________ may be performed at all test levels, and includes functional, non-functional and structural testing.

● _______ _______ suites are run many times and generally evolve slowly, so regression testing is a strong candidate for automation.

66
New cards

Repeatable tests

Testing, Retesting and Regression Testing

are useful for retesting and regression testing.

67
New cards

Automated tests

Testing, Retesting and Regression Testing

are especially useful for regression testing

68
New cards

Maintenance Testing

● __________ ________ is done on an existing operational system, and is triggered by modifications, migration, or retirement of the software or system.

69
New cards

Maintenance Testing

● Modifications include:

○ Planned enhancement changes

○ Corrective and emergency changes

○ Changes to environment (upgrade to OS, db, or COTS)

○ Patches to correct newly-exposed vulnerabilities

● ________ __________ for the retirement of a system may include the testing of data migration or archiving if long data-retention periods are required