Taxonomy of Testing Tools - Testing Tools

A wide variety of software testing tools are available to cater to the different types of software, different programming languages, and to carry out different types of testing. These testing tools can be broadly divided into the following categories:

  • Functional/Regression testing tools
  • Source code testing tools
  • Performance testing tools
  • Java testing tools
  • Embedded software testing tools
  • Network protocol testing tools
  • Configuration management/bug tracking tools
  • Testing management tools

Functional/Regression Testing Tools:

These tools are used to test the application software and web applications such as web sites. As majority of the applications involve Graphical User Interface (GUI), the tools test the GUI objects and functionality automatically. These tools carry out black box testing. Client/Server applications, Enterprise Resource Planning (EPvP) software packages such as SAP,Customer Relations Management (CRM) software packages such as Siebel, web sites etc. can be tested for functionality using these tools. Whenever a change is made to the software, the software needs to be retested and hence these tools are also called regression testing tools. Compuware's QACenter, Segue Software's SilkTest, IBM Rational's Robot, Mecury Interactive's WinRunner belong to this category.

Source Code Testing Tools:

These tools check the source code of the application software. The testing is white box testing and hence the implementation details are taken into consideration. A number of tools are available for checking line coverage, branch coverage, and path coverage. For instance, the profilers display the number of times each line is executed. The test engineer can study the profiler output to find out which portions of the code are not executed and then create test cases in such a way that the lines, which were not executed earlier, can be executed. Tools are also available to test whether the source code is compliant to the standard coding guidelines and to generate the metrics such as number of non-commented lines, number of commented lines, number of functions etc. Some tools check the portability of the code. For example, the code written in C is not portable if operating system dependent features are used. The 'lint' utility in Unix/Linux systems checks the portability of C code. Some application software source code testing tools are: AutomatedQA's AQtime, Parasoft's Insure++, and Telelogic's Logiscope.

Performance Testing Tools:

These tools are used to carry out performance testing or stress testing. These tools are very useful to test how the application works when multiple users access the application simultaneously. The application can be for example, a database or a web site. These tools simulate multiple users on a single machine and hence you do not need many machines and many test engineers to do the performance testing. AutoTester's AutoController, Compuware's QALoad, Mercury Interactive's LoadRunner, Segue Software's SilkPerformer, IBM Rational's Performance Tester, Apache JMeter belong to this category. Some other specialized tools in this category are Argogroup's MonitorMaster for testing mobile applications that use WML and XHTML, Short Messaging Service (SMS) and Multimedia Messaging Service (MMS); IBM Rational's Prevue-X and Prevue-ASCII for X-windows and ASCII terminal emulators.

Java Testing Tools:

As Java has become a popular programming language in recent years, a number of tools are available exclusively for testing Java applications. These tools are for testing applications written in Java programming language and for testing Java classes. Jemmy is an open source library to create automated tests for Java GUI applications. JMeter of Apache is another open source software to do performance testing. Parasoft's jtest is used for Java class testing.

Embedded Software Testing tools:

Testing embedded software is a very challenging task as the timing requirements for these applications are very stringent. In embedded systems, the code has to be optimized so that it occupies the minimum memory. IBM Rational Test Real Time is the widely used test tool in this category.

Network Protocol Testing tools:

As computer networks are becoming widespread, testing networking/communication software has attained lot of importance in recent years. A number of tools are available for testing networking and communication protocols. Many test instrumentation vendors such as Agilent Technologies, Rhode & Schwartz etc. supply protocol analyzers which generate the necessary protocols based on international standards such as ITU-T standards. netlQ's ANVL (Automated Network Validation Library) is to test routers and other networking products. This software generates packets in correct and incorrect formats to test the networking software. netlQ's Chariot is a network performance testing tool.

Configuration Management/Bug Tracking Tools:

In large software development projects, configuration management is a very important process. Also, when the test engineers report bugs, the managers have to track these bugs and ensure that all the bugs are removed. To facilitate this activity, good workflow management software is important. Many such tools, which are web-based are available. Bugzilla's Bugzilla is an open source defect tracking system. Samba's Jitterbug is a freeware defect tracking system. IBM Rational Software's Clear DDTS is a change request management software. GNU's GNATS is a freeware bug tracking and change management software. Segue Software's SilkRadar is an issue tracking and bug tracking software. Microsoft Excel is also used extensively for bug tracking. In Unix/Linux/ Solaris systems, utilities are available for version and release control of source code— these utilities are Source Code Control System (SCCS) and Revision Control System (RCS).

Software Testing Management Tools:

These tools help in managing process-oriented software testing. Using these tools, the QA manager can create a formal test plan, allocate resources, schedule unattended testing, track the status of various bugs/ activities etc. Auto Tester's AutoAdviser, Computer Software's QADirector, QIS's QCIT, Segue Software's SilkPlan Pro, IBM Rational Test Manager, Mercury Interactive's TestDirector are some such tools.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd Protection Status

Testing Tools Topics