Software license agreements often specify a procedure – known as “acceptance testing” – that the customer may use to verify that the licensed software meets the customer’s business requirements. Acceptance testing can be an important risk management tool for both software vendors and customers, particularly if licensed software is costly and requires complicated implementation by the software vendor or its authorized service provider.

TESTING PROCEDURE

Software license agreements usually specify one or more limited periods during which the customer may test the licensed software to determine whether it meets specified requirements. Depending on the circumstances, acceptance testing may occur not only when licensed software is initially delivered to the customer but also at later times during the implementation of the software. New versions or releases of licensed software provided to the customer as part of software maintenance might also be subject to acceptance testing.

Acceptance testing is often a collaborative process in which the vendor assists the customer to conduct testing. The customer is usually required to give the software vendor detailed written notice of all deficiencies in the software identified by the customer during testing and allow the vendor a reasonable opportunity to correct the deficiencies and resubmit the software for further testing. The customer is also usually required to give the software vendor prompt written notice if the software passes or fails acceptance testing. Standard form license agreements often provide that licensed software is deemed to pass acceptance testing if the customer does not give timely notice that the software has failed acceptance testing.

ACCEPTANCE CRITERIA

Software license agreements usually specify objective requirements – known as “acceptance criteria” – for the customer’s acceptance or rejection of licensed software. Acceptance criteria usually include the basic attributes of the licensed software described in the standard software documentation, and may also include more detailed specifications (e.g. required functionality, operation, performance and results of the licensed software) that reflect the customer’s particular business requirements. Standard form license agreements often provide that licensed software will pass acceptance testing if the software “substantially conforms” to the acceptance criteria, but that approach might not be appropriate in all circumstances.

CONSEQUENCES/REMEDIES

Software license agreements usually specify the consequences or remedies for successful acceptance testing and acceptance testing failure. Successful acceptance testing may constitute a payment milestone or have other consequences, including commencement of a limited warranty period. The consequences of acceptance testing failure often include an option for the customer to either cancel the software license purchase and receive a refund of pre-paid fees, negotiate revisions to the acceptance criteria and a corresponding license fee adjustment, or agree to give the vendor more time to correct identified deficiencies so that the software passes acceptance testing.

RECOMMENDATIONS

The need for acceptance testing will depend on the circumstances, including the nature and cost of the licensed software and the extent to which the software must be implemented (configured or customized) by the vendor or its authorized service provider for use by the customer. If acceptance testing is to be conducted, it is in the interests of both the software vendor and the customer to ensure that the software license agreement clearly describes the acceptance testing procedure, the acceptance criteria, and consequences of successful acceptance testing and acceptance testing failure.