Acceptance Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March...

16
Acceptance Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 30, 2007
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Acceptance Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March...

Acceptance Testing

CSSE 376, Software Quality Assurance

Rose-Hulman Institute of Technology

March 30, 2007

2

Outline

Role of Acceptance Testing Other Paths to Acceptance Agile Approach

3

Lifecycle Testing Relationships

Requirements

High-level Design

Low-level Design

Code Unit Testing

Integration Testing

System Testing

Acceptance Testing

4

Requirements as Use Cases

1. For each use case enumerate a set of scenarios

2. Construct a test case for each scenario

3. Construct a test suite to run the test cases

5

Other Paths to Acceptance

Beta testing Distribute system to volunteers Collect change requests, fix, redistribute Collect statistics on beta use

Shadowing Collect or redistribute real-time use of existing

system Compare results Collect statistics

6

Agile Approach: Framework for Integrated Test (FIT) Developed by Ward

Cunningham as an extension of xUnit framework

Encourages customer participation via simple tables

7

Story-Driven Development

Customers write stories Developers develop code to realize

each story Customers and developers work

together to create tests of each story

8

Cartoon of the Day

9

FIT + Wiki + Web Server = FitNesse

10

Why Do We Need a Wiki?

Lower the barrier to customer participation

Easy to keep up-to-date

11

Fixture: Connection Between Test System and Application

When "Test" button is pushed a fixture is called to process the table

The fixture delegates to underlying application code

Fixture code is like xUnit TestCase code extends base class may create objects for multiple tests

12

Common Table Formats

ColumnFixture each row specifies one input and one

output RowFixture

first row is input, remaining rows are output

ActionFixture each row is either an action to perform

or a value to check

13

ColumnFixture

eg.Division

numerator denominator quotient?

10 2 5

12.6 3 4.2

100 4 25

14

RowFixture

fitnesse.fixtures.PrimeNumberRowFixture

prime

2

3

5

7

15

ActionFixture

Action Table

start fitnesse.fixtures.CountFixture

check counter 0

press count

check counter 1

16

Demo