What is Software Testing? Why is so important and why a lot of people think it’s the only activity?
This question I’ll provide the answer today.
Software Testing is the process during which the software achieves a high level of quality and decreases the level of risk, which could make as a software failure.
The main goals of Software Testing are to prevent defects by evaluate work products, verify the correction of tested software, validate the Software, which means the system will fulfill the user requirements and won’t make a serious failure.
Software Testing is so important. It was a lot of cases where software led to the loss of money, health, or even life.
To illustrate how bad tested software led to the loss of life of a lot of people, I’ll present one case from the travel industry, and more specifically aviation.
Boeing introduced a new engine system in their 737 MAX, which wasn’t tested well enough, and hence until the time when the 737 MAX started to be grounded, 2 fatal crashes happened already, in which 346 people lost their lives. Info about this issue is presented here.
If an example of software failure in the travel industry is not enough, we can dig deeper into 2016.
At this time Cisco had a problem with a vulnerability in the antispam protection mechanisms.
It was a really serious failure because could allow an unauthenticated, remote attacker to bypass the URL reputation filters on an affected device.
The problem was not enough checking input validation of URLs.
As a result, the bug is still not fixed in version 12.5.0 and earlier, which we can find in the Cisco report.
Someone could ask: “Why it wasn’t done if testing is the only one action?” It isn’t, Software Testing isn’t the one activity but the process which is including:
- Planning of the tests
- Monitoring and control of the tests
- Analysis of the tests
- Design of the tests
- Implementation of the tests
- Execution of the tests
- Completion of the tests
I will discuss the testing activities and tasks in the next post 🙂
The content of this post was based on ISTQB FL Syllabus (v. 2018).
Graphics with hyperlinks used in this post have a different source, the full URL included in hyperlinks.