15
TESTING TEST PLAN 16 October 2013

16 October 2013. Reminder Types of Testing: Purpose Functional testing Usability testing Conformance testing Performance testing Acceptance

Embed Size (px)

Citation preview

Page 1: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

TESTINGTEST PLAN

16 October 2013

Page 2: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

You must have your system on a server for demo 2

Reminder

Page 3: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Types of Testing: Purpose

Functional testing Usability testing Conformance testing Performance testing Acceptance testing Reliability testing …

Page 4: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Other classifications

ScopeUnit, component, system, regression, …

Access to codeBlack box vs. white box(Note that black box testing still assumes

knowledge of coding and development in general)

Page 5: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

What are you trying to test?

Most common actions? Most likely problem areas?

Risk-based testing

Page 6: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Risks Identify criteria of concern: availability,

quality, performance, … Risk of it not being met

likelihoodconsequences

If I’m testing code for a grocery store, what is the impact of the code not being highly available?

Page 7: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Four Parts of Testing

Model Select test cases Execute test cases Measure

Page 8: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Questions to Ask for Each Test

How will this test find a defect? What kind of defect? How powerful is this test against

that type of defect? Are there more powerful ones?

Page 9: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Basic Software Model

capabilities

environment

User interfaces

APIs

Operating system

Files

Input

Output

Storage

Processing

Page 10: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Test Case Selection

EnvironmentsWhat happens if a file changes out from under you?Consider all error cases from system calls

○ (e.g., you can’t get memory)Test on different platforms: software and hardwareTest on different versions and with different languages

CapabilitiesInputs (boundary conditions, equivalence classes)Outputs (can I generate a bad output?)States (reverse state exploration)Processing

Page 11: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

From the User Interface: Inputs Error messages Default values Character sets and data types Overflow input buffers Input interactions Repeated inputs

How easy is it to find bugs in Word?

Page 12: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Test Coverage Metrics Statement coverage

basic block coverage Decision coverage

Each Boolean expression Condition coverage

Each entity in Boolean expressions Path coverage

loops

Advantages of different models?

Page 13: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Unit Test What do they do?

Regression testing frameworkIncrementally build test suitesTypically language specific

What is available?JUnit most well knownSUnit was the first (Smalltalk)xxUnit where xx represents every language

known to CS○ (even Wikipedia lists 75 languages)

Page 14: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

How important is unit test? 91: Patriot Missile

incoming missile missed rounding error

93: Intel Pentium chip incorrect calculations table too small

96: Ariane V video auto-destruct data conversion – 64 bit float to 16 bit integer

98: Mars Climate Orbiter crashes into Mars imperial units instead of metric

Page 15: 16 October 2013. Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance

Regression Test Automated Run with every build Issues

TimeMany are GUI based (sample)

ToolsWide range of capabilities and qualityAvoid pixel-based toolsRandom vs. scripted testing

Informal version: rerun tests