Group Head, Wipro Technologies
With the experience of over 16 years in the Software industry, Ajikumar TN currently heads the Qu... more>>
But today the scenario is very much different. We can see many changes happening in software testing area. 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.
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.
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
There are 3 kinds of automation possible in software testing.
a. Using scripting languages
b. Using commercially available tools
c. 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 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.
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.
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.
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.
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.