Introduction
All software testing tools defined to you in plain english. Here you'll also find the open source providers and vendors of these tools.
These tools help you to manage your tests in a quick and effective manner.
Common features :
-
Test requirement management
-
Test case management
-
Test execution management
-
Reporting on the test process
-
Test data management
-
Defect management
-
These tools facilitate communication between the different project parties.
-
Saves time on developing and running tests.
-
Enlarges the ability to repeat the process to :
Most important things to examen when selecting a test management tool :
-
Traceability between requirements and test defects
-
Possibility to customize the tool to your test organization wishes
-
Easy to access (webbased)
-
Test scheduling features (manual / automatic)
-
Integration with other tools
There are many test management tools, some of the most popular :
Also know in it's old name : Mercury TestDirector
State of the art test management tool. Easy to customize. It is the absolute market leader and this with good reasons.
The tool combines smoothly the modules :
-
requirements
-
test plan
-
test lab
-
defects management
One minus : you 'll have to pay for the superior quality !
Also known under it's old name : TestRunner.
Open source Test management tool.
If you like to start simple and easy, you might consider using the mastertesting.net method. It is a basic excel with only the very basic key features on functional testing. You can download the method (100% free).
Also called Bug tracking tool.
Tool to manage and follow up defects.
Most important things to examen when selecting a defect tracking tool :
Some of the most popular defect tracing tools :
Wikipedia maintains a "comparison of defect tracking tools"
Automated testing tools are great for regression testing. They give you the possibility to run fast tests on a daily basis on the live environment. If you have them, make them part of the pre deployement regression testing.
GUI-based
Also called Record/play tools
Usually test automation involves automating a manual process already in place that uses a formalized testing process (manual tests have been executed for some time).
These tools are usually based on record and playing the GUI (grafical user interface, the sceens of the application). For the relevant fields on the screens input is loaded and at the end of the process the result is checked on screens or in the database.
Warning
Vendors of automated testing tools promise you that these tools are easy to use and that they will solve all your testing problems. They do a good job in convincing higher management, maybe because managers incline to believe there is an easy solution for difficult problems ;-)
There is some danger in a blind believe in the possibilities of GUI-based automated testing:
-
The tests have to be buid in a formalized testing process. This takes time (garbage in garbage out !).
-
The tests have to be coded in the tool. This requires technical skills.
-
Automated tests are rather expensive (this can go up to 5 times the cost of manual testing).
-
These tests can give a false sense of security.
-
If the application is not stable enough, expect a high cost to maintenaining the tests !
-
Small changes in the application (e.g. replacing a field from one screen to another) will result in the actual output not longer matching the expected output. You'll get a fail report. You 'll have to change the automated test. Make sure you don't become the slave of this !
-
Automated testing is an adition to manual testing, not a replacement.
Some of the most popular GUI-based automated testing tools :
Code based
Also called 'Test harnesses', 'xUnit'
Here you use testing frameworks which allow the code to conduct unit tests to determine whether the code is acting as expected under various circumstances. Test cases describe tests that need to be run on the program to verify that the program runs as expected.
Can make calls to methods of classes and compare actual with expected results.
Code based automated testing is an important part of the agile testing methodology.
Some of the most popular Non-GUI-based automated testing tools (all open source) :
JUnit
Unit testing framework for Java.
Unit testing framework for Microsoft.net.
Uses the scripting language of Ruby to drive the Internet Explorer web browser. Although this scripting drives the test trouh the user interface, in essence it is code based automated testing , not GUI-based (open source).
Uses scripting language for Win32. Although this scripting drives the test trouh the user interface, in essence it is code based automated testing , not GUI-based (open source).
Wikipedia maintains an extensive list of unit testing framewoks
These tools allow you to detect errors in the software code by tracing the code. These tools are mosly used by software developers. It allows them to trace variables, instructions and memory usage to find bugs.
Debugging tools enable the developer to monitor the step by step execution of a program, stop it, re-start it, set breakpoints, change values in memory and even, in some cases, go back in time.
Not to be confused with defect tracking tools.
These tools are often already integrated in the development environments.
Debugging tools vary greatly, because they are linked to the program language /platform that is used.
Types of debuggers :
Interacing with the debugger by typing commands to perform specific tasks
Use of a mouse pointer to click on option or menus.
These are more user friendly.
Some of the most popular debugging tools :
Java debuggers
-
Eclipse (debugging is a basic feature in eclipse)
-
-
Jswat (GUI for Java Platform Debugger Architecture)
Linux debugger
-
GUI debugger for Perl, Phyton, GDB, BDX,...
-
Performance testing tools
-
Load and Stress testing tools
These tools will help you to check the system behavior under load by testing the application under heavy loads to determine at what point the system’s response time degrades or fails. Usualy realised by simulating a big number of users doing the same thing at the same time.
These toals help you to :
-
predict end user experience
-
determine impact on infrastructure
-
find detect bottlenecks in a given application/infrastructure
-
perform capacity planning
-
check generating high load on application with limited hardware
Some of the most popular debugging tools :
-
End user experience monitoring
Application downtime and poor end-user responce time can be devastating. End user experience monitoring tools can help you to detect bottlenecks in your application.
Yhey can help you to predict how changes in network bandwidth, latency, load and application turns affect end user’s response times.
This is a usefull addition to load testing.
Popular end user experience monitoring tool :
Compuware Vintage
-
Test data preparation tools
These tools help you to reduce the complexity of managing and creating accurate test data.
They allow you to extract, load, convert, transform, generate, compare and edit data in different database environments.
Popular data preparation tool :
If you like what we're doing, link to us ! |