So sound off - what patterns and practices do you think are logical for testing? I can think of a ton--both programmatic and just sheer test cases. For instance:
Test Cases
- Boundary conditions (int): lower boundary, lower - 1, lower + 1; upper boundary, upper +1, upper -1
- Text/string: alpa, numeric, 'extended' (takes you back a few years, doesn't it?), double-byte, multi-byte, UTF8
- Input field: valid input type, valid input length, invalid input type, invalid length, XSS/SQL injection
Code
- Web service input, output
- Accessing fields on a form in an application
- Web request/response (threaded)
- ...
This is short list just to get people thinking. Time to get those creative juices flowing folks!
I was about to list few items under “Test Case”, but realized that I struggled with what to list. I think I have a hard time categorizing what falls under “testing patterns and practices” You listed “boundary conditions”, which I think is BVA (boundary value analysis). Which in my mind is a “test case design technique”. If it is the case, then I would list Equivalence Partitioning, Graph Based Testing Methods, Error Guessing.
ReplyDeleteMike Girenko
You might consider the writing of Elisabeth Hendrickson for test heuristics (http://testobsessed.com/wordpress/wp-content/uploads/2007/02/testheuristicscheatsheetv1.pdf), or of James Bach or Michael Bolton for their Rapid Software Testing course.
ReplyDeleteThe Association for Software Testing has also just started a series of testing courses. I joined AST for $50 and attended the first course, Black Box Software Testing Foundations, taught by Cem Kaner and Scott Barber. The course was excellent. It was a 3 week online course that was about the equivalent of a 3 day classroom course, with the benefit of discussing the course with members of my team.