Sudha Aravindan has taught high school Math and professional development in Information Technology for over 10 years. Sudha has a Doctorate of Education degree in Mathematics Education from the University of Delaware, USA, a Masters degree in English Literature from the University of Kerala, India, a Bachelor of Education degree in Teaching of Math from the University of Kerala, India, and a Bachelor of Science degree in Math, Physics and Statistics from the University of Kerala, India. Sudha has a certificate in Java programming and Statistical Analysis.
Software Testing Tools
What is Software Testing?
Software testing is an integral part of any software development process. As you know, any interaction that you have on your computer, smart phone or tablet happens through applications you see on the screen of your device, which is also known as software.
We test software to make sure it runs without errors. When you bake a cake, you follow a recipe and then test to see if the cake is cooked to perfection. When you write a software program, you have to test it to make sure that it works as intended and does not crash or have other errors. For example, if you are writing a app for your mobile phone, you want to have the the app tested by at least some of your friends and family before you can make it available for everyone to use.
Another reason to test software is to make sure it follows specification and technical requirements. In a red velvet cake baking competition, for example, the judges will test to see that the basic ingredients and techniques for the red velvet cake have been followed correctly. If you make a cheesecake and color it red, it would be disqualified because the color alone does not make it a red velvet cake!
Software Testing Tools
When baking a cake, we could use an improvised tool like a toothpick or a fork or use a specially made tool to test the doneness of the cake. The less sophisticated tools like the toothpick may not be long enough to test through the entire thickness of the cake at the center, and the fork will leave multiple unnecessary punch marks, spoiling the look of the cake. On the other hand, a cake tester, which is made specifically for testing how well the cake is baked, has a single thin, long wire that can be pierced easily through the center of the cake without damaging its surface.
Similarly, for testing software, you can allow friends and family to test at random and document the errors they find. However, this method is not very sophisticated and can leave critical gaps where certain aspects of the software are never tested correctly. The more sophisticated and technical method to run tests in a software development environment is to use software testing tools.
Software testing tools are mainly used for:
- software graphical interface testing, and
- software load testing
Software Graphical User Interface (GUI) Testing Tools
In software, graphical user interface, or GUI, is the screen that the user sees. Software testing tools determine how easy it is to use the GUI and find different menus and links. Since the GUI is the primary means by which the human being interacts with the computer, it is critical that the GUI is easy to understand and includes all the necessary functions as expected.
One commonly used tool for GUI testing is the HP WinRunner. This tool can be configured to pretend that it is a human being using the software. It automates the actions a person would normally do and mimics user interactions with the GUI. Based on what happens when each event occurs, all error messages are recorded, and the software programmer can then identify and correct potential problems.
For example, the HP WinRunner tool might click on the Help menu and find that it does not actually take you to a help screen. This will be recorded so the problem with the Help menu can be fixed.
Software Load Testing Tools
Software load testing tools are used to test how well the software would perform on a given set of hardware configurations. Load testing is important to understand how the software runs and how much time it would take for the different functions to work when deployed on a large scale and on multiple machines. Suppose you have a kitchen oven where you think you have the capability to bake 4 cakes at a time. You now have the task of baking 25 cakes for a charity. Before you start baking, you can do a test run to time out and understand the logistical problems, if any, that you might face.
You can do a similar thing for load and performance testing with WebLOAD. This tool lets you test internet applications for heavy user traffic and related performance based on high usage. The goal is to understand how well the hardware infrastructure can support the software under high usage and complex interactions when deployed in a real-time environment.
Lesson Summary
Software testing is an integral part of any software development process. In order to make the software available for multiple users and on multiple devices, sophisticated software testing tools have been developed to test the various components of the software. Two of the commonly used tools are HP WinRunner, which tests the functionality of the graphical user interface of the software, and WebLOAD, which tests how the software performs under high volume and complex interactions from users. When a software testing tool identifies an error, it is recorded and the software is modified to address and correct the errors.
To unlock this lesson you must be a Study.com Member.
Create your account
Register to view this lesson
Unlock Your Education
See for yourself why 30 million people use Study.com
Become a Study.com member and start learning now.
Become a MemberAlready a member? Log In
BackResources created by teachers for teachers
I would definitely recommend Study.com to my colleagues. It’s like a teacher waved a magic wand and did the work for me. I feel like it’s a lifeline.