Difference between revisions of "Fragile Test"
From CitconWiki
Jump to navigationJump to search| Line 1: | Line 1: | ||
| − | < | + | <pre>Less Fragile Tests |
Tests | Tests | ||
| Line 61: | Line 61: | ||
Broken windows | Broken windows | ||
Continually failing, low priority tests/defects cause a 'Broken windows' effect which degrades the value of CI. | Continually failing, low priority tests/defects cause a 'Broken windows' effect which degrades the value of CI. | ||
| − | </ | + | </pre> |
Revision as of 00:02, 28 July 2007
Less Fragile Tests
Tests
Asserts
Component
Integration
Functional
UAT
Non-Functional
Perf
Security
Usability
See ISO 9126
Good Tests
Pass Repeatedly
Timing (e.g. Selenium)
External Dependencies
External Systems
Reliability
Availability
Data
Set Values
Incorrect State
Heavy Mocking
Utility to build mocks
Easy switching mock to real
Bad Test
Hidden cause of failure
Visible Replay using TimeSnapper
Visible Replay
Dump state data at failure
Tool advice
Time Snapper
EasyMock
Pretend Classes
DBUnit gets prod snapshot regularly (security issues: scrubbing) Table dependancies makes it a significant task
Data
Domain (name, addr, etc class pulled from DB
(abstracted data from test)
Data Driven Approach
Fitness Integration Testing
Strong correlation between importance of tests depending on the types of testing and what kind of thing you are doing (Product type development = high focus on test vs bespoke = low focus
Suggestion
Use a virtual machine, setup - refresh test machine using VMWARe to simulate MSG based, 20 mins business transactions
Test Data Repository
Used keyword substitution to create the real data
Typical Data
Edge / Border cases, Exception testing
Broken windows
Continually failing, low priority tests/defects cause a 'Broken windows' effect which degrades the value of CI.