160 likes | 179 Views
Acceptance Testing. CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 30, 2007. Outline. Role of Acceptance Testing Other Paths to Acceptance Agile Approach. Requirements. High-level Design. Low-level Design. Code. Unit Testing. Integration Testing.
E N D
Acceptance Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 30, 2007
Outline • Role of Acceptance Testing • Other Paths to Acceptance • Agile Approach
Requirements High-level Design Low-level Design Code Unit Testing Integration Testing System Testing Acceptance Testing Lifecycle Testing Relationships
Requirements as Use Cases • For each use case enumerate a set of scenarios • Construct a test case for each scenario • Construct a test suite to run the test cases
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
Agile Approach: Framework for Integrated Test (FIT) • Developed by Ward Cunningham as an extension of xUnit framework • Encourages customer participation via simple tables
Story-Driven Development • Customers write stories • Developers develop code to realize each story • Customers and developers work together to create tests of each story
Why Do We Need a Wiki? • Lower the barrier to customer participation • Easy to keep up-to-date
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
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