HOLY COW!!!

HOLY COW!! It’s been long time since I blogged.

I was thinking for a while about what are the most important skills that help a tester to craft his own methods instead of following industry standards or best practices? This triggered while reading through one of the old posts of James Bach again recently,  especially this particular quote that grabbed my attention, “Following is for novices who are under active supervision. Instead, I craft methods on a project by project basis, and I encourage other people to do that..”

Heuristics

Extensive research is never possible in testing commercial software, due to time and budget constraints. So, how to test software quickly? Heuristics are used to speed up the process of finding an optimal solution. It’s something that helps you approach a problem and take decisions, which should be applied wisely. In order to write better on heuristics I wanted to know the Tamil (my mother tongue) meaning for heuristics. I decided to search in Google, from my knowledge and experience I believe Google would help me to get Tamil meaning of heuristics, but unfortunately it couldn’t get an answer for that. So, I decided to ask in Twitter addressing to few Tamil experts. This is heuristics, an approach to problem, but no guarantee that it solves problem.

Oracles

If heuristics help in approaching problems or take decision, Oracles help to identify problems. Some of  oracles used in testing are

1. Requirements

2. Comparing against competitors products

3. Consistency with in the products

L

“A tester is someone who knows that things can be different.” – Jerry Weinberg.

Y- Why?

“Questioning ignites thinking, leads to progress”  – Dhanasekar

Whenever I train novice testers, I provide them with few tasks, when they come back with a solution, I probe them with many questions like why was this done? why was this necessary? why do they think this is right solution? why not do it in a different way? Most times there won’t be concrete answers. My next step is to ask them to find answers for my questions. After finding answers  they would realise there were many more to learn and explore, but still many wouldn’t realise that those questions ignited their minds. The important thing is not to stop questioning. What we observe is not testing in itself, but testing exposed to our way of questioning.

Cognitive

Observation

If HOLY Sea(C) is preparation and practice for a battle, observation is the real battle. For instance, if your application sends emails, have you ever observed how it appears in the email alert message pop-ups in  many popular clients on windows platform or popular notifiers like Growl in Mac OS X? This example is out of an observation made on such email pop-up. This client we worked for, put their branding advertisements at the start of the email, so the alert pop-ups showed the first two lines of the content which is purely marketing text, but not important content. Because of which user might assume this to be spam and ignore it. This test idea would have never triggered if I missed to observe the alert pop-up. Making observations after executing tests is not end of testing, subsequent test ideas mostly result out of those observations. So, missing critical observation is missing potentially risky tests.

FaceBook Logoff

I have this habit of logging into any shopping site like Flipkart with same ID, same time in two different browsers (Firefox and Chrome). With one of the sessions, I browse through the items, and other one to add to the shopping cart. This is very helpful to me, to do shopping faster.

I thought I would do the same with Facebook as well. I would use one of the sessions to read all the status updates and other session to chat or render the videos and watch, so I can browse through all the updates from friends in quick time. But I observed logging into second browser forces to log out from the previous browser session

Is this a problem?

I don’t think as a tester you can decide if this is a really a problem assuming either one of those scenarios as an industry standards ;-).Even if one of those scenarios is set as an industry standards it is not necessary to follow them blindly. So Face off 1 yourself as a user to analyze such scenarios.

We cannot think of everything before we start.

You don’t know what you want until you see it.

While shopping user (like me) has two sessions opened. I am done with my shopping .I do check out after adding all the items to the chart and make payment, check my mailing address,which  takes close to 5 to 10 minutes. And then I log out of this session but completely forgot about the other session opened in different browser, and if the user is using a shared computer which is very common in India. So, here it looks it is better to log off all the sessions in the machine if user log off from a session. But one way it is helpful to user if he can access more than one session at a time.

So, which is the correct behavior? It is always decided by what your users are up to. So face off like a user and analyze the observed behavior.

Even let say Flipkart decides to change this and allows only one user session similar to Facebook by maintaining the sessions in server instead of cookies. It should be communicated to user in a very positive manner by highlighting the security risk. Any change like this cannot go without educating the user. Users who are very used to such behavior may not accept those changes.

