Testing is the process of appraising a software application and its components to verify that the application meets the requirements for which it was originally intended — making sure it works the way it’s supposed to work. Testing helps identify gaps and missing requirements, and pinpoints bugs and errors. It is a key component of the software development life cycle.
A tester executes this appraisal process and utilises/constructs a series of test cases or test scenarios to duplicate the actual environment where the application will be deployed. These test cases may be executed manually or automated with the help of testing tools.
Developers carry out unit testing, based on code logic, and this often makes their testing rudimentary and fragmented. Testers are meant to test all the functions of a system and its complex scenarios and boundary conditions. It is their job to devise test cases that are fool-proof.
The challenges of testing software, however, are varied and numerous. For example, mobile applications are required to be tested on multiple versions of multiple operating systems. A mobile app being released now would have to be compatible with Android OS 4.4.4, 5.0 and 5.0.1, as well as iOS 8 and 9, to name just a few
One small bug can become a huge issue. According to researchers, Microsoft’s Windows 7 had only one defect per 2,000 lines of code at the time of release. Yet, it has been labelled as being buggy and error prone. This reputation for buggy software may be explained by the fact that Windows 7 has more 40 million lines of code — which would pump the number of errors up to 20,000!
A “go live” without any issues is usually celebration time for developers. It is only when the defects start coming in that the testers are invited to the party! Undoubtedly, the tester has the most thankless job, but a job that is nonetheless indispensable — unsung heroes indeed.
I once asked one of my testers to estimate testing efforts for what we thought was a simple screen. She came back with 142 test scenarios considering boundary conditions, forward and backward passes, negative and positive conditions, you name it! Since then I have been in jaw-dropping awe of testers.
Most IT firms in India have structured environments ensuring a defined methodology for testing and releases. The tester has to fit into this environment and bring value with his skill and experience. His work profile is much more than preparing test documents. He has to devise test scenarios to cover every imaginable exception and condition and execute the test cases within the test environment.
After execution, the tester must measure test effectiveness and coverage. He is also constantly challenged by an ever changing software landscape.
Since testing skills cover a wide gamut of tools and technologies, testers need to be aware of the latest trends in testing. They must be adept at both manual and automated or tool based testing. Also being able to select the right bug-tracking and reporting tool is an essential part of a tester’s responsibilities.
So how does an employer evaluate if an applicant is up to the challenges of the job? As always, certifications are a great way to verify that one has the skills and knowledge to perform. Described below are some of the predominant testing certifications to evaluate and gauge a tester’s level of expertise.
The Certified Software Tester (CSTE) certification lays down the standards for an initial qualification. A CSTE is expected to be well versed in the principles and practices of software testing. CSTEs are members of a recognized professional group and receive recognition of their competence by business and professional associates. Evaluations can be taken up at Pearson VUE Testing Centres.
The Certified Manager of Software Testing (CMST) is a certificate targeting senior level testing professionals. A mandatory prerequisite is at least four years of real-world industry experience. The examination consists of two parts, with seven and five questions respectively, based on a constructed scenario.
The aim is to evaluate candidates on their knowledge of Test Management, Analysis, Planning, Execution and Communication and Relationships. Examinations are also conducted by Pearson VUE Testing Centres.
A CSTE pro with an active certification at the time of applying for the CMST can become a CMST and the CSTE will remain active as long as the CMST is active. However CSTE certifications need not be re-taken if expired prior to taking the CMST certification.
The Certified Software Test Professional (CSTP) is provided by the International Institute for Software Testing. This certification program can be taken by beginners as well as senior and experienced testers. A prerequisite for the examinations is a minimum of 10 days of formal training or education as a software tester. The applicant must also be performing in a testing role for at least one year and a supervisor’s approval is required for the application.
Certified Test Manager (CTM) is a certification for senior and mid-level testers with at least three years of industry experience. CSTP certification is a mandatory prerequisite for this certification. The focus skills for this certification are the testing process, risks, strategies, test management, team organisation and test automation. Test Management Body of Knowledge (TMBOK), developed by the International Institute for Software Testing, is the foundation of CTM certification.
HP QTP Certification certification, provided by HP, is one of the most respected testing certifications in the industry. The certification exams are conducted by Pearson VUE and can be taken by both beginners and experienced testers. Study materials and trainings are provided by HP and focus is on knowledge of automation testing and the application life cycle management (ALM) of the QTP tool.
There are two levels of QTP certification, the basic level HP AIS – Functional Testing v11 (HP0-M47) and HP ASE, and the advanced Functional Testing v11 (HP0-M98).
ITSQB Certified Tester (ISTQB). This certification is supported by the International Software Testing Qualification Board, an international qualification scheme. This professional certification is available in foundation, practitioner and advanced levels and offers certifications in eight domains.
- IT Service Management
- Software Testing
- Sustainable IT
- Business Analysis/Change
- Solution Development
- Project Management and Support
- IT Governance, Information and Security
- IT Assets and Infrastructure
The ISTQB certification is overall the most popular testing certification and it is available in at least 70 countries where ISTQB is represented by a Member Board. Indian Testing Board (ITB) is the ISTQB approved national board for India.
Do you have the right stuff?
Software testers are indeed the unsung heroes of the IT industry. They perform an invaluable service, yet no one notices them until they don’t do their jobs — kind of like a bookcase. These behind-the-scenes professionals are in high-demand for two reasons — they save their companies millions of dollars a year, and end users countless hours of frustration.