Specialized Testing Services

Date:   Wednesday , August 11, 2010

In the 1998 time frame when I changed my career into software testing, the no. of testing professionals available in the software industry was very less – may be in terms of just a few hundreds. Software testing was definitely not a sought-after job. Not many organizations had a separately carved out testing division. Also, the revenues from testing and salaries offered to the professionals were less than that of a development job across the industry.

But today the scenario is very much different. We can see many changes happening in software testing area.

l Thousands of testing professionals are around today. Even campus recruits opt to join testing teams. Testing organizations are able to attract talent directly from campus competing with offers for development jobs.
l Lot of pure play Testing organizations have come up during the last 12 years. Spotting the business opportunity, these companies are thriving. Some of them have become targets of acquisition with good valuations.
l Testing moved away from ‘just testing’. It is more of a specialization now. Specialization attracts more money for the professional and also for the organization.

This article is about the third point mentioned above. Apart the good old functional testing, many specialized testing areas have emerged over the years. This was not accidental – industry was responding to the requirements from customers.

When testing business started growing, the needs have come mainly from four areas. This was the first wave of specialization observed in software testing.

1. Telecom equipment and application testing
2. Embedded testing
3. Enterprise application testing
4. BFSI application testing. (BFSI is short form for Banking, Finance, Securities and Insurance)

For 1 and 2 above, product and technology knowledge is important to do justice to the testing job. For example, to test a VoIP phone software, knowledge about VoIP technology and related protocols is a must. For 3 and 4, domain knowledge is very important. For example, to test a ‘Point-of-Sale’ application, knowledge about retail business is required. For the 2nd one (Embedded) as well domain knowledge is very important especially when the product is of real time and / or mission critical nature – Eg. Avionics.

The above classification is more of ‘vertical’ business nature. Organizations which started their testing practice originally in just one vertical moved to other verticals as industry and business grew.

The second wave of specialization came from a completely different angle – not from ‘vertical’ perspective. Test automation was the first among them. In software business, testing is seen as a horizontal activity – i.e. testing is required for software applications of all vertical businesses. In the same way, ‘test automation’ and other second wave specialization testing activities are seen as horizontals within the testing horizontal. This is because they are usually required for all kinds of testing activities. A few of them are discussed below.

1. Test Automation
2. Performance Testing
3. Data Centric Testing
4. Localization Testing
5. SOA (Service Oriented Architecture) testing
6. Security Testing
7. Package Application Testing
8. Certification Testing

Test Automation

There are 3 kinds of automation possible in software testing.
l Using scripting languages
l Using commercially available tools
l Using Open Source Tools.
Scripting languages include Tcl/tk, Perl etc. The test engineer has to learn the language and then prepare a test script which she later runs as part of testing activity.

Commercially available tools are the likes of QTP (Quick Test Professional) from HP, RFT (Rational Functional Tester) from IBM etc. There are enough indications that lot of other companies are also venturing to this area – I have come across at least three new organizations who introduced their new testing tools during the last 3-4 months. These tools are mainly used for application testing.

Open Source tools are available for test automation – Selenium is the leading one. Given the boost Open Source has got in the recent times, a testing organization cannot move ahead without a watch on the Open Source Test tools.

Performance Testing

Performance testing is more about traffic and volume testing. This is done simulating a real life scenario like traffic of thousands of users accessing an application and observing the behavior. Today, this is a very hot area from a testing professional angle – too much demand. No product can go out of the test bed without completing performance test. For Performance testing also, there are tools available – both commercial as well as open source.

Data centric Testing

This is about testing the quality of data in test and production environments. This also includes the testing of proper migration of data between old and new environments in case of a data migration. This is an area where database knowledge and some statistical techniques along with testing knowledge are required for a testing professional.

Localization Testing

Most of the applications are originally developed for English speaking community (yes, usually – may not be always). When the product owner takes the same to a different market / country where another language is dominant, there is a need for conversion of the application into the new language. When converted, there is a need for testing as well. Again this is a specialized activity since we need people who know both the languages along with the art of testing.

SOA testing

This is a new development riding on the advancement of SOA – more of transaction based testing. Recently some organizations have come up with tools to help professionals working in this area.

Security Testing

As security threats are increasing day by day and also more and more applications going online, the need and importance of application security testing are only increasing. Apart from testing knowledge, the knowledge on application security is a must for a testing professional in this area.

Package Application Testing

Package Applications are the likes of SAP, Oracle, Seibel etc. All major organizations are depending on at least one of them for their day – to- day activities. Since major works are depending on these package applications, a thorough testing is required before going live. Testing Professionals in this area should have knowledge about the package application in question and also about testing.

Certification Testing

This is about putting an official stamp of approval that an application developed by a third party ISV (Independent Software Vendor) will work on top of a platform provided by another organization. A good example is approval for an application developed by an independent company for Windows 7 OS from Microsoft.

Testing organizations started creating teams to focus on one or more of the above specialized activities. Training sessions are designed and given to these teams to make them capable of doing the specialized activities. For the tasks done by them, premium is charged over the rate of normal functional testing.

When specialized services are created within the main testing area, another interesting thing happened. Software testing became more demanding and creative. This business started bringing more margin than the traditional development activities. Anything which brings more profit attracts the attention of CEOs and thus today we are in an age where Testing Division in any organization has a better image than 1998.

The author is Group Head at Wipro Technologies