There are three categories of skill that need to be judged before hiring any software tester. What are those three skill categories?
1) Testing skill
2) Domain knowledge
3) Technical expertise.
No doubt that any tester should have the basic testing skills like
Manual testing and Automation testing. Tester having the common sense
can even find most of the obvious bugs in the software. Then would you
say that this much testing is sufficient? Would you release the product
on the basis of this much testing done? Certainly not. You will certainly have a product look by the domain expert before the product goes into the market.
While testing any application you should think like a end-user. But
every human being has the limitations and one can’t be the expert in
all of the three dimensions mentioned above. (If you are the experts in
all of the above skills then please let me know ;-)) So you can’t
assure that you can think 100% like how the end-user going to use your
application. User who is going to use your application may be having a
good understanding of the domain he is working on. You need to balance
all these skill activities so that all product aspects will get
addressed.
Nowadays you can see the professional being hired in different
companies are more domain experts than having technical skills. Current
software industry is also seeing a good trend that many professional
developers and domain experts are moving into software testing.
We can observe one more reason why domain experts are most wanted!
When you hire fresh engineers who are just out of college you cannot
expect them to compete with the experienced professionals. Why? Because
experienced professional certainly have the advantage of domain and
testing experience and they have better understandings of different
issues and can deliver the application better and faster.
Here are some of the examples where you can see the distinct edge of domain knowledge:
1) Mobile application testing.
2) Wireless application testing
3) VoIP applications
4) Protocol testing
5) Banking applications
6) Network testing
How will you test such applications without knowledge of specific domain?
Are you going to test the BFSI applications (Banking, Financial
Services and Insurance) just for UI or functionality or security or
load or stress? You should know what are the user requirements in
banking, working procedures, commerce background, exposure to brokerage
etc and should test application accordingly, then only you can say that
your testing is enough - Here comes the need of subject-matter experts.
Let’s take example of my current project: I am
currently working on search engine application. Where I need to know
the basic of search engine terminologies and concepts. Many times I see
some other team tester’s asking me questions like what is ‘publishers’
and ‘advertisers’, what is the difference and what they do? Do you
think they can test the application based on current online advertising
and SEO? Certainly not. Unless and until they get well familiar with
these terminologies and functionalities.
When I know the functional domain better I can better write and
execute more test cases and can effectively simulate the end user
actions which is distinctly a big advantage.
Here is the big list of the required testing knowledge:
- Testing skill
- Bug hunting skill
- Technical skill
- Domain knowledge
- Communication skill
- Automation skill
- Some programming skill
- Quick grasping
- Ability to Work under pressure …
That is going to be a huge list. So you will certainly say, do I need to have these many skills?
Its’ depends on you. You can stick to one skill or can be expert in one
skill and have good understanding of other skills or balanced approach
of all the skills. This is the competitive market and you should
definitely take advantage of it. Make sure to be expert in at least one
domain before making any move.
What if you don’t have enough domain knowledge?
You will be posted on any project and company can assign any work to
you. Then what if you don’t have enough domain knowledge of that
project? You need to quickly grasp as many concepts as you can. Try to
understand the product as if you are the customer and what customer
will do with application. Visit the customer site if possible know how
they work with the product, Read online resources about the domain you
want to test the application, participate in events addressing on such
domain, meet the domain experts. Or either company will provide all
this in-house training before assigning any domain specific task to
testers.
There is no specific stage where you need this domain knowledge. You
need to apply your domain knowledge in each and every software testing
life cycle.
------------- http://www.quick2sms.com - Send Unlimited FREE SMS to Any Mobile Anywhere in INDIA,
Click Here
|