CH 2 Software testing

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/99

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 3:26 PM on 6/2/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

100 Terms

1
New cards

Software Development Life Cycle (SDLC)

A series of defined stages used to develop software from requirements through delivery.

2
New cards

Work Product

An intermediate deliverable required to create the final product, such as documentation or code.

3
New cards

Product

The final software system and associated documentation ready for release.

4
New cards

Waterfall Model

A linear/sequential SDLC where each phase is completed before the next begins.

5
New cards

Major drawback of Waterfall Model

Defects may not be discovered until late in development, making them expensive to fix.

6
New cards

Verification

Checking that a work product meets its specified requirements; building the product correctly.

7
New cards

Validation

Checking that the product meets user needs; building the right product.

8
New cards

V Model

A sequential SDLC that links each development phase with a corresponding testing phase.

9
New cards

Benefit of the V Model

Test planning begins early and every work product has a corresponding testing activity.

10
New cards

Requirement Specification

Captures user needs and requirements.

11
New cards

Functional Specification

Defines functions required to meet user needs.

12
New cards

Technical Specification

Provides technical design details for required functions.

13
New cards

Program Specification

Detailed design of modules or units to be coded.

14
New cards

Unit Testing in the V Model

Testing against the program specification.

15
New cards

Integration Testing in the V Model

Testing against the technical specification.

16
New cards

System Testing in the V Model

Testing against the functional specification.

17
New cards

System Integration Testing in the V Model

Testing against business processes.

18
New cards

Acceptance Testing in the V Model

Testing against the requirement specification.

19
New cards

Impact of V Model on Testing

Encourages early static testing but delays dynamic testing until later stages.

20
New cards

Iterative Development

Development where requirements evolve and software is built in repeated cycles.

21
New cards

Incremental Development

Development where functionality is delivered in small pieces over time.

22
New cards

Time-box

A fixed period during which work for an iteration is completed.

23
New cards

Key Advantage of Iterative Development

Users provide feedback throughout development, reducing risk of building the wrong product.

24
New cards

Test-Driven Development (TDD)

Writing functional tests before writing code.

25
New cards

Shift-Left Testing

Moving testing activities earlier in the development life cycle.

26
New cards

Traceability

The ability to link requirements, code, and tests throughout development.

27
New cards

Regression Testing Challenge in Iterative Development

Frequent changes require extensive retesting to ensure nothing breaks.

28
New cards

Agile

An umbrella term for iterative development methods emphasizing collaboration and adaptability.

29
New cards

Scrum

Agile framework using short iterations called sprints.

30
New cards

Sprint

A fixed-length iteration in Scrum.

31
New cards

Kanban

A visual workflow management approach using task boards.

32
New cards

Spiral Model

An iterative model driven by risk assessment.

33
New cards

Acceptance Test-Driven Development (ATDD)

Development driven by acceptance criteria defined by stakeholders.

34
New cards

Behavior-Driven Development (BDD)

Development based on expected behavior using Given-When-Then statements.

35
New cards

Domain-Driven Development (DDD)

Development using a common language shared by all stakeholders.

36
New cards

Feature-Driven Development (FDD)

Development focused on designing and building specific features.

37
New cards

Extreme Programming (XP)

Agile methodology emphasizing communication, feedback, and continuous integration.

38
New cards

Lean IT

Development approach focused on maximizing value and eliminating waste.

39
New cards

DevOps

Collaboration among development, operations, and testing with emphasis on automation and continuous delivery.

40
New cards

Benefits of DevOps for Testing

Faster feedback, continuous integration, stable environments, automation, and reduced regression risk.

41
New cards

Continuous Integration (CI)

Frequent merging and testing of code changes.

42
New cards

Benefits of Shift-Left Testing

Earlier defect detection, reduced costs, and faster feedback.

43
New cards

Retrospective

A meeting used to identify lessons learned and improve future processes.

44
New cards

Purpose of Retrospectives

Retain successful practices and improve weak areas.

45
New cards

Good Testing Practice

Test design should begin early in the SDLC.

46
New cards

Good Testing Practice

Every work product should be tested.

47
New cards

Good Testing Practice

Each test level should have specific objectives.

48
New cards

Good Testing Practice

Testers should review requirements early.

49
New cards

