The views of what encompasses software User Acceptance Testing (UAT) within various business units and roles differs greatly. UAT tends to get ‘bogged down’ in debates about scope and purpose if a common shared understanding between all stakeholders doesn’t exist. If managed correctly, the UAT process is usually extremely beneficial for all stakeholders.
The aim of this article is not to be detailed and prescriptive in nature but rather created a broad and common high-level understanding of the topic for all roles involved in software distribution and development. The article is brief in order to encourage wide readership.
What is User Acceptance Testing?
User acceptance testing (UAT) is about the user of the Configuration Item (i.e. software or hardware) testing whether the Configuration Item (CI) addresses the business requirements as documented to be met by the CI. Per the SDLC figure below, UAT (part of Acceptance Testing) tests against the Business Requirements.
UAT is also a significant indication as to whether the CI transition from one team to another is ready to occur e.g. from a vendor or project to a support team, and is therefore performed after all other testing has occurred.
What UAT is Not
UAT is not about communicating new wants and needs nor about testing against new expectations and requirements. All requirements of the CI should be documented and agreed during the Business Requirements stage. It is important that testers and other stakeholders are aware that UAT is testing against the documented business requirements.
The UAT Process
UAT is a formal and defined process as illustrated in the figure of the example acceptance testing process below.
Of specific importance is that, should certain test results differ from the expected result, the means of determining the priority and actions to occur for deviations should be defined in the test strategy or test plan. In other words, a deviation from expectation for any test does not necessarily mean that the test is a ‘failure’ or that it doesn’t meet the business objectives.
UAT Benefits
UAT is time-consuming however the benefits of UAT significantly outweigh the ‘costs’. Benefits of UAT include:
Improved defining of business requirements (through knowledge that requirements will be tested).
Improved solution quality (as developers, configurers etc.) are aware that users will test.
Improved communication with users as developers, configurers etc. need to meet requirements.
No ‘last minute’ requirements as UAT is performed against business requirements.
Users experience the solution prior to ‘go-live’
Handover into support of the solution is formalised and defined
Etc.
Glossary of UAT Terms
Below are a few terms related to UAT and their explanations:
Test Cases: A set of input values, execution preconditions, expected results and execution postconditions, developed for a particular objective or test condition, such as to exercise a particular program path or to verify compliance with a specific requirement.
Test Plan: This is a detailed plan of how the UAT will be performed. This document is more detailed than the Test Strategy and more specific to the UAT for the CI to be tested.
Test Script: A document specifying a sequence of actions for the execution of a test. A test script will usually contain numerous Test Cases.
Test Strategy: The test strategy is usually a document detailing all testing to be performed on the CI (e.g. Unit Testing, System Testing, Integration Testing, UAT etc.) and how and who will perform the testing.
Learning Management Systems (also termed Course Management Systems (CMS) learning content management systems (LCMSs) and sometimes Corporate Learning Systems (CLS)) have significantly enhanced learning capabilities within educational institutions (universities, schools, training providers etc.) as well as within individual organizations (government departments, businesses etc.). LMS solutions are becoming more attractive to organizations through enhanced features and reliability as well as reducing costs, in particular as a result of significant improvements in Open Source LMS products.
LMS Categories and Considerations
Learning Management Systems (LMS) are available in two broad categories; Open Source (and free) and paid-for (propriety). LMS could be categorised in a number of other ways such as by the market they serve (universities, private colleges etc.), by capability or any other means. Implementing a LMS takes considerable effort therefore it is essential to clearly identify the ‘business’ needs of the organization prior to selecting a LMS to implement i.e. what educational and/or training needs is the organization wanting to address by implementing a LMS?
It has already been mentioned that implementing a LMS is a significant task. The needs analysis, configuration (and possibly customization), training and ongoing support (among other tasks) all take time and effort and subsequently money. In general LMS are very powerful and competent Tools capable of fulfilling way more needs than the average organization will require. The time and effort required in configuring the software to meet the needs of the organization as well as the training in, and administering of, the software should not be underestimated. The effort (and related expense) in implementing and using a LMS however offers significant competitive and economic advantages to organizations and the Return on Investment (ROI) on a well implemented LMS is generally very favourable. LMS are not implement and forget solutions (such as Microsoft Word) however a well implemented, configured and managed solution generally proves hugely beneficial to organizations providing and managing learning and training (including large corporate, government departments, Registered Training Organizations (RTO), individual trainers, Online training providers and so on).
LMS Products
So what are the choices in relation to Learning Management Systems (the below are not LMS reviews but rather some information about a few of the LMS solutions available)?
Free (all Open Source)
Most of the Open Source Systems are based on Apache, PHP and MYSQL making installation simple and inexpensive (or free). The software for each LMS is free to download, install, use and update and all have comprehensive free documentation and forums.
University of Oxford, The University of Auckland (New Zealand), Hong Kong University of Science and Technology, University of Winnipeg, University of Rhode Island
Free for Educational Use. Based on Java Platform.
Created and developed by an alliance of mostly educational institutions.
Paid-for
Most of the ‘paid-for’ LMS solutions are based on Microsoft .NET and/or Java technologies. Some of the more widely used paid-for LMS Solutions are:
Harvard Kennedy School of Government, South Cheshire College, King Saud University
Relative newcomer with version 1 being released in 2008.
Integrated with Microsoft Office SharePoint Server 2007 platform and Microsoft Office Communication Server 2007.
Which LMS to get
There are valid reasons for organizations to use paid-for LMS Solutions such as licensing agreements with related products, specific integration requirements and so on. For most organizations however the free solutions will offer everything the paid-for alternatives offer (and often more) with all the benefits at a lower cost. The days of limited support, usability and functionality of Open Source software is over in terms of the good Open Source alternatives (the University of Canterbury published an interesting LMS review based on their trial of Moodle and Blackboard LMS solutions).
Which particular Learning Management System to implement and use however is dependent on each organizations requirements matched to the solutions capabilities and constraints. My current favourites are Moodle and ILIAS for their extensive capabilities, reliability, Online documentation and resources and generally lower Total Cost of Ownership (TOC).
Malcolm Gladwell is a fantastic author and I have been reading the Tipping Point where he discusses what creates a sudden and large change in people’s activities. One of the recommendations Gladwell offers is to create ‘stickiness’ where the provider creates a product or service which consumers perceive as preferable to an alternative (Gladwell illustrates this ‘stickiness’ using the example of the television success of Sesame Street and all the research that went into creating ‘stickiness’). Of course ‘stickiness’ is nothing new (think competitive advantage, ‘first mover advantage’ etc.) however its importance and the benefits thereof are significant and Gladwell does a good job of demonstrating the importance of it even although the relevant chapter of the book is a bit long-winded.
So where may we find an example of a company creating ‘stickiness’? In my view, price/cost may be an influencing factor on ‘stickiness’ however does not itself create the sticky factor (Michael Porter, the management guru, described that having a competitive advantage based on price/cost alone is extremely difficult to sustain as a price/cost advantage is relatively simple for a competitor to imitate and the switching costs for consumers remain low when based on price alone). ‘Stickiness’ therefore relates to quality or features. And this is where there is a company in Australia which is exceeding …
Provision of ADSL (Broadband) to homes is a very standard product, especially here is Australia where almost all ADSL uses common copper cables and some infrastructure managed by Telstra. Price and service are therefore two of the major sources of competitive advantage for ADSL providers. It has already been discussed that price/cost isn’t good in creating sustainable competitive advantage so service remains as the key to ‘stickiness’. The ADSL market is extremely crowded (a Google search for ‘ADSL provider sydney’ returns 1,140,000 results) so even average service from ADSL providers won’t suffice; excellence is therefore called for to gain and maintain a ‘stickiness’ where consumers have no desire to move to an alternate ADSL provider.
I believe I have found a company which is leading the way is creating ‘stickiness’ in the very competitive Broadband market. I have used Internode for a few years now and on the very few occasions I have needed to call them for support my expectations have been exceeded. To illustrate how this service excellence relates to sales consider that I was using Skype with Philips VOIP321 phones and needed new phones. Because of the continuous great service from Internode my first call for new phones was to Internode with whom I signed up for their NodePhone VOIP service and purchased two Siemens Gigaset C470 IP phones.
Unfortunately after installing the new phones (which Internode had configured for me before shipping them to me) I was getting the error message ‘Provider registration failed’ on the handset after making a call. I noticed, after a Google search, that other C470 IP phone users with various VOIP providers (including Internode) were getting the same error. I therefore called Internode support and this is where Internode absolutely exceeds:
A call back from Internode technical support resulted in the technician remotely connecting to my modem/router and changing various settings for me which resolved the VOIP problems. Now my Siemens phones and NodePhone VOIP work fine.
There are two aspects of this service which I believe create the ‘stickiness’ factor for Internode:
The problem wasn’t with Internode nor VOIP but rather my router/modem setup with which the technician assisted even although he had no obligation to assist.
The technician focused on the problem at hand and resolved the error as expediently as possible (whilst being totally professional).
There are many ADSL and VOIP providers and some are less costly than Internode. Internode however deserves even further success through its focus on service quality which creates a ‘stickiness’ which makes them the ADSL, VOIP and related product provider of choice.