We are a small Swiss software company. In the last two years, we have developed a tool which is able observe and control SAP Business One. We call it Dynamate.
When we started developing add-ons we had the challenge to do functional testing of our own B1 add-ons on the version we developed for as well as on newer version of B1. As we wanted to test our UI modifications as well as the db changes we did, our approach was to record and replay actions on a UI level. The result was a set of fragile but working scripts which simply did what they were supposed to.
At a demo where we used this mechanism to show a workflow quickly, we realized there is a need for a tool which is able to provide such a service for very general actions in B1. Existing testing suites focus on the DB, on mass-inserting and modifying stuff, but leaving out most of the issues happening on the rich client itself. Many add-ons rely on certain items which have to be on a system form, e.g. you have an add-on reacting on a combo box choice-event. It probably will not do its work anymore when this combo box got removed from this system form in a newer version of B1. But how do you recognize such a situation?
We created a new product from scratch and we dealt with quite a lot issues that came up when we wanted to record a whole day in a real company. Think of basic problems like recording correctly, replaying correctly, or of advanced problems like synchronizing the actions, changes on systems forms, replaying on which machines, managment of the recorders and players. We invested a lot of time in designing an architecture which we believe is able to deal with all this.
And then we built it. Fixed it. SAP Business One Self Services and Support Automation tested it and gave us feedback and new inputs we didn’t think of by then. We refactured, fixed again, tested. In the end of Q3 2007 we had a finished product, a testing suite implementing our architecture. We were able to talk about problems in a high level manner. Recorder- and Player-Add-Ons, Studio, Sessions, Track, Version Layer, Machine Pool. Upgrade-Safety. We were ready to run. And then it stuck.
During christmas time, we decided to pack everything, do some small marketing effort and give it away for free for one year. If you have a B1 installation, you will be able to do a short functional test in less than half an hour using the Hello World-Tutorial.
This is basically it. Looking forward to explain some advanced stuff.
An appetizer: Studio Screenshot with an open track: