Tuesday, October 9, 2007

Testing Patterns and Practices

I was chatting with a good friend the other day, and he commented that he thought it'd be logical to have testing patterns and practices. Well, that opened up a whole line of thinking, and I decided to post a blog on it and see what comes up!

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!

2 comments:

  1. 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.

    Mike Girenko

    ReplyDelete
  2. 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.

    The 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.

    ReplyDelete