Saturday, May 26, 2012

Is testing a skill?


Few weeks ago I asked on my LinkedIn group members whether testing was a skill. I was not sure that it will actually stir a storm within the community. A simple question seemed to have hit a nerve in the testing community and I received many comments from fellow testers. In actual fact, the question was asked by someone who I respect, is running a massive Avionics programme which is nearly USD 100 million and was not expected to make this kind of comment. 

Well, I responded to him jokingly because he commented jokingly. My response was simple, “get people off the street, ask them to test apps on ground and on the aircraft and see yourself successfully deliver the program. Will ya?”.  Anyways, even though I responded jokingly, it did hit some nerve within. I don’t really expect this kind of naive comments from people that senior.

I have collected all those comments from fellow testers from LinkedIn. It is a nice read, indeed.

The topic of discussion was: 
I was a little disgruntled when someone told me today that testing is not a skill and that anyone can do it. Since most of the members of this group are either testers, test managers or even directors; what is your view on it? Is testing a skill or not? In my opinion, testing is a skill. If someone says it is not, that implies that he is living in past, at least 30 years behind.

Comments below:

1.  Muhammad Fahadullah I believe he's not 30 years behind. He is living in stone ages. 

2. Kathy Flesner  Believe me there are skillful testers and there are definately testers out there who pretend to be skillful...feeding off of others in the group until they finally are found out that they really are not meant to test at all. Definately a skill! 

Me:  @Kathy, I am sure you are speaking of experience. I have that experience personally where those skillful pretenders feed off of others. Unfortunately they do not get exposed all the time. Definitely a skill to pretend to be a skillful tester.

On the other hand, there are genuinely skilled testers who think about what is right to test and test it right. It is indeed a small proportion of the whole testing community. In another group I mentioned that skill comes from experience, training and education. There are barely any schools which provide testing education. Very few testers try to update/upgrade their skills and there are experienced testers who do not update their skills at all.

I posted this discussion to many groups and all seem to agree that testing is a skill. The problem is, it is hard to find. 

3. Keshava Murthy K.NTesting is definitely a skill. Apart from the technical skills, there is also a requirement of certain human characteristics/qualities that make a successful & effective test professional. I would not hesitate to say that not everybody or anybody can become tester! Earlier, testing was considered as an art. Now, gradually it is evolving into science & engineering with methodologies, process, methods, techniques and tools coming into testing arena.There are institutes that provide education on software testing exclusively. 

Me: @Keshava - I agree with your note regarding certain human characteristics of a successful tester. Testing is still an art, a craft and a definite scientific process. I still recommend a classic book 'The art of Software Testing' written by G.Myers. This book has influenced critical thinking of many of us software testers.
I believe there are software testing training institutes, but I am not sure how effective they are. My concern regarding software testing has been authentic college education of this field. 

4. Shashi Kant Pandey • That's a very simple question which realy hard to answer without getting to know - who is asking this question.
As everyone here is from testing background and we need to prove to ourselves that Testing is Skill.

First of all , I want to focus on word 'Skill' which will help to explain, why testing is skill.

A skill is the learned capacity to carry out pre-determined results often with the minimum outlay of time, energy, or both. Skills can often be divided into domain-general and domain-specific skills. For example, in the domain of work, some general skills would include time management, teamwork and leadership, self motivation and others, whereas domain-specific skills would be useful only for a certain job. Skill usually requires certain environmental stimuli and situations to assess the level of skill being shown and used.

If you carefully go through the definition, you see where i want to drive You. Testing is skill if you can -

> Measure product quality in quanative terms. Irrespective of knowing
that Product is defect free or not.

> Draw a visible line in product quality before testing and after.

> Add you domain knowledge as catalsyt which always help to minimize the
unexpected behaviour and improve the trust among stakeholders for testing
and their knowledge.

> involve yourself from scratch in SDLC and your knowedge/experties (Domain)
helps team to design/develop a robust/user friendly system.

To design a skill set for testers depends on the areas where you are working and it is very procedural. Please add your comment based on your respective areas which will help everyone to know and improve. 

5. You could invert the question and ask what lack of skill leads to poor test capability?

It is also natural to define objectives in terms of our own knowledge base and skills (because that is what we know). But often systems have different aspects depending on who is looking at it, and so you usually need to use a broader audience.

