66
Test Planning CMPT 473 Soſtware Tesng, Reliability and Security Nick Sumner

CMPT 473 Software Testing, Reliability and Security Test

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CMPT 473 Software Testing, Reliability and Security Test

Test Planning

CMPT 473Software Testing, Reliability and Security

Nick Sumner

Page 2: CMPT 473 Software Testing, Reliability and Security Test

2

Planning Tests

● We have looked at fundamental criteria for evaluating test suites.

Page 3: CMPT 473 Software Testing, Reliability and Security Test

3

Planning Tests

● We have looked at fundamental criteria for evaluating test suites.

● We still haven't tried to rigorously create tests.

Page 4: CMPT 473 Software Testing, Reliability and Security Test

4

Planning Tests

● We have looked at fundamental criteria for evaluating test suites.

● We still haven't tried to rigorously create tests.

● Recall: Quality comes from process

– The testing process is guided by a test plan

Page 5: CMPT 473 Software Testing, Reliability and Security Test

5

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

Page 6: CMPT 473 Software Testing, Reliability and Security Test

6

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

Page 7: CMPT 473 Software Testing, Reliability and Security Test

7

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

● A process for applying and evaluating testing over the lifetime of a project

Page 8: CMPT 473 Software Testing, Reliability and Security Test

8

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

● A process for applying and evaluating testing over the lifetime of a project

What test plans have you seenso far in co-ops/internships?

What guidelines/rules did they contain?

Page 9: CMPT 473 Software Testing, Reliability and Security Test

9

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

● A process for applying and evaluating testing over the lifetime of a project

What test plans have you seenso far in co-ops/internships?

What guidelines/rules did they contain?

Were these useful? Why?

Page 10: CMPT 473 Software Testing, Reliability and Security Test

10

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

● A process for applying and evaluating testing over the lifetime of a project

Being too specific or detailed is a problem,the plan should guide the process but not become a burden itself.

Page 11: CMPT 473 Software Testing, Reliability and Security Test

11

Test Plans

Test Plan● Documentation of the goals, concerns, methodology, and

metrics for testing

● Not a test suite

● A process for applying and evaluating testing over the lifetime of a project

Being too specific or detailed is a problem,the plan should guide the process but not become a burden itself.

The nature & uses of a test plan depend on the project.

Page 12: CMPT 473 Software Testing, Reliability and Security Test

12

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

Page 13: CMPT 473 Software Testing, Reliability and Security Test

13

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

What happens if you skip clear requirements and specifications

for the software itself?

Page 14: CMPT 473 Software Testing, Reliability and Security Test

14

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

– Clear definition of what to do, how, and when

Page 15: CMPT 473 Software Testing, Reliability and Security Test

15

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

– Clear definition of what to do, how, and when

– Enable developers (& customers) to communicate about the process

Page 16: CMPT 473 Software Testing, Reliability and Security Test

16

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

– Clear definition of what to do, how, and when

– Enable developers (& customers) to communicate about the process

– Structures the process to aid in scheduling & management

Page 17: CMPT 473 Software Testing, Reliability and Security Test

17

Why Use Test Plans?

● They act like requirements and specifications, but for the testing process

– Clear definition of what to do, how, and when

– Enable developers (& customers) to communicate about the process

– Structures the process to aid in scheduling & management

– Testing after the fact is too late

Page 18: CMPT 473 Software Testing, Reliability and Security Test

18

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

Page 19: CMPT 473 Software Testing, Reliability and Security Test

19

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

● Requirements

– Environment, resources, dependencies

Page 20: CMPT 473 Software Testing, Reliability and Security Test

20

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

● Requirements

– Environment, resources, dependencies

● Schedule and/or personal responsibilities

Page 21: CMPT 473 Software Testing, Reliability and Security Test

21

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

● Requirements

– Environment, resources, dependencies

● Schedule and/or personal responsibilities

● Evaluation Criteria (Test Requirements)

Page 22: CMPT 473 Software Testing, Reliability and Security Test

22

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

● Requirements

– Environment, resources, dependencies

● Schedule and/or personal responsibilities

● Evaluation Criteria (Test Requirements)

● Expected Risks & Contingencies

Page 23: CMPT 473 Software Testing, Reliability and Security Test

23

What Should It Include?

Structure may vary but contents often show

● Purpose & Objectives

● Requirements

– Environment, resources, dependencies

● Schedule and/or personal responsibilities

● Evaluation Criteria (Test Requirements)

● Expected Risks & Contingencies

● Deliverables

Page 24: CMPT 473 Software Testing, Reliability and Security Test

24

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components

Page 25: CMPT 473 Software Testing, Reliability and Security Test

