The final test phase is the acceptance testing involving,
User Acceptance Testing (UAT)
Operational Acceptance Testing (OAT)
Production Acceptance Testing (PAT)
These three acceptance tests are done in the final stages of a Citrix project before handing the system over to the customer. They prove that the Citrix environment is usable and built to the required standards and operates as expected.
In conjunction with Functional and Non-Functional testing, acceptance testing can provide reassurance about the usability and stability of a Citrix system.
Acceptance testing is generally considered the last great hurdle for many projects before final sign off is completed and the system allowed to go into a 'live' state. Once this signoff has been completed many assume the system is stable and acceptable for use in a 'live' environment. However,
I feel that a system is only acceptable for a 'live' state after it has also been subject to other forms of testing conducted during the test phases of the project. By doing too little testing around the functional and non functional areas could create problems in the system later on in it's productive life.
I believe it would be foolhardy to solely rely on acceptance testing as the only form of testing that any Citrix project should conduct. As I stated on my home page, no car manufacturer or any other manufacturer for that fact would rely on acceptance testing as their only form of testing.
Likewise we must adopt the same principle of including other forms of testing in our overall test strategy. This will allow us to be better placed when the system goes into a 'live' state and help us avoid the embarrassment associated with projects going 'pear shaped' after just successful acceptance testing.
I always view acceptance testing as positive testing, concerned only with putting the ticks in the right boxes and then giving yourself a pat on the back, for a job well done.
Positive testing looks at how things are expected to be in a typical 'live' environment. It's like painting a rosy picture where everything is fine, however in the real environment, things can be much more gloomier.
Any professional tester is all too wary of positive testing not being satisfactory enough to determine a product or services effectiveness. That's why testers spend so much time doing the opposite, negative testing to ensure that as many of the angles are covered.
It is impossible to completely eliminate risk but you can reduce the level of risk by taking appropriate measures such as incorporating testing which includes negative elements.
Why just test to see if a user uses app properly when should be seeing if use badly?
Good test strategy will not only included what's expected from a Citrix system but will also introduce the unexpected to make sure the Citrix system can cope or is made to cope, so the 'unexpected' doesn't bring your system to it's knees when it's being used by many users.
Operational Acceptance Testing looks at how the system will operate under certain conditions, so if there's a hard disk fault, is the mirroring effective?
Production acceptance testing (PAT) is the next step after completing the OAT phase. Whilst OAT looks at whether operating procedures are working, PAT looks at whether everything is in place for the environment to be supported and go 'live'.
User Acceptance Testing assesses whether the system is acceptable to use by the users and works as expected for them.