I think this applies to test teams and plans as well as other topics (such as requirements gathering) to ensure that you have skills in a team that ensure that all aspects of the system can be covered.

6. Sami Kukkonen You can respond by saying that programming is not a skill and that anyone can do. It's equally true. 

7. Christopher Smith, CTFLWell, any parent of a teenager could tell you that testing is a skill that they all have. :) 

8. Benjamin YarochTesting done well requires a high level of skill after all it is an engineering discipline. This would be like saying anyone can program.

I've found that this sort of statement is usually said by someone who doesn't understand testing and considers it an administrative task, which it is not. It's sad to hear this and is more common than it should be. 

9. Meeta PrakashThe person seems to be knowing testing only as "checking" and no more. I guess I'd recommend him to start reading Michael Bolton's blog on "checking" to start with so that he starts to think through the difference between both activities and understands the concept of "skill". 

Me:  Meeta, this is not a question of knowing. Considering this individual's experience & expertise in IT, I'd rather term it as ignorance. He is running a programme worth half a billion dollars for which I am managing testing. He cannot be unaware of testing as a skill. IMO, some people find it easier to ignore what is a fact instead of accepting it. 

Meeta PrakashRajesh ....Sadly people are unaware. Please don't judge them by the years that they have spent here in IT. Judge them by their knowledge and depth in understanding of software as as art and testing specially. Coz a tester is more of a constructive critic.For all these years, you never know if he's driven only by sales numbers on his paper rather than developing any depth in building understanding of technical operations. 

Me:  @Meeta - Agreed. This calls out for a view at the 'perception theory' about testing by outsiders.
Meeta PrakashTrue. But I would not say "outsiders" only. It becomes generic and dilutes the understanding. In your case, it was a business leader. So we should ideally understand the roles and depth of understanding each of them need to develop for themselves. 

10. Michael LarsenIt usually takes sitting down with someone and going through a testing session to bring the point home exactly how much knowledge and the variety of techniques needed to do good "sapient" testing. After sitting with someone for one of these sessions and walking them through it, the usual response is "wow I didn't realize there was that much involved". Their image of testing is surfing an application and seeing what happens. They don't realize that there's a lot more going on under the hood, so to speak. Programmers would be just as taken aback if we were to say "it's easy, you just make windows and put words in it". Basically true, but it ignores a lot that goes on under the board. When in doubt, show the skeptics what you really do. Usually it just takes one pairing session to make your point :). 

11. Bernard HomèsI'm not sure the term "skill" is the only one that should be used. The term "craft" seems more appropriate, as a skill is frequently inherent to the person, while a craft can be taught. I know that testing can be taught, so "craft" would better apply. 

12. Scott BarberIs cooking a skill? How about writing? Or driving?

Of course they are. Most people can do all three of those things to some degree, but some folks are *much* more "skilled" than others.

So if the folks around your team think that "anyone can test" it seems to me that the value your team is providing is not distinguishable from the value the folks around your team believe a bunch of non-testers could provide. Much like how putting a master chef in a diner, not changing the menu, not changing the supplies on hand, and not changing the expectations around speed of delivery would probably not lead to the clientele getting "better" food than they would from a "short-order cook" -- especially since the diner would surely need to raise prices to be able to pay what a mater chef would command.

I recommend changing the question. Ask them what value would expect from a "skilled" tester/team that they don't get today from this team that clearly is only providing value that they believe they could get from "anybody".
 
13. Graham DaleyTesting is definitely a skill, as is development. Developers are generally skilled at finding a number of different ways to make something work. Testers need to be skilled at finding all the different ways of breaking something that seems to work!  

14. Poonam Bhatia, ISTQB, CEH V6 & 6σ Yellow BeltTesting is a skill where tester has to validate that code is behaving as expected and fit to use. It is challanging for testing resource to ensure that they are not influenced by the project development and management community and never get into clarification why we need this much time to plan and test. Indeed skill can only handle last checkpoint before end product can be realized.

Me • @Graham, testers never break anything, it come to them broken. We only identify where the breakage it and report it as a defect. I agree that it is a skill to identify those defects, though. Some people are particularly good at it and we call them skilled testers and that skill comes with experience, training and education.
Software testing is one of those areas where it is hard to justify that one needs training. Just this morning I was talking to a friend who worked at BA when the incident of T5 happened in London. The system was tested before, but it wasn't tested thoroughly enough to ensure everything will work fine. And we all know that the world stopped for a day at T5 which was a total mess.