25

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components● Integration test plans- correct component interaction

Page 26: CMPT 473 Software Testing, Reliability and Security Test

26

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components● Integration test plans- correct component interaction● System test plans- whole system concerns like correctness,

throughput, responsiveness, & reliability

Page 27: CMPT 473 Software Testing, Reliability and Security Test

27

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components● Integration test plans- correct component interaction● System test plans- whole system concerns like correctness,

throughput, responsiveness, & reliability● Acceptance test plans- adherence to customer

requirements

Page 28: CMPT 473 Software Testing, Reliability and Security Test

28

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components● Integration test plans- correct component interaction● System test plans- whole system concerns like correctness,

throughput, responsiveness, & reliability● Acceptance test plans- adherence to customer

requirements● Regression test plans- regular tests to maintain quality

Page 29: CMPT 473 Software Testing, Reliability and Security Test

29

Purpose

May apply testing at many phases of the lifecycle:● Unit test plans- correctness of individual components● Integration test plans- correct component interaction● System test plans- whole system concerns like correctness,

throughput, responsiveness, & reliability● Acceptance test plans- adherence to customer

requirements● Regression test plans- regular tests to maintain quality● Master test plans- overall plan for all testing● ...

Page 30: CMPT 473 Software Testing, Reliability and Security Test

30

Objectives

Clearly identify the goals of testing

Page 31: CMPT 473 Software Testing, Reliability and Security Test

31

Objectives

Clearly identify the goals of testing

● Specification of the software & feature under test

Page 32: CMPT 473 Software Testing, Reliability and Security Test

32

Objectives

Clearly identify the goals of testing

● Specification of the software & feature under test

● Functional requirements that the test process should help assure.

Page 33: CMPT 473 Software Testing, Reliability and Security Test

33

Objectives

Clearly identify the goals of testing

● Specification of the software & feature under test

● Functional requirements that the test process should help assure.

● Nonfunctional requirements

– resources, performance, reliability, portability, usability, …

Page 34: CMPT 473 Software Testing, Reliability and Security Test

34

Test Process Requirements

Environmental

● What platforms, resources, and other preconditions are assumed for running the test?

Page 35: CMPT 473 Software Testing, Reliability and Security Test

35

Test Process Requirements

Environmental

● What platforms, resources, and other preconditions are assumed for running the test?

– e.g. operating system, operating system version, supporting software/libraries, build tools, processor, attached hardware, remote networks/servers, ...

Page 36: CMPT 473 Software Testing, Reliability and Security Test

36

Addressing Multiple Configurations

Many different environments & build options may be desired.

Page 37: CMPT 473 Software Testing, Reliability and Security Test

37

Addressing Multiple Configurations

Many different environments & build options may be desired.

● Once again, combinatorial complexities arise

Page 38: CMPT 473 Software Testing, Reliability and Security Test

38

Addressing Multiple Configurations

Many different environments & build options may be desired.

● Once again, combinatorial complexities arise

Options

● Test most expected / common configurations

Page 39: CMPT 473 Software Testing, Reliability and Security Test

39

Addressing Multiple Configurations

Many different environments & build options may be desired.

● Once again, combinatorial complexities arise

Options

● Test most expected / common configurations

● Test most extreme scenarios

Page 40: CMPT 473 Software Testing, Reliability and Security Test

40

Addressing Multiple Configurations

Many different environments & build options may be desired.

● Once again, combinatorial complexities arise

Options

● Test most expected / common configurations

● Test most extreme scenarios

● Combinatorial testing once again

Page 41: CMPT 473 Software Testing, Reliability and Security Test

41

Deliverables

What are the intended results?

Page 42: CMPT 473 Software Testing, Reliability and Security Test

42

Deliverables

What are the intended results?

What do you expect to see from running a test suite?

Page 43: CMPT 473 Software Testing, Reliability and Security Test

43

Deliverables

What are the intended results?

● Documented test cases?

● Test scripts?

● Logs of the test process?

● Summaries of failures?

● Aggregate summaries? (How many failed/passed)

● Adequacy assessments?

Page 44: CMPT 473 Software Testing, Reliability and Security Test

44

Balancing

Test plans can be either an asset or a liability.

Page 45: CMPT 473 Software Testing, Reliability and Security Test

45

Balancing

Test plans can be either an asset or a liability.

● Monolithic & high risk process?

Page 46: CMPT 473 Software Testing, Reliability and Security Test

46

Balancing

Test plans can be either an asset or a liability.

● Monolithic & high risk process?

– Lasting detailed documentation helps mitigate risk

Page 47: CMPT 473 Software Testing, Reliability and Security Test

47

Balancing

