I have been doing many interviews recently. This was for QA positions in my company. In my opinion there is a common pattern or better to say PROBLEMS candidates very often have. I group them as minor and major ones.
Lost in details of current project
The majority of candidates is lost in their everyday tasks. They lose the ability to look in more general way on their work, knowledge and self development direction. Often, they are not aware they are missing important knowledge. The lost ones always start with words “in my project…” to answer any question. They often say that in their company project is badly managed and wrong tools are used.
No time management
Sometimes candidate is aware he misses important points. However he immediately adds, he cannot find time to learn as his project uses different tools/technology and he finishes in the evening. Why can’t he use the time from 8 till 11 every second weekday which would be like 9 hours a week instead of watching yet another stupid series on TV or doing some other meanignless task? I get really irritated when hearing keyword “no time”… In fact they have much time but they just use it for things they consider to be more important than their self development.
No plans for self development
They sometimes do not know what are their plans; conversation often goes like this when recruiting for QA:
– what would you like to do in your next job? what would it be most interesting for you?
– I can continue testing like here at my current position, I think I would like to start automation… well hmm… I think I like programming… yes I think I would like to become developer…
(- so why are you applying for QA then???)
– ok so what do you do to learn programming now?
– well, I am reading a book but I do not have time because I have much work at my job and I cannot program as I am testing only
(and here we go again: “no time management”)
Problem 1: People do not have knowledge
My basic question is about test design techniques. Around 50% of my interviewees do not understand the question (I need to give example so that we can continue), while around 40% is able to name just boundary value analysis and equivalence partitioning. I would say only 10% is able to say something about decision tables, state transition diagrams and few people know pair wise testing. When asking a question how they are testing things then, I can hear very often about experienced based techniques. Are they all experts really… ?
Problem 2: people do not understand what they know
There is about 40% which can talk about basic test design techniques.
so which test design techniques do you know?
– oh… ISTQB question? Yes I know, we have equivalence and boundaries. Yes I know all these. It’s been half year now since I was taking the exam so I can’t remember exactly all the definitions
(- so are you aware of the techniques which are there to help you with testing problems or you are just shooting with test cases intuitively?)
– are there any others?
– well there is some state testing technique…
– what is it about?
– hmm I cannot remember
Problem 3: If they seem to understand, people most often do not apply their knowledge
Sometimes one can hear the candidate understands the stuff and is able to talk about equivalence partitioning, boundary value analysis, decision tables, state transition diagrams. But when asked which test design technique helps us with sequences of actions like we have when testing desktop GUI, such a candidate cannot provide the right answer.
Testing techniques are there to help us with finding a solution for a various testing problems and will in turn give us reasonable coverage and therefore confidence that probability of a defect is very low; if you are working ad hoc without any approach the result of your work will always be unpredictible and you will not be able to increase the quality of the product. However, people think of the test design techniques as of some theoretical knowledge which you should know but they are unable to use it in their work tasks.
I think this is the most difficult step to apply things in practice but we just have to be making it consciously every day.
Conclusion? Do not be a junior!
So, first get the knowledge, then understand it and then apply it in your everyday work. It is the basics but it will immediately bring you the results and will make you stand out of the crowd of juniors.