Lecture 10 Flashcards

1
Q

What is Software testing?

A

An Activity designed to uncover faults in software

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

3 Stages of Testing

A

Development testing, where the system is tested during development to discover bugs and defects

Release testing

User testing

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

What is Unit testing?

A

Low-level focusing on a small part of the system

Written by the software developers

Should be fast, so they can be repeated many times

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

Unit testing: How?

A
  1. Arrange: set up the test data
  2. Act: call your method under test
  3. Assert that the expected results are returned
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Unit Test: Best Practices

A

Each unit test should be able to run independent of other tests.

Each test should test just one thing (single behavior, method, or function)

All external dependencies should be mocked.

The assumptions for each test should be clear and defined within the test method.
Name of the test method should be meaningful.

Unit tests should be fast, so that it could be run as often as required

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

Test Coverage: Why?

A

Measure used to describe how much the tests exercise the code

Offers a quantitative measurement.

Types of coverage:
Function (was a particular function called?)
Statement (was a particular line of code executed)
Branch (was an edge in the program executed
Other – increasingly expensive to calculate

100% test coverage DOES NOT guarantee 0 bugs

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

What is Release testing?

A

Release testing is:
testing a release that is intended for use outside of the
development team
usually a black-box testing process - tests are only derived from
the specification
done by a team not involved in development

The goal is to convince the supplier that the system is
good enough for use.

In contrast, in system testing the development team focus on discovering bugs in the system.

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

What is Release testing?

A

Release testing is:
Testing a release that is intended for use outside of the
development team

Usually a black-box testing process - tests are only derived from the specification

Done by a team not involved in development

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

What is the goal of release testing?

A

The goal is to convince the supplier that the system is
good enough for use.

In contrast, in system testing the development team focus on discovering bugs in the system.

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

What is User testing?

A

User or Customer testing :
Is a stage in the testing process in which users provide input and advice on system testing

Is essential, even when comprehensive system and release testing have been carried out

The influences from the user’s working environment have an effect on the reliability, performance, usability and robustness. These cannot be replicated in a testing environment

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

What is the 2 types of user testing?

A

Alpha testing-:users of the software work with the development team to test the software at the developer’s site

Beta Testing-a release of the software is made available to users to experiment at their own site

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

Advantage of writing unit tests?

A

Writing unit tests will make you a better developer; strive to write testable code

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

What is Code coverage?

A

Code coverage measures the efficiency of test implementation

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