×
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Career opportunities in software testing

Business knowledge enables testing teams to validate applications
Last Updated : 10 April 2012, 12:52 IST
Last Updated : 10 April 2012, 12:52 IST

Follow Us :

Comments

Software testing is an activity that evaluates an attribute or capability of a programme or system and determines whether it meets expectations and delivers the required results.

Testing is no longer considered to be just another stage in the development lifecycle, but runs parallel to the software development life cycle (SDLC) as a full-fledged software testing life cycle (STLC).

Testing activities start early on during the requirements’ gathering and analysis phase of SDLC. Business analysts in testing play the role of Subject Matter Experts (SMEs) and help convert the business requirements to use cases that can be understood by testing professionals.

Use cases translate into test scenarios and test cases. These test cases are executed in a controlled environment and the results are compared. A good methodology should ensure that all business requirements are captured and mapped to ensure end-to-end traceability.

With comprehensive business knowledge and technical competency, testers play an important role in acting as a bridge between the development and business teams. The metrics to be captured and reported should revolve around test design coverage and effectiveness.

Types of Testing

The key types of testing include:

•Functional Testing: Testing applications for their functionality requires a good understanding of the business domain and organisations today expect testers to continuously enrich their domain knowledge. Sound business knowledge, coupled with a well-defined methodology, enables testing teams to validate applications’ suitability to business.

•Performance Testing: Business users are increasingly impatient to an application that does not respond as expected. Applications are therefore tested for performance in extreme conditions before their release to production.

Capturing the right performance statistics, both at the client side and the server side, is critical in identifying and understanding performance bottlenecks.

•Specialised Testing: Testing services providers have been able to cater to specific quality needs of their clients by offering specialised services, such as test automation, non-functional testing, agile testing, SOA testing, compliance testing, product testing, business process testing, etc. Increasingly, mobile testing is becoming popular with a host of applications being released on mobile devices.

With every feature loaded to an application, it becomes imperative to run the entire gamut of tests again. Executing these manually could be time-consuming.

Organisations look at test automation as a way to optimize testing cost and effort.
The availability of tools and frameworks for automation helps testing teams construct and maintain reusable automation scripts, enabling teams to test faster.
The testing function is driving innovation.

Thanks to rapid changes in technology, business needs and consumer demands, testers are continuously empowered to innovate across the spectrum of tools, processes, delivery models and the like to enhance user experience. “Thinking out of the box” has truly become a norm in day-to-day testing.

Desired skills

Testing has established itself as a highly attractive profession. But in order to become a good tester, it is important to constantly update skills. As there are no formal courses on testing in graduate programmes, most of the testers are trained either in finishing schools for testing or in-house within companies.

To meet this resource challenge, Cognizant has put in place an elaborate recruitment and training program for its testers. Cognizant Academy, our in-house learning centre, helps our testing professionals to continuously upgrade their skills by offering a variety of training and certification programs.

We have invested significantly in helping our professionals obtain international testing certifications, such as ISTQB, CSTE, PMP, and so on, and domain certifications, such as LOMA, AICPCU, NCFM, AHM, amongst others.

Testers act as gatekeepers for quality. Hence, it is important for testing professionals to possess good analytical skills to effectively communicate to the IT and business stakeholders, the criticality of defects in the system. They help IT teams predict and contain defects during development.

This concept of engineering is getting more popular in the software testing space. Testers are required to have a holistic view of system architecture and build processes to effectively help teams build business-ready applications.

Exposure to the convergence of business, technology and management paradigms catalyses career growth by opening up tremendous opportunities for testing professionals who can get groomed as program managers, subject matter experts or test architects.

Also, the right mix of business acumen and testing expertise enables testing professionals to grow as consultants in the Quality Assurance (QA) space.

Challenges on the job

Just like in any other profession, the software testing profession also throws up a few challenges. And every challenge brings with it an opportunity to learn and grow. These challenges range from differential analytical ability, to effective communication with the developer.

Since software testing strongly relies on the testers’ analysis of the system and the ability to break down the system, testers ought to have strong analytical skills. Like any other skill, analytical skills can also be improved by practice, such as solving puzzles, taking challenges or reading books to improve one’s aptitude.

A bigger challenge for a tester is defect communication. Defects are, after all, faults in a fellow employee’s code. They need to be communicated to the developer, customer and the stakeholders. This requires polished, sophisticated and assertive communication skills.

Other challenges include identification of tools, their usage and training, interaction with the customers, acceptability and entry-exit criteria for the tests. Yet another challenge in testing is perfection. Knowing when to stop testing is very important for the project to be completed and delivered on time to the customer.

Career Prospects

Software testing involves validation of applications to ensure that the user experience is in keeping with the specifications. Traditionally, companies offered testing services in an integrated fashion, bundling it with application development and application maintenance services.

Today, companies such as Cognizant offer testing services on a standalone basis, focusing on supporting enterprises’ and product companies’ testing needs through Independent Verification and Validation (IVV) of their software.

Organisations now look up to testing to provide them with the necessary confidence to power ahead in their business initiatives of integrating disparate platforms, reducing time-to-market with accelerated development methodologies, and delighting the customer by enhancing the “experience” of their customer-facing applications.

  In the future, testing will help businesses discover pockets of value gaps, which they can act upon to increase productivity, optimize effort, and reduce cost.

We also witness QA teams adopting virtualization techniques and cloud to accelerate testing cycles. Companies are adopting new age approaches, such as Agile, for software development and testing.

QA teams are increasingly using automation techniques to deliver higher efficiencies. Organizations are also testing their applications on non-functional areas, such as performance, security, and usability.

Several tools and techniques are currently available in the testing market to enable real-time performance validation in addition to simulated loads.

Software test engineering is now a sought-after profession in the IT industry. This is because of the plethora of career options and the fast-paced career growth that testing services offer. Good and successful software testers or managers need to equip themselves with the right knowledge, skills and attitude.

Knowledge is twin-fold – strong domain expertise as well as robust technical knowledge. Testers require the skill to be agile and open-minded at the same time. Reporting defects is not the only job of testers; it also involves improving the quality of the system that is delivered to the customer.

Thus a lot of interaction happens between testers, developers and customers. To make these interactions progressive, proactive and positive, testers need the right attitude and communication skills to convey their opinion. Thus, software testing is challenging, but a very gratifying field to work in.

(The writer is Vice-President, Testing Practice, Cognizant Technology Solutions)

ADVERTISEMENT
Published 10 April 2012, 12:52 IST

Deccan Herald is on WhatsApp Channels| Join now for Breaking News & Editor's Picks

Follow us on :

Follow Us

ADVERTISEMENT
ADVERTISEMENT