Tuesday, October 16, 2007

Shameless Plug

Looking for two-way interactive information on software quality? Head on over to http://www.searchsoftwarequality.com and check it out. There are articles, webcasts, and even an 'ask the experts' column. Yeah, I am an expert there... Come on by and ask a question!

JT

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!

Wednesday, October 3, 2007

Where've I Been?

So I know I've been somewhat inconsistent in posting lately. It's one of those things - every job has had a push time, and this is one for us. The LDS Church holds a world-wide general conference every 6 months - leaders from the Church meet and give sermons twice a day, two hours per session, Saturday and Sunday. For http://www.lds.org, this is the web equivalent to Christmas and Easter combined.

Coming into the October conference (this weekend), we've been working through a series of stability issues. That means pulling some all-nighters (literally - I came home yesterday as my son was getting up for school) to drive load when the site isn't utilized.

Test has been involved primarily as helping generate test load against the servers. It's an interesting challenge - who ultimately owns 'quality' on a web site? Test? Operations? Test is responsible for the applications coded, whereas Ops is responsible for the configuration and maintenance of the servers. The good news is, at the Church we all pitch in and work together to get through this kind of thing.

So that's where I've been. Hope to get back to my posting about quality - what is it, how does it happen - very soon. Meanwhile, catch some rest for me too, OK?

Exactly...

I was catching up on some Google alerts and came across an article on ZDNet:

40 IT failures caused by software bugs by ZDNet's Michael Krigsman -- Rick Hower, who runs the Software QA Test Resource Center has compiled a lengthy listing of “major computer system failures caused by software bugs” Here are several entries from that list: A September 2006 news report indicated problems with software utilized in a state government’s primary election, resulting in periodic unexpected rebooting of voter check-in machines, [...]

This article is a great source of justification. I've had my own negative experiences caused by inadequate testing (I keep harping on it, but 13 million corrupted rows in a production database is a bad thing - before my time, so I don't bear responsibility, but I failed in several related arguments about the level of testing needed).

This goes back to my post about levels of risk. If I'm an online web site, I need to devote more resources to my online transactions and account privacy than I do to my site UI. Yes, my site is my 'best foot forward' but all the benefit of a well-designed, well-implemented, well-tested site goes out the window the instant I'm hacked.

Business leaders just don't seem to get it... Testing is NOT about proving functionality. That's what IBM and Circuit City management kept pushing us to do. I had a 2-hour argument with an IBM dev lead my first week at Circuit over this very topic - I was trying to do too much negative testing (one case was too much, in his eyes).

Finding that leadership to influence from 'below' is a challenge. It takes patience and consistency--constantly reinforcing the value of testing. Articles like this one from ZDNet help, too. Unfortunately, many businesses refuse to learn from others' experience. Wisdom or Experience - we can learn from one or the other. Experience is truly an expensive teacher though!

Trackback URL: http://blogs.zdnet.com/projectfailures/wp-trackback.php?p=427