QUALITY ASSURANCE IN THE TECH GALAXY

Vincent Onodu
Seamfix Engineering
7 min readJul 29, 2019

The relevance of software technology in the world today is alarming. Be that as it may, it is also a developing product, thus, the possibilities of bugs will definitely exist. This, in turn, proves how relevant Quality Assurance is in relation to software technology.

What exactly do these important terms mean?

Software: Software is a set of instructions, data or programs used to operate computers and execute specific tasks. It is the opposite of hardware, which describes the physical aspects of a computer. Software is a generic term used in referring to applications, scripts and programs that run on a device. Software can be thought of as the variable part of a computer and hardware the invariable part.

Software is often divided into Application Software also known as user downloaded programs that fulfil a want or need, and Systems Software, which includes operating systems and any program that supports application software.

Technology: According to the Oxford dictionary, Technology is defined as the branch of knowledge dealing with engineering or applied sciences.

Software technology: A general term covering the development methods, programming languages, and tools, that may be used in the development of software.

Quality assurance (QA) is a way of preventing mistakes and defects in manufactured products and avoiding problems when delivering products or services to customers — which ISO 9000 defines as “part of quality management focused on providing confidence that quality requirements will be fulfilled”.

Quality assurance has a defined cycle called PDCA cycle or Deming cycle. The phases of this cycle are:

  • Plan
  • Do
  • Check
  • Act

These steps are repeated to ensure that processes followed in the organization are evaluated and improved on a periodic basis. Let’s look into this in detail;

  • Plan — Organizations should plan and establish the process related objectives and determine the processes required to deliver high-quality end products.
  • Do — Development and testing of processes and also “do” changes in the processes.
  • Check — Monitoring of processes, modifying the processes, and checking whether it meets the predetermined objectives.
  • Act — Implement actions that are necessary to achieve improvements in the processes.

An organization must use Quality Assurance to ensure that the product is designed and implemented with correct procedures. This helps to reduce problems and errors, in the final product.

How Useful is Quality Assurance?

There are 5 primary Quality Assurance Functions:

1. Technology transfer: This function involves getting a product design document as well as trial and error data and its evaluation. The documents are distributed, checked and approved

2. Validation: Here validation master plan for the entire system is prepared. Approval of test criteria for validating product and process is set. Resource planning for execution of a validation plan is done.

3. Documentation: This function controls the distribution and archiving of documents. Any change in a document is made by adopting the proper change control procedure. Approval of all types of documents.

4. Assuring Quality of products.

5. Quality improvement plans.

Quality Assurance Testing Automation In The Software Industry

Keeping up an exquisite quality of software entails an immense level of effort, time and patience. Software testing is old, but automation testing is not. Does the latter provide value? If yes, does it mean that manual testing has become redundant? Does it mean that software industries can save millions of hours in future software testing? Let’s go deeper and find out if QA automation is as good as is promised.

What makes up Software Testing?

Robert Morris, a QA director from the University of Pittsburgh, explains that Quality Assurance of a software revolves around three key aspects - time, cost and quality- and one has to ensure that software is tested quickly, thoroughly, and of course, proficiently in order to get the best results.

So how would Quality Assurance Testing Automation fare in these three aspects of software testing?

Before we answer that, let’s answer this…

How is Quality Assurance Testing Automation carried out?

Humans are inherently capable of making mistakes. Consider a tester who is going through a similar kind of testing for the hundredth time, is there a possibility that he might miss out something? Yes, if not a major scenario then maybe a step or two. How a testing framework works is that a QA tester writes a minimal number of scripts to simplify the testing requirements. For example, there is a unit test that a QA guy spends most of his work hours on. It is a repetitive task, a mundane routine with predictable problems? Why not automate the task and let the machine do the job?

Here are 3 ways in which automation helps Quality Assurance;

Automation saves Time

Above anything, a QA tester would like to reduce the time spent on testing and here is exactly where Automation steps in. Consuming much less time than manual testing would. This is highly true for regression testing. For the same regression testing that a manual tester would take days to do, automation does in minutes. Also, the same script can be run over and over again and parallel testing can be carried out.

Cost Saving

Cost is another major element in which automation makes for a win-win situation. The money spent on automation tools is recovered soon with the manual work hours that it frees. For a software company, testing cost has an upward curve due to the growing applications and increasing testing associated with it. Less QA resources are required as automation makes up for all the manual testing work. Moreover, Time is money! The time that is drastically reduced with automation is spent on important manual procedures which ultimately ensure more productivity.

Quality

Machines are more consistent than humans though irreplaceable. Automation testing is a form of documentation as it carries out the activities just as it is supposed to over and over again without any possible deviation. Provided that the scripts are written without any gaps, automation testing speaks quality, consistency, efficiency and reliability.

So, Should QA Automation Be Regarded As The Next Best Thing?

Before it is agreed upon, let’s revisit what testing is. Elisabeth Hendrickson, a QA expert, presents her reservation by saying that Quality Assurance Testing Automation is to check the functionality but checking alone is not all that testing entails. For her, testing means checking the functionality in addition to exploring more ways to find bugs.

Automation does what we expect it to do, to find possible bugs you know of. It is not intelligent and cannot explore more ways to check possible flaws. Its thinking goes as far as you feed it. There is less room for creativity; automated tests are going to look for bugs in the system which you already know of.

So, to all QA testers, do not worry there’s always going to be a need for your human touch to testing- at least for some time before automation becomes more intelligent than us… we hope never.

REALLY, How Great Is QA Automation?

Writing software is not easy nor is testing it flawlessly. So Automation is a real attractive choice for all Quality Assurance testers out there and companies making and distributing software. Not only does it save ample amount of time but also cuts the budgets allocated for testing by resolving issues that may cheat a human eye.

Real Life Scenario

I have been working at Seamfix for two years. Software companies like Seamfix, require a frequent release of new features across their huge line of products. Through my early stages in Seamfix, Test Automation was newly integrated to the system and Test Automation Scripts developed at that moment barely covered 10% of the company’s products. Thus, manual testing was largely adopted for tests. The low rate of product releases was a huge concern and a sad tale because we hardly met our target goals for delivery.

What caused this inadequacy to meet delivery time?

Manual Testing. Glad to say that the application developers in Seamfix do their jobs well to get the products they developed ready in time for testing. Unbelievable as it may sound, the average time for a regression test was 3 days. This was a blocker for efficient release of products. There were some deep thoughts on the actual cause of the problem — with manual testing being the major factor — and then the Automaton team was expanded.

After huge work on developing Change automated scripts for the products in the company, we achieved an 80% growth across all products.

So, Did the 80% affect the time taken in running tests manually?

YES, it did. We (Seamfix) now get products ready for release before the delivery time. This success owes to the huge change and growth in running regression tests from the previous average duration of 3 days to a fantastic average duration time of 30 minutes, Amazing!!!!!!!!!

Saving time is one huge advantage, but is that the only contribution to the success of the company?

i. When we humans work continuously for a long period of time, we are prone to mistakes due to fatigue. Automation defeats this mistake, for it is always accurate. Thus, our rate of bugs found on production reduced massively.

ii. We had a plan to employ more hands to join the department, in order to reduce the workload on the QA department. Plans completely changed after the successful results that automation yielded. No extra hands needed. Thus, it is only right to say that ‘Test Automation saved the company the cost of paying salaries to extra employees’.

Thank you for taking out time to read this. I am a QA tester, and I would love to hear your opinions and suggestions. Please leave your comments below and don’t forget to clap.

--

--