Test Level

A stage of testing with a specific focus and objectives.

50
New cards

Five Common Test Levels

Component, Integration, System, System Integration, Acceptance.

51
New cards

Test Basis

Information used to derive test cases.

52
New cards

Test Object

The item being tested.

53
New cards

Component Testing

Testing individual units or components in isolation.

54
New cards

Who Usually Performs Component Testing?

Developers.

55
New cards

Purpose of Component Testing

Verify functionality and structure of individual units.

56
New cards

Mock Objects

Simulated objects used during testing when actual components are unavailable.

57
New cards

Stub

A passive replacement for a lower-level component during testing.

58
New cards

Driver

An active replacement for a higher-level component during testing.

59
New cards

Integration Testing

Testing interactions and interfaces between integrated components or systems.

60
New cards

Purpose of Integration Testing

Detect interface and interaction defects.

61
New cards

Component Integration Testing

Testing interactions between integrated components.

62
New cards

System Integration Testing

Testing interactions between systems and external interfaces.

63
New cards

Big-Bang Integration

Integrating all components at once before testing.

64
New cards

Disadvantage of Big-Bang Integration

Defects are difficult to isolate and often discovered late.

65
New cards

Top-Down Integration

Testing starts with higher-level components and moves downward.

66
New cards

Top-Down Integration Uses

Stubs.

67
New cards

Bottom-Up Integration

Testing starts with lower-level components and moves upward.

68
New cards

Bottom-Up Integration Uses

Drivers.

69
New cards

System Testing

End-to-end testing of the complete system in a representative environment.

70
New cards

Who Typically Performs System Testing?

An independent testing team.

71
New cards

Functional Requirement

A requirement describing what the system must do.

72
New cards

Non-Functional Requirement

A requirement describing how the system performs.

73
New cards

Examples of Non-Functional Requirements

Performance, usability, reliability, security, portability, maintainability.

74
New cards

Acceptance Testing

Testing performed to determine whether the system satisfies user and business needs.

75
New cards

Purpose of Acceptance Testing

Provide confidence that the system meets expectations.

76
New cards

User Acceptance Testing (UAT)

Testing performed by user representatives to verify business needs are met.

77
New cards

Operational Acceptance Testing

Testing operational readiness including backups, maintenance, and recovery procedures.

78
New cards

Contractual Acceptance Testing

Testing against acceptance criteria defined in a contract.

79
New cards

Regulatory Acceptance Testing

Testing to ensure compliance with legal or industry standards.

80
New cards

Alpha Testing

Testing by external users at the developer's site before release.

81
New cards

Beta Testing

Testing by customers at their own sites before release.

82
New cards

Functional Testing

Testing specific functions and features of a system.

83
New cards

Other Names for Functional Testing

Black-box testing or specification-based testing.

84
New cards

Functional Testing Measurement

Percentage of requirements covered by tests.

85
New cards

Non-Functional Testing

Testing system characteristics such as performance, usability, and security.

86
New cards

ISO/IEC 25010

Standard that defines software quality characteristics for non-functional testing.

87
New cards

White Box Testing

Testing based on the internal structure of the system.

88
New cards

Common White Box Measures

Code coverage and interface coverage.

89
New cards

Confirmation Testing

Retesting to verify a defect has been fixed.

90
New cards

Retesting

Another name for confirmation testing.

91
New cards

Regression Testing

Testing unchanged areas to ensure changes have not introduced new defects.

92
New cards

Difference Between Confirmation and Regression Testing

Confirmation verifies a fix works; regression checks nothing else broke.

93
New cards

Debugging

The process of identifying and fixing defects.

94
New cards

Testing vs Debugging

Testing finds defects; debugging fixes them.

95
New cards

Maintenance Testing

Testing performed after a system has been released and modified.

96
New cards

Triggers for Maintenance Testing

Modifications, upgrades, migrations, retirement, and bug fixes.

97
New cards

Impact Analysis

Determining which parts of a system may be affected by a change.

98
New cards

Purpose of Impact Analysis

Reduce unnecessary regression testing and understand risks of changes.

99
New cards

Conversion Testing

Testing data transfer during system migration.

100
New cards

Importance of Traceability in Maintenance

Helps determine the impact of changes and required testing.