I started the linkedin Group 'Hong Kong & China Software Testing Group' because software testing is still taking its initial steps in Hong Kong.

@Poonam, True that testers need to use their skills to say that the code is fit for use.Practically, testers do get influenced by management!

Friday, May 25, 2012

Screenshooting from iPhone


There have been times when I opened browser windows and applications on my iPhone and felt like taking screenshots from it either because I was testing some Mobile application or assisting my mate in developing some website. 

It is probably too late to tell people how to take screenshots from the iPhone; however I believe there are people like me who prefer exploring things on their own instead of just typing few key words and find it on Internet. I mean, don’t you think that it gives a sense of achievement when you explore something on your own? Remember those days when you were able to solve those mathematical problems without assistance and it filled you with a sense of pride? It did to me.

Anyways, first thing first. Last week I mistakenly pressed the top menu button and the round menu buttons together and it took a screenshot of the current screen. It actually took me few moments to understand & realize what had happened. But finally I knew what to do when I needed a screenshot of my iPhone.

Wednesday, February 8, 2012

How Situational Awareness makes better testers



Being a part of Aviation industry and also due to my interest in flying, I follow news & views on aviation. One of my favorite blogs is Jeff Wise's blog. In one of the blog posts ( http://jeffwise.net/2011/09/20/how-gps-makes-clueless-drivers/), he wrote:


Pilots have a word for the state of presence in the world around you; they call it situational awareness. “Keep your eyes out of the cockpit,” my flight instructor always used to tell me. Meaning: look at the world around you. Don’t get fixated on what your instruments are telling you. Understand the context of what you’re seeing. Situational awareness means understanding where things are in relation to one another.  It means knowing what’s going on, and what you can do when your plans start to unravel.

When I read above paragraph in software testing perspective, I was amazed to see how perfectly it fits in for most of our testing projects. My common complaint about testers has been that we do not make ourselves aware of the context. We want to look at the requirement document, prepare test scenarios & test cases based on those and complete test execution based on a schedule provided by the Project Manager or Test Manager, whichever the case may be. It is very easy to lose focus when some delivery pressure comes in the project life cycle. Product managers want the product out of door as soon as possible whether or not there are defects or not.

Testers are not pilots, they are not passengers either. They are an integral part of the whole system that ensures aircraft fly and stay in air. They are like co-pilots who support Captain (The Project Manager) in the successful journey of the airplane. If testers are aware of their surroundings, it would be much easier for them to define and decide what and how much needs to be tested. The situational awareness helps testing teams to devise test cases that are fit-for-purpose. It helps them prepare for the unknown. If testers are aware of where the projct is going, it would be much easier for them to either test rigorously or just to focus on key tests. Or, whether to use exploratory testing or perform risk based testing.

Situational Awareness is not about test planning or test execution only either. It is about understanding the project, product and the dynamics around the team as well. Testing is quite interconnected with almost all other project activities. I asked a Test Lead about his vision and mission of testing and he said that his primary focus is to find the gaps between requirements and application (product). That also meant that anything other than that was not his job. In my view, testers should adopt a broader view and should have a holistic view of the product development.

PS: Jeff Wise has been my senior in terms of the airline we both worked for. He is a pilot and an ardent writer on aviation, psychology and adventure.

Monday, October 17, 2011

Exploratory testing



