Business software that does what you expect it to do, how nice is that? That starts with the quality of the software and ends with thorough testing how the software supports your specific daily business processes. But how do you do that, testing business software?
Use process flow charts
Make sure that the most important processes in your organization are documented step by step in process flow charts. This will help everybody in the organization. You have agreed upon a uniform way of working that everyone must commit to. A good process flow chart visualizes the process from beginning to end in a simple way. Use the right symbols, a consistent direction of the flow and no hysterical colors. It is also wise not to make the process flow charts too long or too complicated; break it up in multiple charts and stick to the standard processes without exceptions. This way you have carefully documented your most important processes, which helps you when testing.
Define clearly what you want to test and the results you expect
Before you start testing you need to know exactly what you want to test, why you want to test it and what results you expect. Make sure you use the correct data (objects, parts, vendors, customers, etc.) to be able to test well.
Example: booking a purchase receipt
Set up the initial situation of your test case with a vendor, part and general ledger account. Use new data to avoid being surprised by what you come across in existing data. Set up the new general ledger account as a stock account and then create a purchase order for the supplier and the part. Then check whether the part’s inventory matches the number of the purchase order and also check whether the inventory value in the general ledger (the new account) matches the value of the purchase order. Start with a simple scenario and expand it later. Also keep the financial bookings in mind with the checks you do. If you want to test a purchasing process, it is wise to create and use a new inventory account. You can then test whether the value on that account matches with what you had expected. Also take into account currencies; set up a scenario with and without currency.
"Consider which deviations occur and which side paths are taken in your organization and test whether the system can also deal with this."
Use tools for automatic testing
There are tools available with which you can automatically test thousands of processes in your software system every day. This is important in order to monitor whether all processes in the system continue to work well. After all, a change in one process can cause other processes to no longer run as intended without you knowing about this. The automatic test tools provide you this insight so that you can immediately take action.
Also test the error messages
It goes without saying that you test whether the process goes well when you take the right steps. But perhaps equally important is testing the error messages you get. Does the user receive a notification when a mandatory field is not filled in? Or when a step in the process has been skipped? And do these notifications meet your expectations? Error messages help the users to get back on track and complete the process in the right way.
Test the exceptions
The fact that the normal process runs smoothly does not say much. That's the least you can expect. But what about the exceptions? Consider which deviations occur and which side paths are taken in your organization and test whether the system can also deal with this.
Communication is crucial in testing
Perhaps the most important tip when testing business software is to ensure good communication. With the developers, the consultants, the key users and the end users. This cannot be achieved by communicating only via email and with test scripts. Talk with each other so that it is clear what the expectations are regarding the software, how these expectations have been met and how this can be tested.