Pilot and Test Services
When installing and configuring a new repository, it is often good practice to have a pilot installation that can be used as a test bed for a repository development without adversely affecting a live installation. At project conception, a pilot system will be used to change and configure the software, perform system testing and initial user acceptance testing until the repository is at a stage to be used as a production system. In latter stages of the repository lifecycle, the initial pilot installation will often grow into a development platform which can be used for testing upgrades and patches before applying them to the live institutional repository.
Pilot System Testing/Functional testing
System or functional testing exists to ensure the system performs functionally as expected, and to iron out any bugs which may be prevalent in a new repository installation before it becomes a live service. It is sensible to dedicate a significant amount of time to this type of testing to ensure the service offered to users is as trouble free as possible. Bugs that are found in live systems will often cause annoyance to users and can harm a system's reputation.
It is useful to create test plans that exercise each function of the software to ensure that it performs correctly. If a problem is identified later, the test plan can be updated to ensure this bug is tested for. The test plans can be re-used after each upgrade to ensure that the system continues to function as expected, and that old bugs have not been reintroduced.
Pilot User Acceptance Testing
In contrast to system testing, user acceptance testing on a repository is performed by the people who will use the system on a day to day basis, ensuring it meets with their requirements. Feedback from a subset of the users who will use the repository can be used to ensure that flaws and missing features can be rectified before the system becomes live.
Production System Testing and User Acceptance Testing
Once the production system is live it is still important to perform both system testing and user acceptance testing to ensure bugs haven't crept into the repository when moving from the pilot system to the production system. As the repository becomes live and is opened up to a greater user audience, there is a good chance that bugs will be found which may not have been identified in the pilot system.