Originally posted at SQABlogs.com on { 08:34, 2010-Jan-10 } { 0 comments } { Link

After a long time, I revisited the link from my favorites:


This is how we defined exploratory testing, "Exploratory software testing is a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the value of her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.”

Practically speaking, how many of us get the personal freedom to continually optimize the value of our work? We work with limitations and within boundaries of completing the work in squeezed timelines & budgets. Neither do we question the practice that has been running for many many years now.

In one of my older posts, I mentioned testers being idiots. During those days, I mentioned the same post in many of the meetings, testing discussions, other forums etc.  I hate to say this, but even after a long time, I hardly find any of the testers I know look for newer, better ways of improving their work.  :-(

Customer is kid!



Originally posted at SQABlogs.com on { 09:35, 2009-Sep-25 } { Posted in General } { 0 comments } { 19 trackbacks } { Link

Last week I attended a three day training on ITIL v3 foundation. The objective was to understand what Service Management is. We had a great trainer in Perry, who knew his stuff well and also knew how to teach grown ups.

The first thing the old man mentioned was that there were some children in the class. When we looked at each other, he added that he would like to see more children in the class and that whether we could bring out the child within. Anyways, the point was, it is easier to teach kids as they do not bring biases, pre-formed views and arguments in the class. I agree with him that there is a child in all of us. (I honestly do not mean that we all are pregnant! heh! Just kidding!)

While we were discussing all this, a thought was running into my mind. Is customer King or Kid?

As customers, we show tantrums, we ask many questions, sometime silly ones too; sometimes we look at things blankly, we have expectations & demands and we want attention. Isn't it? Isn't this behaviour the similar behaviour kids show? As vendors, we listen to customers' demands. We are supposed to listen to them to keep them happy. Isn't it the same behaviour we display with kids and vice versa?

BTW, I honestly believe that kids are kings because you tend to obey what they demand (not always, though!). And then, when they become nasty, we get upset and try to resolve the situation either by talking to them or by getting angry on them. Hah! That's one thing you may not want to do with the customer. However, I am somewhat convinced that the customer is kid!

Testing & IT Magazines



Originally posted at SQABlogs.com on { 05:30, 2009-Sep-22 } { Posted in Software Testing } { 0 comments } { 1 trackbacks } { Link

Its been a long time I am reading & referring to Software Testing and other IT magazines in both online and printed formats. I think it would be a good idea if I share this with others. The reason is just not that others will benefit from it; but also that I may get some more names of magazines or other useful resources. 

1. Better software magazine: A publication from SQE group, who are better know for their site stickyminds.com  

2. Testing experience: As they call it, 'A magazine fro professional testers", you can find some very good articles in them.

3. Software Quality Professional magazine: This magazine is published by American Society of Quality. It has various references to articles and papers.

4. Software Test and Performance Magazine: Published by BZ Media, this magazine focuses on Testing & Performance Testing. One can also download articles & white papers from here.

5. Quality Matters: They mention on their website that "Quality Matters is the first magazine in the area of Software Testing and Software Quality based in South East Europe." 

6. Professional Tester: An English-language quarterly magazine targeting professional testers of software worldwide. Offers online articles, jobs, information about testing companies and event calendar.

7. T.E.S.T. Magazine: Available in both print & digital formats, it is a good magazine to read about testing.

8. Quality Magazine: There is a lot available in this magazine, provided you try to look.

There are many more magazines available for testers. But as I said, I am sharing only those which I check out.
Apart from these, there is one more that I refer to and that is TechRepublic, as it keeps me connected to the other world of IT.

Is formal testing education required?



Originally posted at SQABlogs.com on { 02:56, 2009-Sep-16 } { Posted in Software Testing } { 0 comments } { Link }

Here are the excerpt of a discussion between a Test Manager (TM) and his subordinate (TE):

TM: So, you have been in testing field for last many years?

TE: Yes. More than four years.

TM: Good. Do you read books on testing?

TE: Why?

TM: To get testing knowledge?

TE: Well, I think I've got enough testing knowledge by working in this field.

TM: Ummm, do you have a formal education or training in software testing?

TE: No. But I read a chapter on Software Testing during my graduation.

TM: Don't you think one should have formal training or education on testing? Or, that one should read at least 
some well recognized testing books?

TE: (smiles and leaves).

...and the question on formal software testing education remains unanswered.

Let me tell you that this discussion was not hypothetical. Testing education is still considered as a non-essential item by the academics and the indsutry. Except from CSTER, which had support from Florida Tech, I never heard of any other institute having testing in their course curriculum. Please correct me if I am wrong. 

You may refer me to some of the companies which provide software testing trainings and certifications. Do you think those are dedicated to training & education, or they are doing it for making profits? I am not against making money, but the objective of education simply gets lost as soon as you focus on money matters.

Software Testing is a prominent field these days and in my opinion, we must seriously look at the need of proper education in this area too. For any computer science course, along with software programming, software testing should be added as subjects. Testing Courses must be designed at various levels. And this can happen only when industry starts asking for such people.