Interfacing with Other Applications

Taken from A Guide to Database Subsetting

Written by Huw Price and produced by Grid-Tools Ltd © Grid-Tools Ltd

In the real world it is rare that your database application is stand alone, most applications nowadays have quite complex interrelations with upstream and downstream data feeds. 

Data Flow Diagram

Figure 18 – A typical application data flow diagram

As part of your testing strategy you will need to identify:

  • Other databases to be subsetted
  • Upstream data file input, for example interface files containing Customer updates
  • Cross Database lookups, for example Pricing lookups and Product availability
  • Downstream files produced by your application
  • Other applications that rely on your database

Each one of these cross application interfaces will have to be managed carefully.  Some techniques that have proven very effective are:

  • When you subset multiple related databases of different types, for example Oracle and DB2, using a pre populate step to build a common driving table with primary keys from both database is very effective.  The driving table data explosion can be run repeatedly on both databases to build a common list.  For example build a list of Customers from the Customer system and then build a list of matching Orders from the Order system.
  • Make sure any processes which accept flat file input do not rely on matching records, so for example if you choose to use a copy of the production flat file containing customer updates, the file processing program must be able to gracefully reject and report on missing customers in your test database.
  • If your application has to make call outs to external services, for example SOA requests using a WSDL consider using a mock service to return consistent values every time.  Often sites struggle to validate if a test has run successfully as there too many moving parts.  See http://www.grid-tools.com/soupuidatapro1/soupuidatapro1.htm if you’re interested in using mock services.

In reality you may have to be quite innovative in solving some of the cross application interface problems.

 

Contact Us