Sunday, January 3, 2016

Technical, how technical ?



"How technical I have to be here to test and understand what information is expected?" This question changes it's form based on Test Coverage expected for context of testing.

When I ask "what does technical mean here?", I help myself to learn what it is for the context of testing. Like the programmer learning technology to write the code for product, the manager identifying and practicing the new managerial skills required for managing the project, I see what has to be practiced technically for what I'm testing.

The 'Test Coverage' hints me what I have to approach and to what extent I have to navigate in the modeled map of system for testing it. Knowing this, it helps me to learn how skilled I should transform into so I can work along with the technology.

For example, if I had to test the Database System which is non relational, then how should I approach it? Apart data reflecting on commit what else do exist?  Say, the product I'm testing is on non relational database. How will I approach it now to test other than the data reflecting coverage? How technical I have to here now to test? What can I automate here and how? What is the area which requires focus of me than mere checks of automation coverage?

For a programmer, the programming skill is one which she or he practices each time. Apart from practicing programming, the programmer also practices coding for a technology by learning the specifics related to it. While doing this, the challenges come up in writing solution and fixing the problems observed. Likewise, to me for a tester, the testing skill is one aspect which has to be practiced everyday. Besides, I along with technology is also essential by practicing the technical perspectives required which supports and strengthen the testing.

Getting technical is not necessarily programming alone. The orientation of being technical has it's scope for testing. Each element of subject has its technicality.

In changing trend of the industry today, one being technical is becoming necessary as a day move to tomorrow. By reaching in time to market on solving the very appropriate problem of the people, it needs the blend of technical skills along with testing skills.



Sunday, June 28, 2015

Log Writing, Helps!


It was initial months of my career on taking the Software Testing as my profession by choice.  I remember I was into 2nd week of this job. In first two days, I was said to read the book of William E Perry, by identifying few chapters by a Project Manager.  On reading, I was supposed to update what I have understood and have to answer the questions he asks.  He came to my desk at 3.45 PM sharp every day with a mug and coffee in it.  He was strict but he helped me a lot to practice. I believe he is the one who gave me hike of 3000 INR and it was my first hike and my salary came to 9000 INR. To add up on this, my parents had said me, 'There will be seniors and big people in office; don't talk too much or ask back questions. Respect them and make sure you take good name."

I and other tester by name Kanthraja MP worked together in lab. There was a consultant from other company and his contract was about to end. I was said to take task of automation. The next day when I came, I learned, his last day was yesterday. A lab with server slots, huge hardware systems, distributed computing systems, Windows, Linux and OS/2 machines integrated with centralized hardware.  Automation has to start tonight and it continues for whole night.  

I was looking at that tool used for automation. The company had brought it for license. Those were the QTP (initial version), WinRunner and LoadRunner days. This tool was something which I had not heard at all when I asked my friends.

The automation also runs in US lab and it will be controlled from India's lab.  I just ran the script once on one client machine and it failed. I went to Test Lead and said, I will write the program again and will use that for the over day automation run. I requested for one day time and said will resume the automation from tomorrow. I wrote the program and in evening I configured the systems with it. But, the programming team was debugging for Out Of Memory and I could not get machine to run the program. I asked my friend Kanthraja MP to run the script and wait for 30 minutes. If he sees any trouble with the automation in lab, I asked him to call me. I had to collect a BMTC bus pass in Shivajinagara bus stand, I rushed that evening.

I got a call from him saying the program fails to run. I searched for internet browsing center and asked him to mail the error log it to company email-id. Looking at logs, I learned, it was difficult for me to know what's happening. I called him again and said, I'm coming back to office. He was waiting for me and I see a tense face.

It was difficult to know what's going wrong and what's happening. I wanted to know but I did not know how to learn it nor investigate it. Then, I got an idea to print each variable value, state value and the flow where it is.  Recompiled and started the automation again. Got to know the problems and it was fixed in an hour.  Initiated the automation run on both lab and we monitored for an hour. It was going smooth and we left for day.This helped us to figure out Messaging problems implemented via CORBA, memory problems and elements which were causing them, and many other problems. 
The printing of details in the log helped us lot.

I remember it today as well. For all the buggy program I write today, still I use the verbose prints to maximum extent possible in context. It helps me to investigate and learn systems. More over it helps me to learn my buggy program, better, each time.

To remember is, even the log consumes the space on system. If it is consuming much, then tuning the log writing is necessary.  Format and preface content which helps better for context, prefixing it for each line becomes handy to differentiate. With this, I see, the testability and also the learnability of the log will be simpler.