Performance Testing Flashcards

1
Q

Performance testing should start at the ________ level and continue until _________ __________.

A

component (unit) level; system deployment

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

What is the risk of waiting until the end of a project to implement performance testing?

A

Performance problems may not be solvable due to time, money, and technological constraints.

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

List three goals/purposes of performance testing.

A
  1. Measuring system performance under given conditions.
  2. Determining max concurrent user load or transactional volume a system can handle before it fails.
  3. Providing info to assist in capacity planning for a system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How are performance requirements normally recorded? Provide an example.

A

Normally recorded in over-arching requirements (ex. all system responses to users that require longer than 3 seconds must display a wait notification).

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

How might performance requirements be defined in Agile?

A

May be documented in non-functional epics.

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

What is the role of stakeholders when it comes to determining performance requirements? (i.e., what happens without it?)

A

Lack of stakeholder performance requirements make it difficult for testers to assess test results and determine acceptable performance.

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

What are the four key tasks in aligning performance testing with the SDLC?

A
  1. During requirements definition: specific requirements for performance clearly defined and agreed upon by all stakeholders
  2. During design and coding: performance factors considered and built into design and subsequent code
  3. During integration and system testing: any new integration introduces new performance testing opportunities
  4. During acceptance testing: assess performance within the business or operational context
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

List some of the challenges with performance testing.

A
  • obtaining definition and agreement from stakeholders
  • obtaining funding for testing tools
  • obtaining best fit solution for performance testing tool
  • accurately profiling load levels
  • acquiring skilled test engineers to plan, design, and conduct a realistic performance test
  • building a representative performance test environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some of the risks of performance testing? (Long list)

A
  • inadequate performance test design
  • incomplete coverage of protocols and connectivity
  • inadequate test environments
  • inability to apply performance tool correctly
  • inadequate coverage of functions
  • inadequate amount of user and load data
  • lack of defined stakeholder requirements for performance
  • lack of agreement on defined stakeholder performance requirements
  • lack of appropriate performance metrics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some of the benefits of performance testing?

A
  • opportunity to “right-size” the system to handle expected load
  • opportunity to plan mitigation steps if loads exceed expected levels
  • early test results can help define acceptable levels of performance
  • expectations of future growth can be tested to see if system can support it
  • system performance weaknesses can be identified and fixed before occurring in prod
  • long lead time items can be addressed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the six areas of defining a performance test plan?

A
  1. Scope
  2. Strategy and approach
  3. Risk assessment
  4. Definition of test objectives
  5. Responsibilities
  6. Reporting metrics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

When defining a performance test plan, how is scope framed? (List and define five items.)

A
  1. Functionality: what features will be included/excluded from performance testing?
  2. Architecture: which aspects of the system architecture will be included?
  3. Transactions: what typical user transactions will be included?
  4. Users: which classes of users should be included on selection factors?
  5. Data: how much data should be used and how should it be accessed?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

When defining a performance test plan, what does strategy and approach define? What might it include?

A

Defines the way performance testing is to be conducted (may include outsourcing).

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

When defining a performance test plan, what purpose does risk assessment serve?

A

Performance testing can be risk-driven to focus on areas that carry the highest risk.

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

When defining a performance test plan, what is the purpose of defining test objectives?

A

At a higher level, objectives describe what the performance test is intended to achieve.

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

When defining a performance test plan, what is the purpose of defining responsibilities?

A

Both internal and external team roles must be defined; performance testing often requires support from system architects, database analysts, network engineers, etc.

17
Q

When defining a performance test plan, what is the purpose of defining reporting metrics?

A

Important to define which metrics are most meaningful to stakeholders to ensure those metrics are tracked.

18
Q

When defining a specific performance test within an overall test plan, what four areas must be considered? List and define.

A
  1. Environments: full-scale environments often difficult to build due to cost and complexity; can use a cloud-based test environment that is rapidly scaled to simulate prod
  2. Load and throughput profiles: current and predicted profiles must be understood for both load levels and data throughout (peak load times and load levels)
  3. Operational profiles: describes the functions users are expected to perform on the system and the frequency; profiles are implemented as scripts to be executed by virtual users
  4. Test data: need representative amounts and types of test data
19
Q

What are the four areas of conducting performance testing? (Test ________)

A
  1. Test preparation
  2. Test execution
  3. Test evaluation
  4. Test reporting
20
Q

In the performance test preparation stage, what components should be verified as ready for testing? List and define.

A
  1. Test environment: run preliminary tests to make sure basic test environments are in place; validate co-existing applications, verify test environment capacities
  2. Data: all databases and files should be populated with the designed volumes of test data to ensure test are not blocked
  3. Testware: test scripts, procedures, etc. should be in place and executing correctly
21
Q

What needs to occur during the performance test execution phase? When are performance anomalies tested?

A

Test tools are run and execution is monitored. Interpretation of results requires human intelligence. Performance anomalies can be tested in real time or after test is complete.

22
Q

During the performance test evaluation phase, are test results more definitive or comprehensive? What is the main question performance testing seeks to answer?

A

Performance testing is more comprehensive and informative, providing a snapshot view.

“Does the system or application meet stated performance goals or requirements?”

23
Q

What are the two types of reporting in the performance test reporting phase? List and define.

A
  • Risk-based reporting: helps identify which aspects of system performance may carry the most relative risk; helps stakeholders understand where to focus efforts.
  • Objectives-based reporting: performance test results are reported with traceability to performance test.
24
Q

Why are tools essential for performance testing? List four.

A
  1. Creating simulated concurrent user load (used for concurrency testing)
  2. Sustaining high levels of load
  3. Accurately measuring load levels and system response
  4. Repeating performance testing whenever needed
25
Q

What are five challenges that exist when it comes to using performance test tools?

A
  1. Performance tools do not know what to test (determined by the performance tester)
  2. Environment has to be representative
  3. High volumes of test data needed
  4. Expertise needed; this is not commonly found within organization, usually involved outsourcing
  5. Tools can be expensive