Recently, the world is constantly talking about programmers/programming, etc. and we concentrate on their work only but here comes the problem….
Why do we forget about software testers and their significant part in the quality of the software product?
So, what is software testing?
It is the process of executing a system with the intent of finding bugs and defects. In other words, the process that provides quality to the specific software product.
And as we are talking about testing here comes the other question:
What is quality? It is “the degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.” – definition by ISTQB.
There are six dimensions of quality:
- Functionality
- Usability
- Reliability
- Efficiency
- Portability
- Maintainability
The software testing process is conducted as a life cycle called STLC – Software Testing Life Cycle and executes in a systemic and planned manner to improve the quality of the product.
STLS consists of:
The four levels of testing are as follows:
There are numerous types of testing based on many classifications (based on the scope of testing, objective, the technique used, etc.)
Such as:
- Black, White, Grey Box testing
- Functional and Non-functional testing
- Smoke, Sanity and Regression testing
- Positive and Negative testing
- Front-end and Back-end testing
- Manual and Automation testing
Many people perceive testing, quality control, and quality assurance as to the same things… but is that true?
The answer is no.
Quality control focuses on testing by executing the software with intend to identify the bug or the defect through the implementation of procedures and processes.
On the other hand, quality assurance focuses on the processes rather than the testing part of the system.
It can be said that the responsibility of quality assurance is the prevention of bugs rather than detection!
I have used many times the term bug/defect and maybe you ask yourself what is it indeed?
It is a flaw in the system that can cause a system failure and inability to perform the required function of that component. It is a deviation of the actual result from the expected one.
There are various tools with bug-tracking capabilities such as Jira, Redmine, Bugzilla used by software testers.
Here are myths vs. facts about testing:
Myth: Software quality depends on how well we test the software
Fact: Software quality depends on how well we create the software
Myth: The main objective of testing is to improve quality
Fact: The main objective of testing is to prevent risk by identifying potential problems as early as possible.
Myth: The best tester is the one who’s found most defects
Fact: The best tester is the one who finds ways to prevent defects in the first place.
Sources:
ISTQB glossary
https://www.testim.io/blog/software-testing-basics/
Software testing course Softacademy, Bulgaria