217
Users of the system, generally the traders, perform these tests. Test designers draw
up formal tests and devise a range of severity levels. User acceptance testing acts as a
final verification of the proper functioning of the system, emulating real-world mar-
ket and trading conditions on behalf of the product team. If the system works as
intended and without issues, the product team can reasonably infer the same level of
stability in production. These tests are not usually focused on identifying simple prob-
lems, which the team should have previously identified and had fixed. The results of
these tests give confidence to the product team as to how the system will perform in
production.
User acceptance testing is a critical level of testing because it is the final oppor-
tunity to identify any problems before the trading/investment system is put into
production. In addition, this testing concludes with signed-off acceptance of the work-
ing system by the product team as a whole. User acceptance testing must be conducted
thoroughly and accurately to give the final assurance of quality and checking that the
system meets the user and business requirements. Only when testers can no longer
find errors can the product team be confident that the system will run correctly and as
expected.
Before commencing user acceptance testing, be sure that the acceptance criteria have
been defined. Whatever the case, any changes or fixes performed at this step must be
proved with a new and complete round of unit, integration, system, and user acceptance
tests. This means that new acceptance tests must be created for each iteration. Rounds of
testing continue until the acceptance criteria are met and the product team signs off that
the system is ready for implementation.
In user acceptance testing the users execute the user acceptance test cases according
to the testing strategy. The user acceptance testing process needs to be managed and con-
trolled to ensure that:
● Tests are executed in the correct order.
● Test results are recorded.
● Testing progress is monitored and reported.
● Test incidents are reported and actioned.
● Complete retesting is performed following any code changes and the results reported.
● All required test cases are executed, acceptance criteria are reached, and the acceptance
testing is signed off.
A user acceptance test is an interactive process between the trader, the product team,
and the development team. The risk department may also perform user acceptance
testing. During user acceptance testing it is important to monitor the progress of the exe-
cution of test cases and the resolution of incidents reported as a result of testing. Regular
progress meetings should be held to report on progress with the testing. Where multiple
acceptance test teams are used, such as for different business areas and/or large projects,
each team leader should provide a separate report. A consolidated report should also be
prepared.
Loop 3 in this step is the final audit. Are regression tests done and documented?
Everyone must agree. The product team signs off that the audits and tests are complete.
All must feel comfortable that, if the senior trader is unable to run the system, the rest of
the team can do so. (Investors may even require this before providing capital.) All test
results will be submitted to management for review at the Gate 3 meeting.
23.4. LOOP 3: FINAL AUDIT AND PROBATIONARY TRADE