|Version 6 (modified by anonymous, 3 years ago) (diff)|
I was a Java developer for a number of years then I became interested in the world of software testing. In general software testing is integrated very poorly into the software development lifecycle. In fact it is often not integrated at all.
Agile software development's philosophy of test early and test often requires creating flexible and maintainable test cases that grow with the functionality of the product, particularily when it comes to writing down manual test cases. I think manual test cases are incredibly effective and important, but write them in a way that is flexible and engages the brain's of your test team.
Don't write tests like this "do something->then next->end test case". What happens when the GUI changes? The higher level work flow or task/problem probably remained the same. Changing a button location should NOT require any changes to a test case.
To try and create all the test cases up front is wasted effort and incredibly expensive. Demand the most out of the smart people that you've hired and treat them as professionals that contribute equally to the product development teams efforts.
Keys to success:
- integrate the test team into the development team
- have the testers use development tools directly (like subversion)
- ditch old school thinking that requires QA to justify it's existence with piles of documentation
- if you're a technology company embrace technology (like TRAC) that solves real problems
- TestCaseManagementPlugin Manage test cases in Trac and Subversion