Web software testing consists of multiple steps and focus areas. Each type of software testing is needed to ensure the quality of the visitor experience, security of the website, whether the software meets initial specifications and data integrity.
Today software testing developers and specialists use two testing methods: automated and manual testing. Both methods are popular now, however, specialists trying to use automated testing as much as they can. Automated testing helps specialists to avoid unwanted results like human errors or bugs, reduce the time of testing, and automatically do repeatable tests. However manual testing is still required as some tests are hard to automate like constantly changing and ad-hoc tests.
There are several main software testing categories – functional, performance, security, usability, compatibility, localization testing and usability testing methods. The absence of each one can lead to specific problems being undetected and harming your website.
4 types of software testing your website needs to perform
In this article, we’ll focus on 4 types of software testing that are remarkable because of several disastrous real-life examples stemmed from their absence.
1. Functional website software testing
Functional testing is needed to check if the final product meets the functional requirements charted out in the development documentation. This is a comprehensive testing category that consists of multiple elements:
- Form testing
- HTML and CSS testing
- Business workflow testing (going from one page to another to complete a task, for example)
Functional testing is very often the first part of the process. It happens in the source code, where functional requirements and specs are examined in the context of the system that has been created. Actual system usage has to be simulated, creating conditions similar to the requirements of the common website visitor.
One example of a website that did poorly in terms of realistic functional testing is HealthCare.gov – a US federal government website that was launched in October 2013. The Affordable Care Act necessitated the launch of a platform enabling people to compare health plans, identify subsidies and enroll in different programs.
Problems with the website became apparent immediately. There was a high demand of 250,000 users – five times more than what was anticipated and tested for. As a result, HealthCare.gov was down two hours after the launch. Initially, the high demand was quoted as the main problem. Eventually, it became clear that design and coding errors, as well as incomplete development, were to blame.
Both users and insurers experienced functionality issues. Users reported that drop-down menus were incomplete at the time of the launch. At the same time, insurance companies reported that the inquiries and applications they received featured incomplete or incorrect user data.
It’s easy to see how the absence of effective functional testing could end up costing a lot of money in such scenarios. Because of the importance of meeting functional requirements, this is one of the first and most important kinds of software tests. This is why it’s crucial to automate functional testing in order to ensure that application quality meets users needs without slowing down releases.
2. Performance software testing
A part of the example above crosses over to this kind of test.
Performance testing ensures that a website will perform under all kinds of load. There are multiple testing activities to use for the purpose, the main ones being:
- The website application response time at different connection speeds
- A stress test to see how far the software can be pushed
- Testing for crashes under peak load and how the site will recover
- A test on whether optimization techniques like server-side cache are enabled
High-load performance testing can help to prevent outages in case of a peak load. Ecommerce websites and the visits they get during events like Black Friday provide an excellent example.
In 2014, Best Buy became infamous when its website went down due to the exceptionally high number of Black Friday visitors.
During one of the year’s busiest shopping period, the Best Buy online platform experienced numerous outages, as well as technical issues stemming from the massive audience. The company used its social media to attribute the blackout to exceptionally heavy traffic. As the problem continued on Saturday morning, Best Buy confirmed it had taken the website down to address the technical issues preventing the numerous users from doing a bit of online shopping.
Had the Best Buy team done thorough performance software testing simulating the Black Friday conditions, the costly outage wouldn’t have occurred.
3. Security software testing
The repercussions of poor security software testing protocols can be disastrous.
Whether you run an ecommerce website or a platform that features sensitive visitor information, you have to make sure that the data isn’t vulnerable. Security testing protocols employ multiple activities to accomplish the task:
- Testing secured pages for unauthorized access
- Making sure that sessions are automatically terminated in the event of inactivity
- Checking whether restricted files can be downloaded by someone who doesn’t have the necessary permission
- Making sure that websites featuring security certificates redirect visitors to encrypted pages
There are multiple examples out there of massive security software testing failures.
The Equifax data breach is probably the most notable example with the biggest repercussions.
In September 2017, the US-based credit reporting company had the information of 143 million users in its database breached. The hackers stole social security numbers, credit card credentials, driver’s license information and other types of sensitive information found within the Equifax database. Apart from getting information about US customers, the hackers also stole data of the UK and Canada-based Equifax clients.
The worst part of it all is that, according to experts, the Equifax breach was preventable. Equifax took six weeks to provide information about the breach. Even the website created to answer common questions featured numerous vulnerabilities, suggesting a systematic security testing failure within the organization.
In addition, analysts said that the hack was a relatively easy one to perform. The hackers used a vulnerability in the Apache Struts web-application used by Equifax. This vulnerability could have been eliminated through a simple update.
4. Localization software testing
The final software testing to highlight today is localization testing. In this case, the software is expected to adapt to the audience that will be viewing it. It should support a particular language, display settings and accept a specific type of input. Once the locale is defined and set, the software is expected to work properly for the specific configuration.
As brands are beginning to reach bigger international audiences, the importance of localization testing is growing. The Asos website provides an excellent example of effective localization testing. Once it detects the user’s IP, the website suggests shipping to the respective country and it also displays the prices in the local currency.
The same applies to Airbnb – the global accommodation giant that offers a similar to Asos experience to its global audience.
On the other hand, there are dozens of examples out there of localization testing gone awfully wrong. Overstock did something terribly wrong when launching its Romanian website. While the prices appeared in the local currency, category names and product descriptions remained written in English. Romania does have a significant percentage of the population that doesn’t speak English and this mistake contributed to a poor user experience. Obviously, effective localization testing would have prevented the issue.
Gilt Groupe committed a similar mistake when launching on the Japanese market and keeping a large portion of the content in English.
On a final note
Effective software testing matters because it can prevent costly downtime and user dissatisfaction. Even if you’re about to launch a simple web-based project, it’s still imperative to make sure that all aspects of the system meet specifications, they perform in unexpected circumstances and are protected against security breaches.
In case you don’t have an internal QA team qualified in all the software testing categories described above, consider A1QA as a viable alternative to in-house software testing.