Software acceptance testing

Using a prototype model can help expedite software acceptance testing

Broadly speaking, in a regulated industry process automation factory acceptance test (or FAT), the lions share of the work is ensuring that the S88 procedural logic or ‘phases’ function according to the design specification. This includes:

  • Manually running the phase a number of times, comparing the actual SFC logic with the design SFC logic and documenting each ‘cycle’. This is the closest an S88 system gets to a high level language unit test.
  • Verification of recipe parameters such as setpoints, duration timers, alarms etc.
  • Opportunity for further design input.

A broad array of faults are typically picked up. Here are some samples from a large DCS (distributed control system) software acceptance test. The faults are for tank fill, drain, flush and airblow procedural logic (S88 phases and unit operations):

Software acceptance testing ; categorisation of common failures
Software acceptance testing ; categorisation of common failures

Many of these issues could have been picked up in a prototype system, but it would have meant committing more resources earlier in the project. Having recourse to a prototype during witness testing can get witnesses up to speed faster and also speed up query answers. Some of the above errors were completely missed from the FDS, so a project design authority would still need to be contacted. In this case, (s)he could quickly access the model and see if there was, in fact, an issue.

Summary

The FAT is a great place (and also the last place!) to catch software and process bugs. The team generally has project delivery deadlines to meet and the entire team is focused on identifying and clearing the bugs, and completing the testing.  However, the fewer bugs and observations at FAT, the faster and smoother the testing. Better quality, more detailed requirements capture could have halved the amount of bugs that appeared and then had to be fixed. That better requirements capture reduces FAT error count is generally accepted. The related questions are; how to better capture requirements and how to do it earlier in the project? Simple – use a model.



See Spike in action or try it yourself, no sign up or login required.

Terminology:

FAT: factory acceptance test

S88: ISA standard ISA-S88

SFC: sequenced function chart

DCS: distributed control system

OPCUA: opc unified architecture