Agile Testing

process of testing in Agile Software Development environment

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.
  • 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:    |       |    Search Twitter for discussion