Recent example of HDFC bank down time shows us how much Availability testing is important.
This recent incident make me write this blog on Availability Testing Vs Customer Satisfaction.
Before focusing on actual topic, let’s understand below Availability Testing definition from google.
Availability Testing which is also called Durability Testing is a kind of performance testing in which the application runs for a set period of time and collects failure events and repair times, and compares the availability percentage to the service level agreement.
Do all software testing projects considers Availability Testing in Test planning? Or these are just buzz words.
We heard about Performance testing, Load Testing and Stress Testing. But Availability, Reliability are the words which are highly used in all over different industry.
In IT industry specific to software applications not wrongly to say Availability is defined in terms of SLA’s.
Is it possible to do measurement of Application Availability for the project which has total span of Six months including Software Testing?
Yes, do the extent we can achieve it. When project is in Testing phase, we can perform repeated Performance Testing, Load and Stress Testing to identify failures and potential performance and availability issues. But still there are limitations as there are few issues which might not occur quickly but over a period of time.
Focused testing related to Memory leakage, Limited RAM issues, Storage issues etc.
Some areas to consider while testing Hardware Failure issues, Power back up failure issues. Disaster recovery etc.
What can be done for the issues, which can not be identified while testing?
- Placing technically strong engineering team for Support for quick resolution.
- Provide alternatives to user till issue gets resolved.
- Ready back up planes for each identified issue.
- Add self healing capabilities in application if errors are not due to logic issue. (Good scope for Artificial Intelligence)
- System should have capability to raise Red flag/ Notifications whenever something goes wrong. So that engineers can proactively respond before even end user aware of it.
- So that end user will never aware about such issues and seamlessly use the application without any interruption.
Do Availability Testing is really possible to give confidence to customer that application is available and reliable?
Yes, if we consider all above parameters in Testing and after testing.
Does all applications/softwares should be available for 24/7?
It is not necessary that all the applications should be available 24/7. That is the reason software maintenance team signs Service Level Agreement (also called as SLA) with client.
Not full filling SLA can levi huge fine on software maintenance company.
Let’s understand with example, Banking Application can be unavailable 2 hours on weekly basis in the midnight to do important maintenance and during this time end user will have limited access and should be able to do payments.
What would be the consequences, if Availability testing has not been considered?
- Business loss
- Customer dissatisfaction
- Loosing customer trust
- Fraud (Taking advantage of system unavailability)
- Poor customer support
- Issues on client faith
- Monetary loss
- Loss of brand image
Application Availability directly impacts customer trust on Organisation.
Higher the Availability higher the customer trust which leads more business.
If you like this blog spread the word!