Some Principles About Software Testing

I was reading Google Testing Blog and find some good testing ideas to share.  The two part blog series focuses on AJAX application.  However, those principles could be applied to more general software testing.

While there are many different classifications of tests, the most common way of classifying them is based on their size and the areas of a product they test. Each test answers specific questions about the product:
  • Unit test: is the method fulfilling its contract?
  • Small integration test: Can two classes interact with each other?
  • Medium integration test: Is a class interacting properly with all its dependencies? Does it anticipate and handle errors correctly? Are the needed functions exposed on an API/GUI?
  • Sub-system test: Can two sub-systems interact with each other? Does one of them anticipate all errors of the other and does it deal with them appropriately?
  • System test: Does the entire system behave as expected?

Google Wants to Free the Airwaves

Google launched the site to promote
Bring wireless Internet to everyone, everywhere.
and ask you to send a petition statement to the FCC

If you want to find out more about it, you could see the About and FAQ pages of the site.

3 New Experiments in Gmail Labs

 In June 2008, Gmail introduced Gmail Labs, a testbed for Gmail users to try out new features.
Gmail Labs is a way for us to take lots of the ideas we wouldn't normally pick and let you all (who use Gmail) decide whether they're good or not. When you sign in, you'll see a new page in Settings called Labs. It has a list of experimental new features, and you can enable or disable each one.
 Yesterday, they added 3 new features.
  1. Custom label colors, by Mark K
  2. Go to label keyboard shortcut, by Bruce D
  3. Navbar drag and drop, by Anatol P
"Go to label keyboard shortcut" is the most useful addition.
enable keyboard shortcuts and press "g" then "l" to display the "Go to label" pop-up. Start typing, and your labels will be filtered as you go. You can use the arrow keys to select a label and hit "Enter" to select one.
I used Gmail keyboard shortcuts extensively.  However, in the past, you need to enter a sequence of keys ("/" + "l:{label name}") and remember the exact name of the label, in order to go there.  With this new feature, I don't need to waste my brain cells to remember all of my label's names.

Other Gmail Labs features I use that you may be interested
  1. Quick Links by Dan P
  2. Pictures in chat by Dave C
  3. Signature tweaks by Keith C and Dave C

New Google Picasaweb

Today Google, besides releasing the new browser-Chrome, updated picasaweb (the Google online photo service) and  Picasa 3.0 photo manager.  It added several features:
  1. You can explore the world in the picasaweb explore page. (There is a game called - "Where in the World?"  It will ask you where do you think a picture is taken)
  2. You can upload photos by email - you need to turn on the feature in setting.
  3. You can change the license of your pictures
    1. Do not allow reuse (All rights reserved) - default
    2. Allow reuse with attribution (Creative Commons)
      • Allow Remixing
      • Allow Commercial Use
      • Require Share-Alike 
  4. You can "name tags" people in your photo.  
Among the 4, name tagging is the most significant feature.   It will search all of your image for faces.
Once you've added a few names, you'll start seeing suggestions that will help make labeling easy, fast and fun.
We all know how long does it take to tag people in facebook.  With this feature, authors of this page could tag around 200 faces in 100 photos under 15 min.
It took me less than 15 minutes to tag close to 200 faces in a set of more than 100 photos, and that included some start-up time such as figuring out how the system worked, establishing names for various common subjects, and correcting a few errors. The most impressive moments are when Picasa presents a large array of photos with the same face, and you can label them all with a single click.
I tried it out.  I'm impressed by the accuracy of the matches.  If you want to try it.


  1. Go to your picasaweb and click on "Try It!" on the right.
  2. Click on "Start processing photos"
  3. It will take some time for Google to scan all your photos and find faces.  (I took over an hour for Google to scan all of my 152 albums)
  4. After the wait, you could start to tag your photos easily.

    Google Browswer - Google Chrome

    Update(9/2/2008 12:25pm PDT): You can download it here now. It's a lot faster.

    Google Chrome

    Google announced it will release a new browser, Google Chrome, based on WebKit engine, the one used in iPhone.  The announcement also complimented by a comic book.  The new browser will use some components from Firefox and it will be open-sourced.
    Under the hood, we were able to build the foundation of a browser that runs today's complex web applications much better. By keeping each tab in an isolated "sandbox", we were able to prevent one tab from crashing another and provide improved protection from rogue sites. We improved speed and responsiveness across the board. We also built a more powerful JavaScript engine, V8, to power the next generation of web applications that aren't even possible in today's browsers.
     Four things I get out of the announcement:
    1. Better JavaScript rendering - it will run complex web application (Gmail, Google Calendar, Google Map, Google Docs and other Google services) better.
    2. "Sandbox" each tab - If you open Google Docs, Gmail and Google Calendar.  A crash in Google Docs will not break your Gmail or Google Calendar.
    3. It's open-sourced.  Other open-sourced browser, notably Firefox, could include the new feature (though Firefox use another engine, Gecko).  It all means more browser will run Google services better.
    4. People will rely on the OS less and move more towards web application.  (As long as you get a good broswer, it doesn't matter it's a MS Windows, Apple OSX or Linux)
    I don't think Google wants to use this browser to beat IE, Firefox or Safari.   Instead, it's going to intensify the browser war and make all the browser better.  And ultimately make the user experience of its services better.