Why Quality Assurance Testing is Important in Web Development
It's All About Perception
One of the first real lessons I learned in business is this formula: Perception + Facts = Reality. Perception being underlined.
You can apply this formula to almost anything – Business, politics, relationships, and, in this case, web development. It is a simple truth that if you make a web site that has bugs in it, doesn’t work properly, has glaring spelling and grammatical errors, your audience on the internet will take the perception that 1) you really don’t care about your business, 2) you’re incompetent and hire incompetents, and 3) your products or your services are something that should not be bought.
Now, whether or not this is true remains to be seen. Your company could be very well financed. Your stone and mason shop could have profits that go through the roof, but that won’t stop your online audience from thinking that it’s run by a bunch of lucky baboons.
When business is done online, the company’s face is its website.
A well done, bug free, intuitive website that is tastefully made and well marketed is a thing of beauty indeed. The only thing from stopping you from being successful is a good product and getting people to know that your site is out there. But all that will be for nothing if you have one extremely irritating bug or process that will not only frustrate the user, but drive him away permanently. If you’re lucky, he’ll call or contact you through your “Contact us” page – and that will cost you money because you don’t want to have pay another person to do what your website should be doing automatically.
How do you get past this problem? Through Quality Assurance Testing.
Test? I Didn’t Even Study.
Just to let you know, I’ve worked the gambit with the website production process. I’ve done everything except complex coding. I’ve been a website designer, a content writer, a project manager, and I’ve been a QA (Quality Assurance) tester. All the jobs are important, but only QA is the one that is most often ignored at the site owner’s peril.
When a website is put together, it is done with a specific purpose. At minimum, it will either be a presence to tell the world about the widgets it’s currently making or about the services that the company provides. Other sites will actually be made to conduct business. These are called eCommerce sites. They will not only give the user information about the product and service but they will also be able to handle transactions through an SSL (Secure) connection. When a company does this they are able to make money without having a physical person at a virtual cash register or an operator ready to take your order. It’s all done through the code.
But what happens if that code doesn’t do what it’s supposed to do? What happens if the site doesn’t render properly across different browsers? What happens if the coder mixed two incompatible technologies that aren’t playing nicely together in a popular browser?
Things go wrong. Money is lost. A bad perception of the company is made and the website’s company may lose customers.
All of this could have been prevented by testing the website to see if it worked. Enter the QA Tester.
Who is the QA Tester?
The QA Tester is no one’s friend.
It is his job to find and expose problems with the site. He needs to show what’s wrong. He is not responsible for correcting the problems (he may suggest a resolution, but it’s not required). He needs to insure that the site does what it’s supposed to and to ferret out any vulnerabilities.
He represents the site and the business. He is there to insure that the website fulfills the requirements set forth when the customer asked for them. He will also go beyond what the customer asked for with some given assumptions. The assumptions are that the site has properly spelled content that is grammatically correct. This content should have been gone through by a proofreader and that the content that the tester is given is final.
In a perfect world, the QA Tester would have nothing to do. The code would have been tested by the developer and everything would work in every type of browser because the developer checked it before QA got to see it.
That never is the case.
Based on the requirements of the website, the QA Tester will have made what he calls a test plan and a test script. The QA test plan will be a document that describes the approach the tester will take when he tests the site, what type of environment he’ll test in, and what tools he may or may not use. These include any kind of automated test tools that will assist him in what he called “regression testing” (testing stuff that was tested a second time after bugs were found to insure that none of the core code was corrupted).
At minimum, he will do what’s called “black box” testing. This means that he is testing the site as a user would use the site. He will employ both positive tests and negative tests. A positive test is testing the site for an expected reaction – that under the usual conditions that the site does its job. A negative test is testing that the site doesn’t do anything that it’s not supposed to do.
Yes, I know, that’s a lot of double negatives.
For example, a negative test is when the website has a textbox that asks the user to type in “Yes” or “No” and the tester types in a “Q”. The developer will ask the tester why he did that and the tester will say, “Because I could.” The message being, the developer must keep the user from doing things that would make the code act in a way that would cause problems.
He will also perform functions that will either cause errors and note if the site is handling them properly. This is called “error handling”.
There are a plethora of tests that the tester runs, but I won’t go into them here. You should just know that at minimum, he will have tests that will anticipate what the user may do.
Software Testing in Amazon
When the tester finishes his first round of testing, he will create a bug list based on his test script. This is a report that will show what the tester did, what the tester had expected to find, and what actually happened. Each of the bugs, errors, or issues will be tied to the requirement that the client requested with a severity of the problem the tester encountered.
For example, most testers work with a five point severity level scale. They range from Severity 1 (most urgent and problematic) to a Severity 5 (an issue that can be addressed in some later release).
A Severity 1 issue is particularly important because the tester has done something that has made the website crash. If there is no work around with this and the tester can no longer continue the product will not be released. This problem has to be addressed immediately.
A Severity 2 issue is important because it is almost as bad as a Severity 1 but there IS a work around and can be overwritten with a business override to get the site released. It’s like the business saying, “Yes, we know there’s a problem but we’re willing to take responsibility for it ‘warts and all’.” This must be signed off by the client and the business.
A Severity 3 is a garden variety bug or issue. There’s a problem. It isn’t a show stopper, but it really should be addressed. A click or two in the wrong place and the wrong page comes up – things like that. They should be taken care of.
A Severity 4 is an issue but it’s less severe. There is a probability that this error may not be addressed in this release – especially if there is a deadline and it may be addressed in a software patch.
A Severity 5 is simply an enhancement. The client saw something that he thought would work better or more efficient. These are almost never addressed in an immediate release and will be noted for the next one.
When we look at how we do business today and everything that can go wrong with a website, we really need to have a safeguard like a QA tester to make the client cognizant of what they are putting into production.
The perception of a business that either does not care for its client is unforgivable and verboten in this day and age. Why? Competition. If the site provider has made a process so ugly, tedious, and cumbersome that it frustrates the customer to no end, he won’t buy the product. Or he will buy one unit of it and then work to see if there is someone better out there.
The issue is that perception matters and that QA is the one reliable force that a web production team has in keeping everyone honest.