Lecture 2 Flashcards

1
Q

What is testing?

A

It is a method to check whether the actual software product matches expected requirements and to ensure that software product is defect free

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

What does software testing consist of?

A

The dynamic verification of the behaviour of a program on a finite set of test cases selected from infinite executions domain against expected behaviour of the program.

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

What does dynamic mean in terms of software testing?

A

Testing implies executing the program on valued inputs

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

What does finite mean in terms of software testing?

A

It isn’t possible to test every single test case and instead a subset of test cases is chosen

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

What does selected mean in terms of software testing?

A

Identifying the most suitable selection criterion for a given set of conditions

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

What is expected in terms of software testing?

A

The observed behaviour is checked against user expectations

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

Why is software testing important?

A

If there are any bugs in the software it can be identified early and solved before delivery of the software product.

Properly tested software products ensures reliability, security and high performance which results in time saving, cost effectiveness and customer satisfaction

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

What are the benefits of software testing?

A

Cost Effectiveness
Security
Product quality
Customer satisfaction

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

When is it enough testing?

A

When a test set has every individual branching condition, every potential termination condition, every variable mentioned in a decision is placed correctly into classes and every condition relevant to the correct operation of the program

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

What is test effectiveness?

A

It is a measure of how well a software testing process is able to identify defects or bugs in a system. It is a metric to evaluate the quality and efficiency of a testing process.

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

How can test effectiveness be measured?

A

By comparing the number of defects found during testing to the total number of defects present in the system

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

What factors can affect test effectiveness?

A

The size and complexity of the system
The skill and experience of the testers
The testing methods and tools used

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

How can you increase test effectiveness?

A

By using various testing techniques such as black box, white box and gray bos

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

What is the equation for test effectiveness?

A

(Number of defects found during testing / Total number of defects in the system) * 100

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

What is test efficiency?

A

It is a measure of how efficiently a software testing process is able to identify defects or bugs in a system. It is a metric used to evaluate the performance of a testing process.

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

How can test efficiency be measured?

A

By comparing resources used during testing (time and money) to the number of defects found

17
Q

What is the equation for test efficiency?

A

(Number of defects found during/ Resources used during) * 100

18
Q

What factors affect test efficiency?

A

Efficient project management
Expert test professional
Project training
Technologies and Test automation

19
Q

What is efficient project management?

A

Project should have enough resources as well as expertise level to ensure a smooth transition between the various phases.

20
Q

What is expert test professional?

A

Testers who are experts not only at a technical level but should have project domain knowledge and ability to think rationally on unforeseen test scenarios.

21
Q

What is project training?

A

Regular project related training so that testers may sharpen their skills

22
Q

What is technologies and test automation?

A

Leveraging the use of the latest testing tools and technologies to automate the testing which will save the human effort

23
Q

What is software testability?

A

The degree to which a software system or component can be tested. The ease in which tests can be designed, implemented, and executed in order to validate the software behaves as expected.

24
Q

What is a testable software system?

A

One that can be tested using a set of automated or manual tests to ensure that it meets the requirements and functions correctly

25
Q

What are factors that affect testability?

A

Design of code
Use of appropriate interfaces and abstractions
The availability of test data and test environments

26
Q

What does improving testability do?

A

Leads to better quality software, faster development cycles and lower costs

27
Q

How do you measure software’s testability?

A

Controllability - testers should be able to control each module of software independently

Observability - this is the observation of states and factors that affect the output

Availability - the availability of objects to carry out testing. access to source code

Simplicity - varies depending on how the software is structured

Stability - less changes = better testing

28
Q

What are the four levels of software testing?

A

Unit testing
Integration testing
System testing
Acceptance testing

29
Q

Describe unit testing

A

It is the first level of testing. It is the process of testing small components of software. It is performed using white box testing and it allows for each small component of software to be tested separately. It is performed by programmers and aims to test each component functions well

30
Q

What are the advantages of unit testing?

A

It is easy to debug the software. If some error occurs only the latest changes that were made need to be tested.

It saves time as well as cost. The cost of solving defects is less compare to other testing types.

Development is faster because it requires fewer efforts to find and fix bugs compared to other testing types

31
Q

What are the steps involved in unit testing?

A

Unit test plan
Unit test cases
Unit testing

32
Q

Describe integration testing

A

It is the second level of software testing, each component is combined and tested as a whole. The goal behind this is to ensure that the product is working properly when the units are combined, hence it identifies errors between interacted components.

It uses black box, white box and grey box testing

33
Q

What approaches can be used in integration testing?

A

Big bang approach - all units are combined together as a whole and tested in one go

Top down approach - units at the top level are tested first, and then units at the low levels are tested one by one

Bottom up approach - units at the lower levels are tested first, and then units at a high level are tested one by one

Sandwich approach - a combination of top down and bottom up approach

34
Q

Describe system testing

A

The third level of software testing, it aims to test the whole system in a different environment and ensures that they meet the specified requirements.

It uses black box testing and is carried out by testers who are independent of the development team. The main aim is to test the functionality of the system against its specified requirements

35
Q

What steps are included in system testing?

A

System test plan
System test cases
System testing

36
Q

Describe acceptance testing

A

The last level of software testing. The product is tested to check the acceptability, it checks the compatibility of the system against the specified requirements. It also checks whether it is ready for delivery or not. Black box testing is used

37
Q

Describe the types of acceptance testing

A

Alpha testing is performed by the people who are members of the organization and not involved in the development team. Aka internal acceptance testing

Beta testing is performed by users who are going to use it in the future. Aka external acceptance testing