Thursday, March 15, 2007

Balancing Exploratory Testing With Scripted Testing

This is the best explanation I have ever seen that deals with the balance testers must strike between scripted and exploratory testing:

"To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing. We become more exploratory when we can't tell what tests should be run, in advance of the test cycle, or when we haven't yet had the opportunity to create those tests. If we are running scripted tests, and new information comes to light that suggests a better test strategy, we may switch to an exploratory mode (as in the case of discovering a new failure that requires investigation). Conversely, we take a more scripted approach when there is little uncertainty about how we want to test, new tests are relatively unimportant, the need for efficiency and reliability in executing those tests is worth the effort of scripting, and when we are prepared to pay the cost of documenting and maintaining tests. The results of exploratory testing aren't necessarily radically different than those of scripted testing, and the two approaches to testing are fully compatible."

This makes sense to me. The messing around I do as I am figuring out how new things work and how I should test them is really a form of exploratory testing. And this may be the only testing that is necessary for very small applications. But with a bigger app like eduCommons it is clearly impossible to keep everything organized without scripted (preferably automated) tests.

Testability

Grig Gheorghiu presented at PyCon and then blogged about what makes software more testable? Here it is, shamelessly borrowed from his blog:

I mentioned a list put together by Michael Bolton, and summarized/enhanced by Adam Goucher in this blog post. Recommended reading, both for developers who want to add testing hooks into their software, and for testers who want to know what to ask for from developers so that their life gets easier (and if you're one of the unfortunate souls who have to deal with Java or .NET, this blog post by Roy Osherove talks about testability and pure OOP.)

Although our tutorial was focused on tools and techniques for implementing test automation, we also mentioned that you will never be able to get rid of manual testing. Even though the Google testing team says that 'Life is too short for manual testing' (and I couldn't agree more with them), they hasten to qualify this slogan by adding that automated testing frees you up to do more meaningful exploratory testing.

My experience as a tester shows that the nastiest bugs are often discovered by manual testing. But when you do discover them manually, the best strategy is to write automated tests for them, so that you'll check your application in that particular area from that moment on, via an automated test suite which runs in your continuous integration system.

You do have an automated test suite, right? And it does run periodically (daily or upon on every check-in) in a continuous integration system, right? And you have everything set up so that you're notified by email or RSS feeds when something fails, right? And you fix failures quickly so that everything turns back to green, because you know that too much red, too often, leads to broken windows and bit rot, right?

If you answered No to any of these questions, then you are not testing your application, period (but you already knew this if you took our tutorial -- it was on the last slide :-)

Sunday, February 11, 2007

My first eBusiness

I put together a little eBusiness with my wife back in 2002. AskADate.com was supposed to be a place to order themed gift packages for a loved one. If I remember right, the only person who ever ordered from the site was my mom. (Thanks, mom!) Anyway, it was a great excuse to buy a digital camera. In business terms it was a total loss, but I actually learned quite a bit about eCommerce, and I passed that on to my Computer Science students. If you count the advertising we bought through Google AdWords, I think the whole thing cost me about $250 ($200 of that was the digital camera). Even though the site is gone, it's great to be able to see it through Archive.org at http://web.archive.org/web/20030210140323/ask-a-date.com/.

Thanks for the memories, WayBack Machine!

Vision of an Open Library

“I don’t know what it will be like to have books from our libraries injected into our culture again, but I’d like to see it.” --Brewster Kahle

http://www.openlibrary.org/details/openlibrary

I realize this isn't new news, but it's new to me. Here are the parts of the 2005 Open Library/Open Content Alliance announcement from Archive.org that really hit home:

3 to 4 billion of the 12 billion libraries spend every year goes to publishing.

Other projects: International Childres's Digital Library, Internet Archive Bookmobile (dollar a book!). BookShare will use this content for access for the blind. $100 laptop will include books from this project onto their laptops. Open Content Alliance will create protocols and formats.

Library of Alexandria 2.0

The Microlibraries Project at the Center for Open and Sustainable Learning is off to a great start. They are figuring out how to format, print, cut and bind Gutenberg books in an attractive and cost-effective way. It's kind of like Brewster's Bookmobile -- except without the minivan. It turns out that for less than $2500 you can buy everything you need to print and bind paperback books. This has implications beyond the current goal of giving away 5000 books to elementary school students in rural northern Utah schools. But that's not a bad place to begin.

The trick is learning to share. Brewster Kahle points out in this excellent podcast that at it's peak, the Library of Alexandria in Egypt was able to collect and store most of the books of the world. An amazing achievement, but not very useful to folks who couldn't go there. So how do we share all these books and all this knowledge with more people? Many people think that the answer involves putting books online. I'm all for that, and it's an exciting to see it starting to happen.

But what then? Do you really want to read those books on your laptop? Me neither. There is something about printed books. So while thousands of people work on digitizing books all over the world, some of us should think about sensible ways to get books back into their original format. If this is all about making knowledge more accessible to people everywhere, then let's not limit it to folks with a computer and an Internet connection. Let's share books.

Wednesday, February 07, 2007

No Child Left Behind - The Basketball Version

I have had this in Word format for a while -- someone sent it to me via email a few years ago. So *poof* now it's online. If I have stolen your idea, email me and I will either attribute it to you or remove it. Your choice.

EDIT: The same thing is available here: http://participation.blogspot.com/2005/05/if-no-child-gets-ahead-then-no-child.html

1. All teams must advance to the Sweet 16, and all will win
the championship. If a team does not win the championship,
they will be on probation until they are the champions, and
coaches will be held accountable.

2. All kids will be expected to have the same basketball
skills at the same time and in the same conditions. No
exceptions will be made for interest in basketball, a
desire to perform athletically, or genetic abilities or
disabilities. ALL KIDS WILL PLAY BASKETBALL AT A PROFICIENT
LEVEL.

3. Talented players will be asked to practice on their own,
without instruction. This is because the coaches will be
using all their instructional time with the athletes who
aren't interested in basketball, have limited athletic
ability or whose parents don't like basketball.

4. Games will be played year round, but statistics will
only be kept in the 4th, 8th and 11th games.

5. This will create a New Age of sports where every school
is expected to have the same level of talent and all teams
will reach the same minimal goals. If no child gets ahead,
then no child will be left behind.

Thursday, February 01, 2007

How much emotional space do you really need?

Have you ever noticed that some people are much more emotionally needy than others? They need to share everything with you. All the stuff you really can't do anything about. But it's more than a need to share. The way I think of it is that these folks take up more emotional space.

The way I see it, there is only so much space out there. Eventually people start to bump into each other. That is when there are problems.

I want to teach at a university. So I have to go to school. Lots of school. I am around PhD people and wannabe PhD people. Some of these folks take up a lot of emotional space. Egos, stress, jealousy, and more egos. And it's not like personal space. Most folks will leave you with at least a few inches of that. But I've been in classrooms with zero emotional space. Zip. Nada. It's like the place is vacuum sealed.

If you are someone who takes up a lot of unnecessary emotional space, there is one cure for this problem. But I'll warn you, it's rather extreme. Have kids. It's like emotional space liposuction. I can guarantee that you will no longer feel like the center of the universe once you have children to occupy that space for you. But then you'll be where I am. Suffocating in everyone else's emotions.

So here's my plea: If you are taking up more emotional space than you really need, try to voluntarily cut back. There are those of us out there who don't need much of this type of space, and we try not to impose on others. But we still need to breathe.