Agile Testing
process of testing in Agile Software Development environment
-
Unit Test, Acceptance Test, etc.
-
Jared Richardson (one author of Ship It and pusher of Tracer Bullet Development and Mock Object testing) on various types of tests
index of key articles on Grig Gheorghiu's blog
My attitude (specific to WebApp testing)
- Now that developers can run databases on their local machine, no need for "dev" db server - config flipper picks db config (Deployment Environment) based on
is_production
or similar.- So testing can muck with (local) database. (Have conditional in test file to stop if
is_production
.) - Periodically dev takes snapshot of production database to use locally.
- If db gets too big have sysadmin process of generating fresh sample db.
- Often have some fake records in the production database that can be used for various forms of testing. Usually want those flagged in some way to (a) keep them out of public views, and (b) make sure they get included in "sample" mirror.
- So testing can muck with (local) database. (Have conditional in test file to stop if
- No need to test every basic interaction: huge amounts of WebApp-s are just CRUD+
- Unit Test for relatively complex logic/processing (so make sure those are isolated as functions)
- You probably still have to do a fair amount of human testing - is there a test framework that will catch when something ends up laid out wrong on the screen?
- Functional Test is mostly Test Last, not Test First - by which I mean a lot of test writing gets triggered by humans finding flaws.
- also I find usually need some testing to confirm varying behavior based on Persona
- contrary to earlier statement, I will write a simple walkthrough for every User Story just to make sure no error condition gets triggered
Edited: | Tweet this! | Search Twitter for discussion