Thursday, 1 December 2011

Test System XML Generation

I was working for a client where I was engaged in performing testing of a range of integrated systems. The systems passed information between applications via XML files. We needed a method of generating XML messages that were close simulations of production data.

The best way to do this was to develop an application that would harvest data from a test system (populated with a copy of production data) and then generate the XML message files that would simulate the various types of transactions that the system would expect. Of course, the tool would need to be able to generate XML messages on demand, accurately and according to our test scenarios.

Fortunately, in this engagement, we were working from a very well defined set of XML Schema Data (XSD), so the development of the tools that would generate the transaction messages was easy to test.

One tool was developed that was used to execute a set of SQL files against a MS-SQL Server defined in a configuration file. This tool would recursively search for all SQL files in a folder, execute the SQL query and send the data to a MS-Excel spread-sheet. This tool was used as a data mining tool used by manual testing.

Another set of tools were developed to generate a range of XML transaction files. The XML needed to simulate both inbound and outbound transactions, as the output would be used by manual testers, the data would then be modified by the tester to simulate various scenarios.

A tool was used to marshal the remote generation of the XML transaction files. The concept here is for the testers to send a request to generate XML to a remote machine where the XML would be generated and await pick-up by the tester.

This set of test harness devices represented a significant improvement in the ability of the testers to generate production quality transaction files in a fraction of the time that it takes a tester to produce the same amount of transactions and with a much lower margin of error.

Each of the tools developed for the client was unique and greatly improved the clients ability to successfully deliver the IT project. Incidentally, the client has since continued to use the same tools on a number of projects within their business with success.

No comments:

Post a Comment