Tuesday, September 21, 2010

Sunday, September 19, 2010

Trust your instincts, switch to ad hoc testing

As a QA manager, I have to constantly evaluate the most fundamental aspects of testing in my project that is finding bugs in the code. What if you implement the well designed and created test plan and still do not find bugs. Or you simply encounter resource and time problem, where early detection of bugs is much more important than following the process finishing the automation for example). I talked about exploratory testing in one of my previous posts. Exploratory testing is a informal testing which is totally different from the formal testing paradigm where emphasis is on reuse such as acceptance and regression testing. Ad hoc testing is considered by many as aimless black box testing approach, but its contextual. In many situations ad hoc testing can be very useful.
So what is an ad hoc test?
An ad hoc test is a case which you run only once unless it uncovers a bug. A primary goal of ad hoc testing is to uncover a new bug in the product. If exercised by highly experienced tester it can be very effective. To put into perspective, each testing method's strength and weakness can be measured in terms of defect finding power and confidence building. Ad hoc tests are supposed to have high defect finding power but low confidence building attributes.
Ad hoc testing approach:
  • Pair testing - This is a kind of improvisational testing where two people collaborate and work together on finding bugs using ad hoc testing. The improvisation of originally planned testing document can be very useful when done by group. Improvisational testing is also very useful when verifying a fixed defect.
Advantages of ad hoc testing:
  • Discovering missing testcases - can find holes in your original testing strategy that can be incorporated later.
  • Gives more understanding of how program or feature behaves which may not be known by reading external designs.
  • gives better understanding of the testing priorities, for example if an ad hoc test runs very well, you can decide testing in that area can be deferred to the later stage.
So, how do I do ad hoc testing effectively?
    Ad hoc testing is challenging because its highly intuitive and has very less logical structure. 
    1. First take a paper and pencil and note down most important thing you want to know about the code and specifically what you want to achieve in how much time. Also what you are going to do if you do not find a problem.
    2. Understand the design goals and requirements for the low level function you are going to test. what choices and assumptions were made by developers when they designed the function. What are the weaknesses of these choices and see if you can exploit them.
    3. Read defect report for similar or same project. what kind of problems developers or other team are finding. Expand your horizons in breadth and width. For example running your ad hoc test on optimized/profiled build or on different platform.
    More, as we progress on our own exploratory tetsing...until then keep testing !

    Tuesday, September 14, 2010

    google calculator

    Did you know that you could use google search to calculate trigonometric function, convert units or simply do arithmetic functions. Take a look at few examples and try it out:

    http://www.google.com/help/calculator.html

    Sunday, September 12, 2010

    Japanese Foresight survey

    Japanese government released its foresight survey in June which basically is the futuristic view of a panel of 40 scientists. In past these foresight survey has been very accurate. In 1997 these futurists said that Internet based phone service would be available in 2003, the same year Skype was debuted. Here is the current foresight survey taken from Popular science magazine:
    2020 - Thin flexible electronic displays will replace newspapers.
    2022 - Synthetic blood will make blood donation unnecessary
    2023 - Any cancer will be cured by medicine
    2025 - Electric cars will go 310 miles in a single charge (In fact with rapid enhancement in Lithium Ion battery technology, this could be possible in next 6 -7 years.)
    2026 - domestic humanoids (intelligent robots) will do house chores
    2028 - Television will produce smells and tastes to every living room
    2030 - Artificial Intelligence will be able to form opinion on books, movies and art
    2031 - Earth orbiting space vehicle will offer sightseeing sale.
    2033 - Stem cell research will produce artificial organs
    2033 - Computers will evaluate policy recommendations and institutional plans
    2035 - Commercial flights will be 100% autopilot
    2035 - Scientists will be able to extract uranium and other rare elements from seawater
    2037 - Seismologists can predict earthquake of a magnitude of 6 up to a year in advance
    2040 - A manned Lunar base will be established.
    Some appetite for your brain to think about future opportunities around these futuristic views. Let me know, which one you think will never happen...

    Friday, September 3, 2010

    How to be alone - give your brain a needed downtime

    I have seen many videos on how to party and network, but first time I came across a video to teach you how to be alone. This is by fiilmaker, Andrea Dorfman, and poet/singer/songwriter, Tanya Davis. Also you may be interested in reading a NY Times article about giving your brain a needed downtime.

    Tuesday, August 31, 2010

    Intrinsic Motivation - way of managing a high performance team

    Today is a big day for me, I have been given responsibility to manage a high performance team. For me, it is very important to understand what makes a team highly performing and intrinsically motivated. Creativity is a product of Intrinsic Motivation. Theorists Malone and Lepper define intrinsic motivation more simply in terms of what people will do without external inducement. Intrinsically motivating activities are those in which people will engage for no reward other than the interest and enjoyment that accompanies them. Malone and Lepper based on their research put together a list of factors that create  intrinsically motivating work environment:

    • Challenge - people are best motivated while working toward personally meaningful goals whose attainment requires activities with optimal level of difficulty. The goals should align with people's self esteem.
    • Curiosity - Simulating sensory (introducing abrupt changes) and cognitive curiosity (wonder about something)
    • Control - everyone has a tendency to control, what happens to them, enable people to believe that their work will lead to the powerful effects.
    • Fantasy - mental images of things and situations that are not really present to stimulate the behavior
    • Competition - people feel satisfied when they compare their performance favorably to that of others. This has to be carefully balanced in a team setting.
    • Cooperation - for some people, it is more satisfying by helping others achieve their goals.
    • Recognition - people are satisfied and motivated when others recognize and appreciate their accomplishments. 
    I am going to be working very hard on creating Intrinsically motivating environment for my high performance team. Any tips or suggestions is highly appreciated.

    Saturday, August 28, 2010

    New Gmail features you do not want to miss

    On May 23, 2010 I blogged about 3 Gmail tricks , today I would like to post some new Gmail features which have made me productive and more secured. First thing, you may have noticed that the gmail url is https:// now. This gives users extra confidence as far as security is concerned. Now about features:
    1. Insert Invitation in email: when you compose a new gmail, you will notice Insert: Invitation link beside Attachment link. This is a nice piece of work for gmail calendar integration. If your friends use google calendar, you will be able to see their availability, when you pick a time for the event. Also, your friends will have your even added automatically to their calendar. 
    2. How many times you regretted sending an email in hurry because you either click Reply All where as you wanted to tell the secret to just one person or just sent to wrong Larry. The undo features under Gmail Labs let you correct your mistakes in 5 seconds. Its too short but much better than nothing. Try enabling under settings -> Labs link. 
    3. Call any phone from gmail: Notice a Call phone link which brings up the phone dialer as shown here. I haven't tried International calls but google says its dirt cheap. 
    Google is bringing innovation to our daily life in the form of these easy to use technologies. Few years ago, I do not remember any free email provider bringing any new feature or innovation this quick. If you like any of the long lists of beta features under Labs link, please share with our reader by commenting below. Happy gmailing !

    How we use GenAI at IBM Software Support

    Please share your comments or suggestions on the LinkedIn post. thx  Empowering Software Support: The Transformative Role of Generative AI