| Most I.T. projects contain three distinct phases of testing, namely:
- unit testing (of individual programs or modules as discrete entities)
- system testing (of all the programs and modules in synchronisation)
- user acceptance testing (to verify that the system change has met the
users’ objectives).
ATD believes that the testing within a data migration project should be structured
in the same way, except that the basic “units” to be tested are items of data rather than programs. We also believe that testing should be an integral part of any
I.T. development process, so that tests should be planned and specified at the analysis and design phase. Hence test specifications and test cases are devised
at as early
a stage as possible, and recorded as attributes of the relevant data items, alongside
the data definitions, source-to-target mappings, etc. The vehicle for recording
these data attributes is the extended data dictionary, which is a core part
of the ATD Methodology.
Whilst we advocate a data-driven approach to unit and system testing, user acceptance testing (UAT) must of course be controlled by the users, and must therefore be capable of being specified independently of the unit and system testing. Nevertheless we strongly recommend the use of the extended data dictionary to facilitate UAT specifications.
We believe that the best test of the migration process itself is to run frequent trials of the process, preferably using full data volumes. At least one of these trial migrations should be treated as a dress rehearsal, with the test data matching the final set of data as closely as possible, and the systems environment simulating that in which the live migration will be performed. |