User satisfaction comes from handling change, not mitigating risk.

Wait. Did I say it is the user always? No(w), I am seeing some new terminology being used these days apart from user friendly, its advertiser friendly ;-). Sometimes you have to consider advertisers as well, so no harm in annoying user for some time.  There you should not think about user friendly close buttons.

Aware of your potential user\customer very well, to analyze what you observed is really a problem. None of the so called industry standards or testing techniques like orthogonal array, boundary value analyses or whatever it is, will help to capture or analyze such scenarios, and we can’t estimate for such analyses in advance. So

Apply your sapience and heuristics. Don’t follow rules.

“Hell, there are no rules here, we’re trying to accomplish something” ~ Thomas Edison

Note to Readers:

  • Here I have given just one possible scenario that I generally do as a user, I like you to bring\think in different perspective to analyses.
  • I had a vague idea about this log off session, was thinking on how to shape this in to an article. Finally this got this shape after  reading this wonderful post by Nathan Smith Estimation is bunk

1 –  Face off (movie) – A revolutionary medical technique allows an undercover agent to take the physical appearance of a major criminal and infiltrate his organization.

Focus on Defocusing

Two weeks before I broke my spectacle that was bought just six months back. Now needless to say, I have to buy a new spectacle. So I went into a spectacle store. On entering the store I saw four to five sales executives with a warm smile (Yeah! Two of them were good looking girls ;)) .I was totally confused whom should I approach first. You have to believe me that I did not go to the cute looking girls, instead decided to Go to Gemba as one among them was wearing spectacle. I thought he (yea, unfortunately it is he 😦 ) would be the correct person to help me out in selecting the better spectacle.

I approached him, and asked for nice frames that would be within  my budget and yea,good looking too. He helped me with many of the frames displayed. He suggested with few frames that would make me to look even smarter ;). I tried out quite a little and focused on the mirror to know if I am looking smarter. I shortlisted three frames but still not able to decide on which one to select. With the confusion I went and took a seat, to get my eye power tested.

I had my previously tested power details noted, so I gave him the card that has my eye power details. The salesperson asked for my older spectacle as well to cross verify the power in it. So I handed over both the card and broken spectacle, after measuring the power, I found there was a 5 degree difference between the power details in the card and the spectacle. I remember the last spectacle was ordered with the power prescribed in that card. So I asked the salesperson why there is a difference, he said that could be a manufacturing defect, a manual or machine fault. Then I asked is the 5 degree difference a major concern, though I did not find any issues with that lens. He said it is not a major issue and up to 10 degree will not have any visual difference.

I just wondered what if people go with this mindset and then design, develop, test, maintain and use a machine that is to be used to destroy cancer cells or a MRI Scan machine, where precision is very important. So it is

Good to bring prior knowledge and experience, but not the mind-set across different projects.

Needless to say this time I checked the power again in the new spectacle at the time of delivery, I am a tester and I test every thing.

Back to the story, I was still wearing one of the new frames I shortlisted, at the time of the discussion  about power difference, I realized that the frame is not so comfortable .I felt some irritation near my ears and nose. That’s when I realized my focus on how it looks to me, made me to ignore many other important factors. When I defocused from one factor, I was able to feel\realize many other missed factors. And I didn’t even focus on comfort, just defocusing from one factor automatically helped to realize other factors. Now I focused on the comfort factor and ended in selecting a frame better frame. So before starting of testing list down the factors prioritized like Functionality, Usability, Testability, Maintainability, Reliability, Compatibility, Scalability etc., then start focusing on them one  by one based on priority.

Defocusing is as important as focusing.

But was this the better frame and will it be free from problems? I don’t know because

Problems unfold over time in ways that are often not predictable.

Here is one great example I read recently how any system cannot be defined with a boundary and how problem unfold that are often not predictable. When Denver airport was built, it was claimed that the airport would never close, even for a snowstorm. The advanced technology would permit flights to take off n land even in adverse weather. When the first big snowstorm hit, every flight got cancelled. Why? Pilots lived in mountains nearby and they could not get to airport in storm.

Happy Focusing and Defocusing!

Dhanasekar S (with new good-looking spectacle :))

Share