Wednesday, July 15, 2009

I am h(f)ired because I use my brain!


I was moving to house previous day. It was late night and did not find any public transport for 25 minutes. I was talking to one my colleague who works with me by discussing and debating. Finally, we found a bus and moved inside the bus.

My friend found his seat in the front seat of my seat, where I found a seat for me. Beside me a person was seated and was looking seriously looking at me. We began our conversation for 30 minutes without knowing each other name. I would like to call him as a Fellow Traveler --- he gave me good lessons to learn and I learned.

Me: Hi!
Fellow Traveler: Hi! Seems like you are looking for a job.

Me: Yes. I always look for that as it always helps me to know where I am. Seems like your employer is ABC.
Fellow Traveler: Not now. Today I work for JKL.

Me: Any opening for learners in your workplace.
Fellow Traveler: Learners?

Me: Yes.
Fellow Traveler: What work you do in your office?

Me: I am a Tester.
Fellow Traveler: What tools do you use for testing?
Me: I use my brain?
Fellow Traveler: What? Brain? I asked tools.
Me: Yes, that is what I use and that tool works for me.

Fellow Traveler: Are you not fired yet?
Me: I was hired as they discovered that I used my brain. Don't know when they will fire me, if I don't use my brain or for using brain.
Fellow Traveler: Looks funny! What they say to you when you use your brain?
Me: "When you are going on vacation?"

Fellow Traveler: Without test tools, how will you do that? To come in to my work place, you have to know testing tools.
Me: What does the 'testing tools' means, which you are talking about? What does 'you have to know testing tools' means?
Fellow Traveler: Tools that is used to automate the testing which you do.
Me: I test almost what I don't see and see, I don't hear and hear, I did not know, that I don't understand and I understand by learning from testing it. Where shall I place your "automate the testing which you do"?

Fellow Traveler: Oh! You are cracking my knuckles man. I meant what test automation tools you use for the testing you do in your work place.
Me: I know to use them and learning to use them by knowing them i.e., the test automation tools you just said.

Fellow Traveler: Do you know WinRunner?
Me: I can run the Winrunner.

Fellow Traveler: Do you know QTP?
Me: I do Questioning Tests Passionately.
Fellow Traveler: I never heard that. Do you know any other abbreviation for that?
Me: I can keep telling for that. The other one now that I have for you is...
Fellow Traveler: I am wondering, why you are not fired yet? Have you used LoadRunner?
Me: I make loads of tests to find information.
Fellow Traveler: What that loads of tests you do?
Me: I discover, invent, explore and reinvent the questions. This helps me to find the information and some time it does not; but provides the other information, which helps me again to create the loads of tests I said.

Fellow Traveler: Do you know Rational Robot?
Me: I am a human, who is learning to think rationally.

Fellow Traveler: Common man, don't poke with your answers. How they are bearing you?
(my friend in front seat was looking at us and was smiling, listening to our conversations)
Fellow Traveler: To work in my company you have to know these tools?

Me: Which tools?
Fellow Traveler: WinRunner, QTP, LoadRunner, Rational Robot.

Me: Did you skip any more software test automation tools?
Fellow Traveler: Why?
Me: There are also open source test automation tools, which might be handy depending upon your project contexts. I wanted to know, why the tools you said, are used in your company?
Fellow Traveler: We make applications that are huge and used in real time by several people at a given point of time. A tester cannot do the testing for this kind of applications.

Me: OK. Who made the applications you told?
Fellow Traveler: Are you deaf? I said right, we make applications that are huge.
Me: How huge it is? I want to know what the huge means to you.
Fellow Traveler: You are funny man.
Me: Yes it appears so. When your people who are also human, can make applications, which you said, that were huge, why can't the human test it?

Fellow Traveler: What do you want to say?
Me: You said your applications were huge and used as a real time system. I don't know how huge it is and what the huge means for you. I can see every application as real time system and also as non-real time system. Putting the huge application into the hands of automation will be like, for an example, you are sitting in Volvo bus which is air conditioned, quite luxury seats and the other features it has. I have never traveled in Volvo bus.

But, the Volvo bus in which you are seated now, say it is traveling in road traffic of Bengaluru where the person driving the bus is covered his head completely such that he can only breath and survive but not able to see anything neither hear anything but can move his hands and body while driving the bus.

Are you safe in that bus though it is Volvo? Might be you are safe till some extent or to the full extent of your journey in that bus. But what is the guarantee that you are safe? Also, when the person driving the bus in which you are seated is able to see and hear by moving his hands and body, still no guarantee of your safety of your journey. All what we have is some words or claims that say using service(s) of so and so will make us so and so which are either advertised or communicated orally or done by both the way. And we are all factors of it, when we witness it.

