Those who say software testing as a career is inferior to software
development need to get a sanity check done. Software testing is as important as
software development activity. Do you know how much a simple software mistake
can cost you? Rs 1 lakh, 2 lakhs, 3 lakhs...?? No clues?
$125 mn!!. Yes, in the year 1999 when NASA lost the $125 million Mars orbiter, a
spacecraft that was meant to be launched in space to study Martian climate,
weather, CO2, etc. This happened due to a flaw in its software.
Actually, there were two different teams involved in the mission-Lockheed
Martin Engineering which built and developed Mars Orbiter for NASA and the other
was the NASA flight team-both of which used their own units of measurement
during the operation. Lockheed Martin engineering team used English units of
measurement while NASA's team used the conventional metric system for a key
spacecraft operation, which caused the navigation information to go haywire and
the spacecraft crashed. Had proper procedures for the navigational software been
followed, this irregularity might have been detected and the loss could have
been averted. This is a classic example that shows the importance of having good
software testing practices at place and the consequences one might have to face
for not following them.
A Testing professional needs to understand |
The demand for niche skills like SOA testers |
Today organizations have realized the importance of software testing and they
do not want to face the embarrassment of their product or solution failing just
because of a small mistake that gets overlooked.
Software defects are so prevalent and So Quality assurance is a very decisive stage |
Specializations like security testing, SWOT Unlike developers, testers are expected to |
Nowadays companies work at avoiding such defects from the start, so it is not
just about detection of defects anymore. That's why they adopt standards like
CMM, ISO, Six Sigma etc and taking all these developments as a cue, some IT
companies have begin to leverage the power of good quality assurance practices,
which has opened several new avenues in the field of software testing. Some
companies have started positioning themselves as Independent Software Testing (IST)
service providers who provide specialized software testing services to other
organizations, to test their products or to device software testing practices
for their processes.
Today clients are very cognizant of the cost |
In software testing area any knowledge which |
Looking at the pace of the recent developments happening in this field, there
is no denying the fact that software testing is fast emerging as a lucrative
career option; it enables rapid career growth, and has substantially moved away
from the myth that if somebody can't make a career in development, then only
does he settle down into testing.
Opportunities
Although testing is an integral part of SDLC, emphasis is given to keep it
independent from development. In the past, testing was carried out after
development was over. Today this has changed and the testing activity starts
right from the requirements definition stage. In many organizations today, 'test
driven development' is the norm. This increased focus on quality has greatly
increased the scope of testing activity. Testing has become a serious career
option for software engineers; in fact a fresher or some one with 2-3 years of
experience, might eventually find testing to be the fastest way to gain domain
expertise. This niche area created demand for testers and quality assurance
professionals for myriad of opportunities. Careerwise and also remuneration
wise, the growth opportunities for a professional in testing domain has
increased. Testing is now compared at par with other IT services in terms of
revenue for companies and also for the kind of remuneration and career growth it
has on offer for a professional to enter this domain.
However, software testing should not be taken as an alternative to software
development. And as a career option it is not just open for software
professionals but also for professionals from other industry domains, as today
software testing has not just been confined to application testing but to the
whole process of development and also the need to adhere to quality norms.
Because of that, testers do not have to look at the propriety of the software
code, but have to look at all the scenarios that the software will be subjected
to when it is deployed across production systems or when it will be deployed at
the client's end. This not only requires software knowledge but also requires
you to have to have the knowledge of the domain itself. For example, if you have
to test a BFSI application, you not only have to check the UI or security or
load but the actual requirements of the domain you are testing the application
for. For eg, for the BFSI domain, you can use your knowhow of user requirements
in banking and the various working procedures to create test scenarios for the
application.
“Understanding different types of testing |
The knowledge gained in academia software |
Skillsets required
The primary skill that one expects from a software tester, apart from
computer science fundamentals, is good problem solving and analytical skills,
ability to understand patterns in problems and creative thinking to fulfill
requirements of a million customers. They should also have skills on test
automation tools for regression automation and performance testing, database
skills, analytical and lateral thinking skills, programming skills, knowledge of
test management and test processes (including test planning, test design, test
execution, defect management and testing metrics), knowledge of the platform
used for developing the application (Microsoft, Mainframes, Java, etc). Software
test engineers need to have knowledge of programming languages like C, C++, VB
and scripting languages like VBscript, Shell, Python, Perl. These skills are in
demand with the increasing demand for automation engineers. The technical skills
should be supplemented with domain expertise also to form a holistic team for
testing. Gaining prior exposure to usage of some of the prominent automation
testing tools from companies like IBM, HP, Mercury etc can boost chances of
employability especially for fresh graduates who aspire to become professional
testers.
Nowadays domain knowledge is being preferred from software testers by the
companies. Professionals coming from different industries like banking, Finance,
Insurance, Retail, etc have strong understanding of business knowledge and
business processes. These people can work as business analysts in software
organizations. They can also help to validate business processes and provide
valuable comments during software requirements and design phase and also devise
requirements for the end user for an application or product.
The visual shows a typical career path for a fresher who can choose either Testing or QA has the growth path. |
Automation, non-functional testing (performance testing, security testing,
usability testing, localization testing) are niche areas in testing. One can
learn these skills after getting expertise in the basic testing area. Test
professionals can also learn new test case designs and optimization techniques
to boost their career in this domain.
New trends in testing
New and emerging technologies such as Service Oriented Architecture (SOA),
Software-as-a-Service (SaaS), Cloud Computing, virtualization and advent of
mobile technologies are radically changing the trends in application testing.
Some of the recent trends in software testing domain indicate an
upsurge in:
a) SOA Testing
b) Security testing
c) Testing in Cloud Computing environments
d) Tool based regression automation and performance testing
e) On-demand testing services
f) Risk-Based testing
g) VoIP application testing
h) Health care
Risk-based testing is a new concept. As software organizations face increased
pressure to complete testing in available time, risk-based testing approach is
followed. Due to increase in business complexity, testing scope has been
steadily increasing, but at the same time the testing window remains the same or
is shrinking. In risk-based testing, areas having major business risks are
tested before others. This way, it is ensured that at least business critical
functionality is tested properly.
“Although there is an economic slowdown, This trend is a good one for software |
Professionals from these domains can become business analysts and quality
testers by lending their expertise for creating test bases for applications.
Having the domain experience helps an individual to understand user requirements
and also to devise test scenarios for applications based on experience, thus
going beyond the manual testing of a code for a given application.
Career path
Software testing professionals have many interesting options today to design
their career path based on individual preferences. One can take a plunge into
the world of business applications by moving into functional testing or keep in
constant touch with technology by focusing on automation testing.
They also have the option to get into ground-breaking areas such as
professional games testing and mobile device testing.
A fresher who enters the industry as a test engineer, can choose the testing
line or else move towards the quality assurance line where he can become QA lead
and then QA manager. A typical career path for a professional tester would
unfold as a junior test engineer, test engineer, test analyst, test lead, QA
manager, followed by program manager/COE head.
Certifications
Academic knowledge in software testing is the starting point which brings in
more awareness of the available career options in IT industry. This needs to be
further augmented with specialized trainings in different areas of testing based
on individual preferences and market needs. Certifications in testing also play
a major role in meeting the industry trends. A stamp of approval from a credible
institute by means of certifications improves the confidence of the employers as
well as clients on the testing professionals. There are several institutes such
as, International Software Testing Qualifications Board (ISTQB), American
Society For Quality (ASQ) and Quality Assurance International (QAI) that offer
vendor neutral certifications. Tool specific certifications are available from
OEMs such as IBM, HP, Borland, etc. Obtaining certifications like CSTE
(Certified Software Test Engineer) from recognized institutions or from online
certification site like Brainbench can help a professional get a competitive
edge over others during recruitment.
There are institutions like Edista Testing Institute dedicated for Quality
and Testing curriculum. Professionals who want to seek their career in software
testing or want to enhance their understanding of various quality standards can
gain certifications from these institutes. For freshers, the organizations
themselves train them on various testing tools and quality standards. But, a
test engineer who has already gained some experience can look forward for a
specialized certification to jump-start his career.
Talking about the requirements in Indian IT industry for software testers,
Pradeep C, CEO of Edista Testing Institute (ETI) says, “Indian market itself
requires 35,000 testers approximately to bridge the gap. And, that gap is
continuously increasing to almost 1,65,000 in the year 2013, as per the
projection.” Thus a professional can safely bet on this niche domain for his
career and having some domain experience behind can be of much demand by
software testing organizations.