Testing newly developed software may sound like a simple task since it is making sure that it meets the requirements, works as it was designed for, and can be implemented in that way. However, there is an art to testing; it is more than following test scripts and the happy path. The real adventure is finding out how things work; not what the screen should show.
One has to understand the business and processes in which the software lies in order to put it through the paces. If you do not it will make knowing what to test for and how to test very difficult. Testing does not just make sure a button works but that the software can be molded around the needs of the business.
Points on Testing:
- Think about what the user should do or what the screen is designed for. Do the opposite. Does the software allow the transaction to happen? If so, it may be a defect.
- Do not just assume something works. Keep checking the functionality. If you are testing across multiple revisions regressed functionality may occur.
- If the user does steps in the wrong order does an intelligible error message pop up? Displaying error messages the end user can understand will enable them to help themselves figure out the problem.
- Think about the process. Does it allow me to go back and forth from one screen to the other? Sometimes we need to add additional functionality. After it is added, does that back button still work?
- If your software runs on a browser does it work across multiple browser types and versions? This may not seem like a big deal but when developers are writing for IE8 and IE9 but you are testing in IE7 it can make a big difference. Which brings me to - are you testing with what the end users use?
Thinking through these scenarios and possibilities will help you uncover the "hidden functionality" in your software as well as ensuring its usefulness for the business.