What does QA bring to market?

Most students are wondering when they are starting learning the basics of software testing is what can they do with it? Why do we need testing and how can testing improve the quality of a product?


Well there are multiple reasons why we need testing, but I will start with the most important one. 


Testing has the advantage of objectivity  when it comes to the software under test. Why? 


Well think about the last time you created something with your own hands. Wether it was a piece of code, a drawing, some food you cooked, but you probably thought it was great. But then when someone else provided a feedback you received a lot of things to be corrected, and you melted down. Well in this case you must know that there is no shame in doing mistakes, because mistakes are human and one should not be put to the wall for not being able to take into account all that needs to be taken into account.


In testing, the concept of error is one of the first things that a software tester learns. There are three main concepts that revolve around the problems that can appear in a software product: error (a mistake a human being can do), defect (a problem that might exist at some point in a testware, being wither code, requirements, environment issues etc) and failure (a problem that is visible to the end user when a code containing a defect is executed).


Based on the fact that people are fallible and subjective with things that came out of their own creativity, the software testing industry developed a concept called tester independence, which is the degree of objectivity that a person have towards the product under test. 


    There are four levels of objectivity:

   - Developers testing their own code (the least desirable situation)

   - Developers testing the code of a colleague (a bit better but still not desirable)

   - Independent testing teams in the same organisation testing the code (the most common situation)

   - Independent testing teams in a different organisation (usually contracting/consultancy companies distributing employees to their customer's headquarters for one time projects)



Independent Testing



Another reason for dedicating time and money to a qualified testing team is the fact that the product that we develop is of utmost importance to the customer. The quality of a software project dictates the reputation of a company and its position on the market. So it is only logic to want to deliver quality software, since the reputation of the customer is also our reputation.


Of course beside the quality dictated by the way the product works, we can also talk about the quality dictated by how safe the product is. We all talk about data privacy, data breaches and and personal information. All these can be guaranteed by what is called software security. If you think that cybersecurity is not an issue, take a look at this article here. I will post below a few of the statistics that are available for the hacking "industry":




world-map

Hacking statistics in 2021

  • - There is a hacker attack every 39 seconds.
  • - Russian hackers are the fastest.
  • - 300,000 new malware is created every day.
  • - Multi-factor authentication and encryption are the biggest hacker obstacles.
  • - You can become an American citizen for $6,000.
  • - The average cost of data breaches will be about 150 million in 2020.
  • -The cybersecurity budget in the US is $14.98 billion

Taking this into account, I think security testing seems to have more importance, isn't it?

From the security perspective, I want to tell you two stories that happened to me personally.

 

Hacker used social engineering to get me pay money for my data privacy


Some time ago I received an email in the inbox of my personal blog, stating that they have corrupted all my devices and if I do not deliver $1500 to a bitcoint account in. the next two days, they will collect all my personal data including people I talked to, messages I sent, sites I visited, and including work-related data and breach it online.

Initially my first reaction was to panic. This kind of breach could have gotten me easily fired. But then I tried to think clearly and realised that it was all a scam to take my money, since the message was sent in my blog inbox (which was public and easily accessible to anyone) and not to my private inbox (which is only available in a few places).


So I took the risk of ignoring the email, and it seems it was a good decision, since nothing was breached and I still have my data intact. But it was a really scary experience to go through this. Since then. I have invested in a good antivirus so that I can make sure I will not go through this again, this time for real. 



hacking
This is an Alert

Another experience about cybersecurity was the one that I was told by a friend of mine. She was working in an e-commerce developing company, and at some point someone broke into and blocked all the activity on the site (this means that no new orders could be done, leading to financial losses). The reward for releasing the system was $1500 (I hope I remember correctly the amount, although it is irrelevant). Luckily they had very good administration people who managed to move the system into an alternative environment in which they started to operate again.

So cybersecurity is definitely an area where we want to allocate qualified software testers to avoid situations in which we can lose a lot of things.



I think there are lots of reasons why software testing is necessary. Need I go on? I think I made my point, and I hope I convinced you why software quality is an important point to be taking into account.

What do you think it is an important reason to invest in software testing?