Chapter 2 Flashcards

1
Q

What are the three main types of software development?

A

Sequential development
Iterative development
Incremental development

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

What is sequential development?

A

This is a linear flow of activities in which one developmental phase comes after another.

Some examples are the Waterfall and the V-model. These take months and years.

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

What is incremental development?

A

This is the process of establishing requirements, designing, building and testing in pieces so that software’s features grow incrementally.

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

What is iterative development?

A

This is when groups of features are designed, built and tested together in a series of cycles. Changes may occur in each iteration. Each iteration is a growing subset of features.

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

Name a type of iterative development process in which iterations are long.

A

Rational Unified Process

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

Name a type of iterative development process in which iterations are short, typically 2 weeks.

A

Scrum/Agile

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

Name a type of iterative development process in which iterations are not fixed length.

A

Kanban

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

Name a type of iterative development process in which iterations are experimental and features tend to be reworked or abandoned.

A

Spiral

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

Describe component testing,

A
Also called unit or module testing. 
This is focused on separately testable components.
This is often done in isolation of the rest of the system.
May cover functional or non-functional characteristics and structural properties.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some work products used as a test basis for component testing?

A

Detailed Design
Code
Component Specifications
Data models

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

Define test objects.

A

Items that will be tested.

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

Define test basis.

A

Test basis is defined as the source of information that is needed to write test cases and do test analysis.

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

What are test conditions?

A

Test conditions are the constraints that you should follow to test an application.

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

What is component integration testing?

A

This focuses on interactions and interfaces between integrated components.
Usually performed after component testing.
Generally automated
Usually apart of the continuous integration process

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

What is System Integration Testing?

A

This focuses on the interactions and interfaces between systems, packages and microservices.
This can also cover interactions with external organizations.
This can be done after system testing.

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

What is the test basis for integration testing?

A
Software and system design
Sequence diagrams
Interface specs
Use cases
Workflows
17
Q

What are some test objects for SIT?

A

Subsystems
Databases
Interfaces
APIs

18
Q

Component integration testing is the responsibility of what stakeholder?

A

Developers

19
Q

System integration testing is the responsibility of what stakeholder?

A

Testers

20
Q

Define system testing.

A

System testing focuses on the end-to-end behaviour and capabilities of a whole system or product as well as non-functional behaviours.

21
Q

Describe Acceptance testing.

A

This focuses on the capabilites of a whole system and its readiness for deployment.

22
Q

Define User Acceptance Testing.

A

This is typically focused on validating the fitness for use of the system by intended users in a real or simulated operational environment.

23
Q

Define Operational Acceptance Testing.

A

This is Acceptance testing of the system by operations or systems admin staff, performed in a simulated production environment. The main objective of this is to build confidence that operators or system administrators can keep the system working properly for the users in the operational environment, even under exceptional or difficult conditions.

24
Q

What is functional testing?

A

This type of testing evaluates functions that the system should perform.

25
Q

What is non-functional testing?

A

This type of testing evaluates system characteristics such as usability, performance, efficiency and security.

26
Q

What is white-box/structural testing?

A

This is testing that derives tests based on the system’s internal structure or implementation.

27
Q

What is confirmation testing?

A

This is testing whether the original defect has been successfully fixed.

28
Q

What is regression testing?

A

This is running tests to detect unintended side effect of code changes.

29
Q

What is the difference between maintenance testing and maintainability testing?

A

Maintainability testing defines how easy it is to maintain a system. Maintenance testing is testing during the maintenance cycle of testing.

30
Q

What is compliance acceptance testing?

A

Compliance acceptance testing or regulation acceptance testing is performed against the regulations which must be adhered to, such as governmental, legal or safety regulations.

31
Q

What is contract acceptance testing?

A

Contract acceptance testing is performed against a contract’s acceptance criteria for producing custom-developed soft-ware.

32
Q

What is alpha testing?

A

This test takes place at the developer’s site. A cross-section of potential users and members of the developer’s organization are invited to use the system. Developers observe the users and note problems. Alpha testing may also be carried out by an independent test team.

33
Q

What is beta testing?

A

Beta testing, or field testing, sends the system to a cross-section of users who install it and use it under real-world working conditions. The users send records of incidents with the system to the development organization where the defects are repaired