But the risk might be bit lower when compared to the other case and all it depends on the people inside the bus, the person driving the bus, and the tool being used -- the Volvo bus. Right? This way, if you model the test by testers hope the risk of using the huge application you said might be lower or not at all; then you need to think about the strategies to work on.


Fellow Traveler: You are saying that test automation is of no use?
Me: I did not tell those word anywhere. But, knowing how to use them for helping testing what I do is required. Test Automation Tools does not do the testing what I do; it might help my testing activities, which is human tasks and to know what extent it helps is useful data. But, it cannot replace the human tasks without the intervention or interpretation of human and human thinking. Test Automation Tools cannot be paralleled with human for the tasks each do on their own cognitive and intuitive.

Fellow Traveler: I am hearing strange things.
Me: Me too sensed the same sometime back, until I failed and now too I fail. Automation tool (i.e., a model) with bug (any software is not free of bugs) automated another model, which also has bugs. Something interesting, when I witnessed that.

Fellow Traveler: OK man, see you again.
Me: I wait for that moment. Bye! What work you do for your current employer?
Fellow Traveler: I work on systems.
Me: Systems? What systems? What does it mean?
Fellow Traveler: I have to leave; this is my stop where I get down.
Me: Bye.


Later my friend in the front seat began our conversation about the talk, which I had with fellow traveler. I learned from those conversations of fellow traveler and my friend. I hope the fellow traveler who was in conversation with me, might see this writing one day and we meet again.

The software (and combination of hardware & software) we make is a kind of an automation of human work, is what I have understood. I was questioning myself, "Is that tools are fallible?" "Only tool does experiences the failure?" And I kept writing many such questions and wrote statements (towards and against) as much as possible for the each questions. I knew human is fallible, then the heuristics identified by human are fallible, then the model built by human which are set of heuristics (programming instructions -- in this context) are fallible. A question remains is "Which is not fallible and not (to) prone for failure(s)?" If any such exist with us -- when (not), how (not), why (not) it is fallible and not (to) prone for failure(s)?



4 comments:

  1. I am surprised the fellow traveler did not hit you... I enjoyed the conversation, thanks for sharing it.

    -Sharath.B

    ReplyDelete
  2. @Sharath Byregowda,

    Thanks, for saying your views.

    It was a pleasure in knowing that you enjoyed the conversations of Fellow Traveler and his fellow traveler.

    I too love those moment that I got to spend with him. It was a learning pack for me from Fellow Traveler.

    I admire and got learning's from his questions.

    ReplyDelete
  3. The difference between the testing done by you and test automation tool are not the same is what you are saying?

    ReplyDelete
  4. @Andy,

    Your question has values within it. Thanks for asking such a questionable question!


    My understandings from the practice I do and being practicing:

    Testing is the craftwork which involves thinking activities. Not only human, animals too do testing. Example: helping a dog to warm her or his paws. What the dog does? Might be my pet dog comes and sit beside me. When I warm my arms in front the fire; does the dog do the same though it might (or might not) take the warm from the fire. My pet dog is thinking not to touch the fire or might be he thinks it will be something unbearable by him or he does not like it or he does not want to happen that is not known to him and costs to him or it wants only the warm heat from the fire and not fire. If I had a robot which was instructed through programming instructions to put her or his arms into the fire, would it had any thought in robots chip while processing the instructions (provided no other instructions was written to move away from on sensing the fire).

    I will do a test by thinking and my pet dog might do testing of its own kind by thinking. Will the tool (test automation tool in this context) do it?

    I understand the activity done by the test tool IS NOT TESTING. But, it is the help given by the tool to run or execute my tests i.e., the tool helps me to run few of my tests using it (tool).


    Me and automation tool executing tests:

    If I am swimming across the Indian Ocean say in Tsunami, should I do the swim that I do daily. Or should I see how the ocean is behaving with the strong tidal and waves then swim such that I will reach the land and can walk myself still breathing.

    If I do swim with the same strokes of my hands and legs and body movement during Tsunami in Indian Ocean, will I survive?

    Another context when I am not swimming with Tsunami but still swimming in same strokes while there is a threat to the value (for me) -- that is my life: Might be I will become food for life’s in water ecosystem and might be for life’s of terrestrial ecosystem too (and/) or for other ecosystem habitat too which I don't know and want to know.

    Swimming in the Tsunami or while threat to my life with same strokes and moves is like scripted automated tests. Swimming thoughtfully by designing my next moves and strokes during Tsunami or while threat to my life, would be like human (me, you and others) testing the model under test.


    When I see Michael Jackson dancing when I switch on a Television, might be my hands does not clap though I am thrilled by seeing his moves and steps with the expressions in the dance. But, If I had got an opportunity to stand in front of Michael Jackson while he was dancing, no doubt my hands if it had -- clapped, it was clapping and clapping still. This is what human performing in front of all versus seeing the actions being performed on the screen.

    ReplyDelete

Please, do write your comment on the read information. Thank you.