15 Lecture Flashcards

1
Q

What are the Reasons for continuous integration?

A
  • The later the integration is done, the higher the risk of unexpected failures
  • When a software system becomes more complex, the integration of its components gets harder
  • With continuous integration, integrating and testing is done as early as possible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define Failure

A

Any deviation of the observed behavior form the specified behavior (crash)

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

Define Error

A

The system is in a state such that further processing can lead to a failure

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

Define Fault

A

The mechanical or algorithmic cause of an error (bug)

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

3 Ways to deal with Fault

A

Fault avoidance
Fault detection
Fault tolerance

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

What is the testing activities for Object Design

A

Unit Testing

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

What is the testing activities for System Design

A

Integration Testing

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

What is the testing activities for Requirements Analysis

A

System Testing

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

What is the testing activities for Client Expectation

A

Acceptance Testing

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

Explain Unit Testing

A
  • Individual components are tested by the developers

Goal: Confirm that the component/ Subsystem is correct and carries out the intended functionality

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

Explain Integration Testing

A

Groups of subsystems and the entire system are tested by the developers
Goal: Test the interfaces of the subsystems

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

Explain System Testing

A

Entire system is tested by the developers.

Goal: Determine if the system meets the requirements

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

Explain Acceptance Testing

A

Evaluates the system delivered. Carried out by the client.

Goal: Demonstrate that the system meets the requirements and is ready to use

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

What is an Alpha test

A
  • Client uses the software at the developer’s environment
  • Controlled setting
  • Developers always ready to fix bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is an Beta test

A
  • Conducted at client’s environment

- Realistic workout for software

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

Define Continuous Integration

A
  • Software Development technique
  • members of a team integrate their work frequently
  • each integration is verified by an automated build
  • each build tests are executed to detect integration errors as quick as possible
17
Q

What are the advantages of continuous integration

A

+ Always an executable version of the system
+ Good overview of the project status
+ Automatic regression testing

18
Q

What is the goal of regression testing

A

verify that the software previously developed and tested still performs correctly even after it was changed or interfaced with other software

19
Q

AD of regression testing

A

+ find errors in existing source code immediately after a change is introduced

  • can be very costly to execute a large test suite after each change
20
Q

Which techniques are used in regression testing

A
  • Retest all
  • Regression test selection
  • Test case prioritization