Lecture 5 Flashcards

1
Q

Software testing is typically divided into what two types?

A

Functional and non-functional

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

What are three examples of functional testing?

A

-Unit testing
-Integration testing
-End 2 end testing

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

What are three examples of non-functional testing?

A

-Performance testing
-Security testing
-Usability testing

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

Why do we do performance testing?

A

To ensure stability and reliability

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

What do we hope to find during performance testing?

A

Bottlenecks

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

What is the ultimate goal of doing performance tests to identify bottlenecks and improve performance?

A

To improve the user experience

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

How can performance testing help with budgeting issues?

A

It can assess whether the IT infrastructure resources are over/underutilised, and if new changes are worth the time/money spent on them

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

What are three types of performance test?

A

-Baseline test
-Load test
-Endurance test

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

In the context of performance testing, what are transactions?

A

Logical groupings of requests

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

In the context of performance testing, what is think time?

A

A way for the test to simulate the wait in between clicks for users

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

What is response time?

A

Browser rendering time+network time+backend processing time

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

What is throughput?

A

The number of operations the system can perform in a unit of time

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

What is correlation?

A

The process of capturing parameters from server responses to use them in future requests, such as access IDs

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

What is parametrisation?

A

The process of injecting parameters into requests to make them unique, for example orderIDs should be different each time to simulate real world usage

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

What are metrics to consider when defining Acceptance Criteria goals?

A

-Response time
-Throughput
-Resource utilisation

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

What is an example of a conceptual goal in performance testing, that might be used in a meeting with stakeholders?

A

The ‘user login’ function should be fast even under heavy usage

17
Q

What is an example of a quantitative goal that can actually be tested?

A

The ‘user login’ transaction is less than 4s with a 90% probability with up to 10k users in the system

18
Q

What is a common challenge in performance testing that arises from the need for the test environment to mirror the production environment?

A

Difficult to achieve early in the process (‘shift-left testing’), but doing it late might mean changes to infrastructure become more expensive

19
Q

What problems in performance testing are caused by the use of HTTP to communicate?

A

Most tools only work on the HTTP level, measuring from the backend, not including browser response time. Testing on the HTTP level requires deep knowledge of the application

20
Q

What are three popular load testing tools?

A

-JMeter (user friendly GUI)
-Loadrunner
-MS Visual Studio Load Tester for Web Applications

21
Q

What is an example of a programming framework?

A

Locust (python)