Test plans can be either an asset or a liability.

● Monolithic & high risk process?

– Lasting detailed documentation helps mitigate risk

● Fast paced, agile, & low risk?

Page 48: CMPT 473 Software Testing, Reliability and Security Test

48

Balancing

Test plans can be either an asset or a liability.

● Monolithic & high risk process?

– Lasting detailed documentation helps mitigate risk

● Fast paced, agile, & low risk?

– Less detailed docs & more detailed whiteboarding.

Page 49: CMPT 473 Software Testing, Reliability and Security Test

49

Balancing

Test plans can be either an asset or a liability.

● Monolithic & high risk process?

– Lasting detailed documentation helps mitigate risk

● Fast paced, agile, & low risk?

– Less detailed docs & more detailed whiteboarding.

There is no cookie cutter processto follow every time.

Page 50: CMPT 473 Software Testing, Reliability and Security Test

50

Contention

● There is a growing tendency against traditional test plans

– Why might this be the case?

Page 51: CMPT 473 Software Testing, Reliability and Security Test

51

Contention

● There is a growing tendency against traditional test plans

– Why might this be the case?

● Lighter weight approaches examine higher level project quality

– Easier to visualize & manage

Page 52: CMPT 473 Software Testing, Reliability and Security Test

52

Contention

● There is a growing tendency against traditional test plans

– Why might this be the case?

● Lighter weight approaches examine higher level project quality

– Easier to visualize & manage

– Don't miss the forest for the trees

Page 53: CMPT 473 Software Testing, Reliability and Security Test

53

Contention

● There is a growing tendency against traditional test plans

– Why might this be the case?

● Lighter weight approaches examine higher level project quality

– Easier to visualize & manage

– Don't miss the forest for the trees

– Don't require updating project level documents

Page 54: CMPT 473 Software Testing, Reliability and Security Test

54

Attribute-Component-Capability

● Attributes

– (adj) high level (non)functional properties to ensure

Page 55: CMPT 473 Software Testing, Reliability and Security Test

55

Attribute-Component-Capability

● Attributes

– (adj) high level (non)functional properties to ensure

● Components

– (noun) chunks of software or features

Page 56: CMPT 473 Software Testing, Reliability and Security Test

56

Attribute-Component-Capability

● Attributes

– (adj) high level (non)functional properties to ensure

● Components

– (noun) chunks of software or features

● Capabilities

– (verb) user actions

Page 57: CMPT 473 Software Testing, Reliability and Security Test

57

Attribute-Component-Capability

● Attributes

– (adj) high level (non)functional properties to ensure

● Components

– (noun) chunks of software or features

● Capabilities

– (verb) user actions

Test process is organized by a matrix showing how attributes are satisfied

Page 58: CMPT 473 Software Testing, Reliability and Security Test

58

ACC Matrix

Component Fast Secure Personalized

ShoppingCart

ItemSearch

Notifications

Attributes

Attributes & Components formthe columns & rows of a matrix.

Page 59: CMPT 473 Software Testing, Reliability and Security Test

59

ACC Matrix

Component Fast Secure Personalized

ShoppingCart

● Credit card information is stored encrypted.

● Passwords are not stored plain-text

ItemSearch

Notifications

Attributes

Capabilities for each componentfit into the cells.

Page 60: CMPT 473 Software Testing, Reliability and Security Test

60

ACC Matrix

Component Fast Secure Personalized

ShoppingCart

ItemSearch

Notifications (5/7)

Attributes

Test cases fall into cells of the matrix.

Page 61: CMPT 473 Software Testing, Reliability and Security Test

61

ACC Matrix

Component Fast Secure Personalized

ShoppingCart

ItemSearch

Notifications

Attributes

Results can be easily visualized.

Page 62: CMPT 473 Software Testing, Reliability and Security Test

62

ACC Testing

● What are the benefits of this approach?

Page 63: CMPT 473 Software Testing, Reliability and Security Test

63

ACC Testing

● What are the benefits of this approach?

● What are the risks?

Page 64: CMPT 473 Software Testing, Reliability and Security Test

64

Summary

● A traditional test plan formally specifies the goals, assumptions, methodologies, & outcomes.

Page 65: CMPT 473 Software Testing, Reliability and Security Test

65

Summary

● A traditional test plan formally specifies the goals, assumptions, methodologies, & outcomes.

● Newer test plans take higher level perspectives.

Page 66: CMPT 473 Software Testing, Reliability and Security Test

66

Summary

● A traditional test plan formally specifies the goals, assumptions, methodologies, & outcomes.

● Newer test plans take higher level perspectives.

● Neither approach is best in general.

Once again, there is no silver bullet.