First of all I would like to introduce three dimensional testing career mentioned by Danny R. Faught. 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.
No comments:
Post a Comment