Software Quality Control: How It Affects Businesses

Software Quality Control: How It Affects Businesses

Quality Control has been around food and pharmaceutical industries for long enough. Nowadays they do not have to justify the quality control processes to senior management at all. They know that a single bad product that came out the production line could make them out of the business. There are no discrepancy about the importance of QC in their organizations. However when it comes to computer software related products, it could take so much time and effort to justify, communicate processes and essentials of software quality control to an organization and, especially, its management. Eight years ago, in Thailand, software testing unit is not considered as a profit center but rather a costly and time-consuming processes. There were no enough structures, templates, frameworks, statistics and resources to make software-enabled organization realized how software quality control was all about and what is the benefits. Then came Y2K. The three-letter yet powerful word had deliriously introduced fear of software failures and even glorified it vividly. Medias were asking experts what if the power grid software controller failed, what would happen at the minute of the clock flicked from 99 to 00, would my bank account went totally zero? and whatnot. Suddenly businesses did not need any justification why should not they had their system tested for Y2K compatibility.

Business Justification and Types of Software Testing

Imagine that you run a software development company, it merely takes no justification at all why you should not commence software testing before releasing it to customers. It is easy because you are selling software and it is your bread-and-butter. You make sure you delivery the right and excellent software as much as possible. However, it is a different scenario in other businesses. If you are in airline business, should your company online booking systems get checked regularly? How do you feel that in fact many people get lost during the ticket purchasing due to bad user interfaces and they went to another airline instead? This type of attention-to-detail is called Usability Test in software testing methodology. And it begins to matter to a lot to competitive budget airlines. There are certainly many types of software testing and it is very important to you and your business when you are in charge of software testing initiative in your organization because at the end you must have a really valid justification. It is also important to know what to test at any given time as well because you cannot test every things in an application. To benchmark you system against user activities called Load Testing where a test engineer generates simulated virtual users impose as real users and make various inquiries to an application and capture system’s status when it begins to break. It is always good to know how many users your application can handle. It helps you to plan for system upgrade as well. Latency Testing is to identify bottle-neck of responses among users and systems. Some companies use latency testing to identify if the company needs to buy more bandwidth for the Internet in order to improve customers’ online experience and satisfaction. Some online businesses has its web application tested against different web browsers e.g. Internet Explorer, Firefox, Safari. This is Compatibility Test. Banks are definitely interested in Security Test while as many transactions happen online. Remember that when introducing software testing to your organization you must address types of software testing in a clear, structural objectives. Knowing what area you would like to test helps you to define scope, estimate effort and budget even choosing the right tools to commence a test.

Test Outsourcing

These days many businesses are run on software. They use computers to keep records of customers. They installed ERP system to create liquidity of the workflow. They have CRM to make sure that all customers inquires are well handled. However all these companies have minimal resources and understand how to manage software testing process effectively. They know risks to their businesses opportunity in case of software failure but still they don’t know how to begin to audit their running software after it is deployed. This problem was around since Y2K issue as well. The solution to many businesses was to outsource it. They realized that was much cheaper and more effective to let someone, on-shore or off-shore, to do it as they don’t have all the resources and expertise.

Why Vendor User Acceptance Test Is Not Enough?

Many companies have never had their system evaluated again since the day of vendor UAT get signed. This little idiosyncrasy some times leads to many business threats. UAT, by its nature, is conducted when the system is fresh. UAT is designed and steered by software vendors’ own perspective while the test data and usability are totally different in the real world when it is lived. That is why you should establish a regular test procedures to ensure your business continuity. Software patching should always require another round, but smaller set, of Qualification Test to ensure application functionalities.

The Unbiased Test Company

When a company or government purchase a software system then they have to go through all those acceptance tests before the system goes live and another big check to the vendor if it passes. But who actually performs those tests anyway? Is it an engineer from customer site or is it an engineer from the vendor? The problem is that most of the time all UAT test cases are written by software vendors and they are executed by vendor engineers who knows specifically what to test and, probably, what not to test. Nowadays a developed-country government like Singapore, they are not performing software testing by their own anymore and they does not allow vendors to test their own application UAT either. They eventually hire a third-party, unbiased test agency to perform such test to enforce transparency. To ensure that the test agency is not influence by any software vendors. Moreover hiring this third-party to test your application is more likely that it will discover more software defects than tested by the vendors or government staff. Because finding software bugs is the agency’s profit center. And because they have experience and expertise so they test more effectively and efficiently. And because they have test tools. And because they are not influenced by the software vendors.


10.08.07