Hi, my name is Sanjay and in this video I
am going to talk about testing as a career choice.
In 1946, Grace Hopper, a computer engineer at Harvard university discovered a moth trapped
in one of the computers. The moth was taped on the computer’s logbook
with the words, “first actual case of a bug being found.”
It is more than 67 years since that incident but bugs show NO sign of going extinct.
In 2011 for example Toyota recalled more than 150,000 of its Prius hybrid cars.
The root cause was a software problem – The Prius HAD a bug.
Software failures have also resulted in deaths. In a series of accidents in Panama City at
least 8 patients died due to overdoses by radiation therapy planning software.
Bugs lead to a demand for professionals who are able detect them – the demand for SOFTWARE
Software testing is the process of determining if a software product will be acceptable
A software defect or bug causes software to produce incorrect or unexpected results.
These bugs can arise from mistakes made while designing the computer program or writing
it. Some bugs may have minor effects on the output
and lie undetected for a long time. Others may cause the program to crash. Others
have more extreme outcomes as discussed earlier. Software testing is implemented during different
periods in the software development process. Furthermore, though testing is primarily done
by testers, it is common for developers to also test code.
Pre-requisites A significant task of a tester is to generate
and execute test cases. Let us take a simple example.
You have written a program that finds the result of dividing 2 numbers.
Thus your possible input range will include all numbers.
But, how does the program behave if you try dividing 2 alphabets? What happens if you
divide a number by zero? Testers thus have an attention for detail.
They test code written by programmers based on requirements from business analysts. Good
communication skills are a key attribute in such scenarios.
Test cases are read by the testing team, analysts, developers and even customers.
Thus good written communication skills are a big plus.
In general a technical background is not a pre-requisite for becoming a tester.
However there is an aspect of testing called Automation testing.
The instructions given to such automation tools require some programming exposure.
Employers often expect candidates to have at least a bachelor’s degree in computer science,
engineering or related field. In addition, many employers prefer to hire
candidates who have attained certification. Joys of the Craft
Now let us look at some of the joys of this role
With testing you have a bigger picture of the system.
You interact with the business to see how a customer will use the software.
You also interact with programmers when you run your test cases and share your results.
The training and documentation teams too may get in touch with you to understand different
aspects of the software. As a customer, there is a feeling of satisfaction
when a product behaves as you expect it should. A tester thus is like a life guard, anticipating
and stopping problems before they get to a customer.
Many testers find this aspect of their job very satisfying.
Challenges of the Craft Now let us look at the other side of the coin.
Testing can at times seem repetitive. For example, when a new software version is
released, existing functionality may still need to be tested. This aspect is called regression
testing. Then you can deal with Developers who are
quite possessive about their work. When you spot problems you may have to deal
with DEFENSIVE developers. This can be stressful. Lastly, In some companies testing is not given
the importance it deserves. This could make you feel undervalued as a tester. Prospects
Now let us talk about the prospects of being a tester.
One would generally enter the industry as a junior tester.
On an average within 5 years you could be promoted to a SENIOR tester.
A senior tester works with more complicated test scenarios and also mentors junior testers.
On an average within another 2 years you could move into the role of a test lead or test
manager. In a nutshell, this role would involve creating
test plans and strategies. Some companies choose to hire test consultants
so consultancy in this space is an opportunity too.
Last but not least, diversification into other roles is another common practice.
Moving into other roles such as Business analysis, Project management and business consultancy
are pretty common in the industry. So this brings us to the end of this session.
The objective was to give you a flavour of this role.