DBA Garden

Friday, March 20, 2009

User Acceptance Testing (UAT)

What Is UAT, And Why Do It?

The question of what User Acceptance Testing (UAT) is and why as a business user are you interested in it, becomes very important as you reach a stage of having a piece of software delivered to you. The system is claimed to give you major benefits, your team is already stretched running your organisation, and you can ill afford to use their time on something that may be a waste of it. So why bother?

What Is User Acceptance Testing?

The explanation of UAT is actually in its name. Taking each part separately explains what it is about.

User

Users means the real business users, who will have to operate the system; normally the staff of an organisation, but it could be your suppliers or customers. They are the only people who understand exactly what the business is, and how it operates. Therefore they are the only people qualified to check a system to see if it will deliver any benefit to the business or organisation. System developers cannot do it, as although they are expert in writing software, they are unlikely to know anything about the realities of running the organisation, other then what they have acquired from requirements specifications, and similar documents. In addition they have been closely involved in the design compromises that always take place when a system is being developed, and so have a commitment to the system as it is.

Acceptance

The acceptance of a system means you are confident it will give benefit to the organisation. It does not mean that it only meets the original specification as requested. A system may very well meet all the specifications asked of it, but when trying to see how it will work in the business it is realised that it will not give anything positive to the organisation, or may even damage the organisation. This may be for a number of reasons such as a change in the business or business environment, such as a takeover. The point is that a system may not be acceptable, even if it meets specification. You may still have to pay the supplier, but you will not incur any costs to implement it. Of course it may not even work to specification, which makes the question of acceptance even harder to answer. There are cases where it is worth implementing and paying for systems, which are imperfect, but that deliver real business value.

Testing

Whenever people are asked what testing is, many of them say it is to prove the system works. This is the key problem with the way UAT is employed in many organisations, as it is impossible to prove any system is correct. In fact a lot of effort is expended, and wasted, in trying to get right answers. There is much literature on the subject of testing, and most writers agree that all you can prove is if a system is wrong. Therefore a good test is one that is designed to try and make a system fail, so as to expose its faults before it goes live. This type of testing is the only type worth doing.

UAT

Bringing the three words together shows that the point of UAT is for business users to try and make a system fail, taking into account the real organisation it will be working in. It is checking the system in the context of the business environment it will operate in.

Why Do User Acceptance Testing?

The short answer is to protect the organisation from harm. Any changes in a business, and especially installing new computer systems, expose it to many risks including:

Reputation Risk: This is where external people such as customers, suppliers, or legal authorities perceive there is a problem with the organisation, and decide not to use it, or in the case of legal authorities, give it more scrutiny then they have before.

Legal Risk: It is possible that the system could break laws, leaving you open to legal proceedings.

Time Risk: The system may not meet key business deadlines. This is definitely something you would want to discover in testing and not when a system goes live.

Resource Risk: If a system does not properly integrate with your organisation, a lot of resource may be expended in working around the system; adding cost, but no value.

Therefore the main reason for UAT is to find out what a system will do to your organisation before you implement it. Then make the decision based on the evidence presented by the testing.

User Acceptance Testing is Important!

Even though people in your organisation are busy, you must free them up to conduct proper tests on a new system. Then a decision can be taken about the implementation. Even though this is expensive, it is nothing like the costs of installing a system which damages your organisation.

Thursday, March 5, 2009

Project E2: AFCAS

Initiator: Paul

Documentations:


Monday, February 23, 2009

Project E1: Database setup requirements

Initiator: Lilian

Documentations:

Scope of Work for Outsourced DB Admin

Sentinel DR Setup

XXXXX currently uses a Security Incident and Event Management (SIEM) Tool called Sentinel by Novell Inc. It collects event log data from various sources into a centralized database for normalization, aggregation and correlation. The storage of these event logs are in a Database. In order to provide 24x7 monitoring, a DR plan has to be in place.

This is our proposed architecture for the DR setup.



Scope of work:
- To review the proposed architecture and determine the feasibility of such a design. If it is not feasible, to provide an alternative design.
- Scope out the required man-hours and the estimated time to completion
- Provide details on the dependencies for such a design to work along with the pros and cons (as far as experience allows)
- Implement the design, document the installation/setup procedure and provide a guide on maintenance.
- Ensure the system passes the User Acceptance Test.
- Provide support on an ad-hoc basis after project handover.

Hardware type:
Dell PowerEdge Servers. The exact models have not been identified and recommendations from the DB Admin can be considered.

OS version:
Microsoft Server 2003 64-bit Edition

MS SQL server version:
Microsoft SQL Server 2005

Availability server of license:
To be provided by Extol

How many servers to be worked on:
As of the moment, only the 2 servers. One in our current data center and another in the DR site. We do not plan to have any more than that unless an alternative design supplied by the DBA requires it.

Are the servers clustered (if more than 1):
Yes, but they may have to be clustered over the Internet. We do not know if this is possible so some advice on this will be much appreciated.

Location of work:
The XXXXX DB will be located at our server room in UOA. The XXXXX DR DB will be located in a datacenter Brickfields.

Proposed pay rate for the DBA:
Our common rates are RM2000 per man-day. As the DBA already has a full time job, we can work out an hourly rate of RM250 (that is RM2000 divided by 8).