Chapter 1 Flashcards

Basic Concepts

1
Q

Vocab

Capacity Testing

A

Determines:
* How many users
* How many transactions
* Number of data volumes from transactions

are needed to meet performace objectives

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

Vocab

Concurrency Testing

A

Focuses on
the impact of situations were specific actions occur simultaneously

Concurrency issues are notoriously difficult to find and reproduce

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

What are the three characteristics of performance testing?

A
  • Time behavior - ability of a component to respond within a specified time and under specified conditions. (End-to-end timing, CPU cycles)
  • Resource Utilization - Avilability of resources may need to be investigated
  • Capacity - Required capacity limits of system behavior may need to be tested to evaluate system architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vocab

Endurance Testing

A

Focuses on the stability over time.

Verifies no resource capacity problems, such as:
* Memory leaks
* Database connections
* Thread pools

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

Vocab

Load Generation

A

Simulates a load for testing:
* Time-based tests
* Resource usage
* Capacity

Steps to generate:
1. Define load scenarios
2. Choose your load generation tool, such as JMeter, Gatling, etc
3. Configure the load (see below)
4. Monitor and log analytics

Configure:
* Ramp-up time: The rate at which VUsers are added to the test.
* User think time: The delay between requests from each VUser.
* Request rate: The frequency of requests per second.
* Data volume: The amount of data transferred during each request.

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

Vocab

Load Testing

A

Can the system handle increasing levels of anticipated loads from transaction requests from controlled numbers of concurrent users or processes

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

Vocab

Spike Testing

A

Ability of a system to respond to sudden bursts of peak loads and return to a steady state.

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

Vocab

Performance Testing

A

Umbrella term

Any testing that focuses on performance (AKA responsiveness) of the system or component under different volumes of load

Responsiveness might be swapped out for performance on the exam

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

Vocab

Scalability Testing

A

Ability to meet future requirements beyond which are currently required.

Determine the ability of the system to grow, without violating currently specified performance requirements or failing.

Observability implications - - Threshold values can then be set and monitored in production to provide a warning about when a problem is about to arise.

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

Vocab

Stress Testing

A

Ability of a system or component to handle peak loads that are at or beyond the limits of anticipated workloads.

ALSO

Ability of a system to handle reduced resources, such as:
* compute capacity
* bandwidth
* memory

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

Is performance testing functional or non-functional?

A

Non-functional - the testing does not address the functionality of the application directly

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

What are the 5 performance testing principles?

A
  • Aligned with the expectations of different stakeholders - users, system designers, and operations
  • Reproduceable, with statistically identicle results (within thresholds)
  • Yield results that are understandable and compared to expectations
  • Conductable on systems that are complete, partial, or representative of production
  • Affordable and executable within timeframe set by budget
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the two testing types used in perf testing?

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

What are some of the static testing activities?

A
  • Requirements reviews
  • Database reviews (schemas, stored procedures, ERDs, etc)
  • System/architecture reviews
  • Complex algorithms
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are some of the dynamic testing activities?

A
  • Unit/component testing - profiling for bottlenecks and resource utilization
  • Component Integration -examining key use cases and workflows
  • System Testing - end-to-end behaviors
  • System integration - data flows and workflows across key interfaces
  • Acceptance Testing - build user, customer, and operator confidence in performance of the system and fine tune under real world conditions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

True or False

The use of realistic environments, data, and loads are critical for accurate results, for system testing and system integration testing.

A

True

10
Q

How soon should performance testing begin in an agile environment?

A

As soon as possible, starting with the requirements.

Performance requirements will be found in the “acceptance criteria” of a user story.

11
Q

What if the necessary hardware isn’t available?

A

Use simulators for the time being

12
Q

What are the 4 ways to generate loads?

A
  • User Interface
  • Crowds (testers)
  • API
  • Captured communication protocols (tool-based approach)
13
Q

Describe 3 requirements for a performance test load

A
  • Represents many user inputs
  • May require dedicated hardware and tools for load generation
  • Dependent on the absence of any functional defects in the SUT
14
Q

General Knowledge

What is SUT

A

System Under Test

15
Q

Describe Load Generation via User Interface (UI)

A
  • Small number of users represented
  • Requires same number of software clients
  • Depends on UI stability
  • Affected by frequent UI/end-to-end (E2E( changes
  • Can be done with functional testing (ie E2E) tools, but will not be scalable
16
Q

Describe Load Generation with Crowds

A
  • Requires a high availability of testers
  • Good for simulating various devices and geo-locations
  • Difficult to reproduce results and organize the process
17
Q

Describe Load Generation via API

API - Application Programming Interface

A
  • Dedicated scripts repeatedly make calls to API
  • Avoids the UI
  • More users can be simulated
18
Q

Describe Load Generation using Captured Communication Protocols

A
  • Tests systems at the communication protocol level
  • Able to simulate very large numbers of users
  • Repeatable and reliable

See also Chapter 4

19
Q

List some common failure modes found during dynamic testing

A
  • Slow responses under all load levels
  • Slow response under moderate-to-heavy load levels
  • Degraded response over time
  • Inadequate or graceless error handling under heavy or over-limit load
20
Q

What are some causes of slow response regardless of load level?

A
  • Bad database design
  • Network latency
  • Other background loads

Slow response also can be identified through E2E/functional and usability testing

E2E - end-to-end

21
Q

What can cause slow response under moderate-to-heavy load levels?

A
  • Saturation of one or more resources
  • Varying background loads
22
Q

What can cause degraded responses over time?

A
  • Memory leaks
  • Disk fragmentation
  • Increasing network load over time
  • Growth of file repository
  • Unexpected database growth
23
Q

What can cause inadequate or graceless error handling under heavy or over-limit load?

Sometimes response time is ok, but error handling goes bad

A
  • Insufficient resource pools
  • Undersized queues and stacks
  • Too rapid time-out settings