In this article, we will be discussing 7 types of software errors every tester should know about and how to identify them during testing with some examples and simple exercises. Let’s get started.
It’s time again for a post on software testing basics. This article is on the different types of software errors that every tester should know about.
There are many types of Software bugs. A bug is a bug no matter what. But sometimes, it is important to understand the nature, its implications and the cause to process it better.
This helps in a faster and most importantly, appropriate reaction.
Let us start by defining software errors and bugs.
Table of Contents:
7 Types of Software Errors That Every Tester Should Know

Software Errors and Bugs
As defined in Wikipedia “An error is a deviation from accuracy or correctness” and “A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways “.
So, the following can be inferred:
- Error is a variance of the actual result from the expected result.
- Errors are a category of software bugs.
- Errors can be introduced as a result of incomplete or inaccurate requirements or due to human data entry problems.
Common Categories of Software Errors
#1) Functionality Errors
Functionality is the way the software is intended to behave. Software has a functionality error if something that you expect it to do is hard, awkward, confusing, or impossible.
Check out the following screenshot:

The Expected Functionality for Cancel button is that the “Create New Project” window should close and none of the changes should be saved (i.e. No new projects must be created). If the Cancel button is not clickable then it is a functionality error.
#2) Communication Errors
These errors occur when communicating from software to the end-user. Anything that the end user needs to know in order to use the software should be made available on screen.
A few examples of communication errors are – No Help instructions/menu provided, features that are part of the release but are not documented in the help menu, a button named “Save” should not erase a file, etc.
#3) Missing command errors
This happens when an expected command is missing. See this screenshot:

This window allows the user to create a new project. However, there is no option for the user to exit from this window without creating the project. Since the “Cancel” option/button is not provided to the user, this is a missing command error.
#4) Syntactic Error
Syntactic errors are misspelt words or grammatically incorrect sentences and are very evident while testing software GUI. Please note that we are NOT referring to syntax errors in the code. The compiler will warn the developer about any syntax errors that occur in the code
Note the misspelled word ‘Cancel’:

Note the grammatically incorrect message:

#5) Error handling errors
Any errors that occur while the user is interacting with the software needs to be handled in a clear and meaningful manner. If not, it is called an Error Handling Error.
Take a look at this image. The error message gives no indication of what the error is. Is it missing mandatory fields, saving errors, page loading errors or is it a system error? Hence, this is an ‘Error Handling Error’.

If possible, further steps should be listed for the user to follow.
If the software has certain mandatory fields that need to be filled before they can save the information on a form, the validation messages should be clear and indicative of the action that is required by the user.
Here are other examples:


#6) Calculation Errors
This error occurs due to any of the following reasons:
- Bad logic
- Incorrect formulae
- Data type mismatch
- Coding errors
- Function call issues, etc.
In 1999, NASA lost its Mars climate orbiter because one of the subcontractors NASA employed had used English units instead of the intended metric system, which caused the orbiter’s thrusters to work incorrectly. Due to this bug, the orbiter crashed almost immediately when it arrived at Mars.
#7) Control flow errors
The control flow of a software describes what it will do next and on what condition.
For example, consider a system where a user has to fill in a form and the options available to the user are: Save, Save, Close, and Cancel. If a user clicks on the “Save and Close” button, the user information in the form should be saved and the form should close. If clicking on the button does not close the form, then it is a control flow error.
An Exercise
Let’s identify which error categories the following fall into:
Exercise #1


They are called Error Handling Errors.
Exercise #2

This is a Missing command error. Cancel button is required but is missing. Also, both buttons “Proceed” and “Delete” are redundant and perform the same function.
Exercise #3

This is a Syntactic Error.
Next step:
Reporting an error once identified is essential. For best results, report immediately.
Include the description, priority, severity, triggers, and steps to recreate the scenario and screen capture (if any) in the bug report.
For more information on writing effective defect reports, check this post.
Conclusion
Defect identification, categorization, reporting and eventually removal are all part of Quality Control activities.
Prevention is better than cure. The very crux of Software Quality Assurance is to establish monitoring and inspecting processes at each stage of the Software Development Life Cycle.
Suggested reading =>> How to fix Audio Renderer Error
The goal is to detect errors as soon as possible. This is because the costs to find and fix errors increase dramatically as software development progresses. Hence identifying errors early on is essential.
Fixing an error is the cheapest during the requirement analysis stage, gets progressively expensive with each stage and is most expensive in the post release maintenance phase.
As QA engineers, we may or may not be directly involved in the requirements definition. We also may have little or no direct control over the quality of the requirements.
Therefore, it is essential that we are able to identify, seek and report any errors that we come across during the testing phase.
About the author: This useful article is written by Neha B. She is currently working as a Quality Assurance Manager and specialize in leading and managing In-house and Offshore QA teams.
Do let us know of any other types of software errors that you are aware of or have encountered previously. Feel free to write about them in the comments section below. We would love to hear from you.







Thank You So much for writing this article on error, it is helpfull.
Regards
Nissar
dgjtdhkjhhjjfjdfjfjfjfjfjdjdfjfjfjfjfjfjfjjkfkkfjjjxjdjdjdjdjddjdjddjdjfjfjnfnfjfjfnfnfnfnfnfnfjfhdjdjdjdhdjdjdjdjdjdjdjdjdndjdjdjdjdjdjdjdjdjdjdjdjdjdjdjdjjfjdjdjrjjdjdjdjdhfhdhdhdjdjsijenebrjdjdndjskosidjebdjdjdjjdbdhfjdhdhdhdjdhdbhdhebbdhdjdhbdhddj
Good one.
I attended a dentist’s appointment about 2 weeks ago, and had to fill in a web-based form on which one of the questions was
“If you have had Covid-19 in the household, are there any remaining signs of it now? – Yes of No”
Effectively, if this condition exists, then answer the question.
I didn’t answer it because we have not had Covid-19 in the household, but because there was no answer, the form would not allow itself to be submitted.
I called them and was told “Either answer yes or no, or go to a different dentist”
I pointed out that giving an answer would be a tacit acknowledgement that there had been Covid in the household, but they were adamant, and because I had been waiting two weeks, and the treatment was becoming urgent, I answered No – but I felt uncomfortable doing it.
It’s not a software bug – except that it was a web form that could not be submitted, but it is typical of the sort of bug you have highlighted.
Hi Mike
Thank you for sharing your experience. Its seems to be a design issue where the responses were not well thought through. I believe if this form was evaluated objectively – this issue could have been caught and rectified before launch.
It is very important.
providing useful information.
Glad you found the article useful!
Great article, Almost all types of important errors covered,
Good one 🙂
good basics testers should know
Thanks for your post 🙂
Good info, it helped me pretty much, 1000 thanks.
Let me disagree on :
“Exercise #2: Error Handing Errors
This is a Missing command error. Cancel button is required but is missing. Also, both buttons ‘Proceed’ and ‘Delete’ are redundant and perform the same function.”
There is a chance that one of those buttons “Proceed” or “Delete” will actually perform “Cancel” job on click. Probably developer made a mistake naming this button. In that case this is not a Missing command error, but Syntactic Error.
Don’t you agree
Totally agree on that part but Denis there are much more possibilities that they are working in different Way, author just making an example to elaborate
Thank you Ashish for the inputs!
@Denis – It’s true that a certain error may categorized under multiple categories. My aim to familiarize the readers with common errors and tries to find examples relevant to the type I was explaining.
Thank you!
Very helpful article.Thank you so much for posting.
NICE ONE
Awesome !! As usual … Great for us as a new tester … Noted .
Very good article. Really helpful for all testers.
I have seen experienced testers are also not aware about all these details though finding defects from application is their daily job.
Its helpful for beginner as wel as experienced one!
Thank you dear readers for the positive feedback.
One low priority error but still very frequent is Typo errors.
very good article
Hi, bhawana kumari
Below are some scenarios that might be help you..
1. To verify whether user will get 15% discount on all today’s purchase items
2. To verify whether user will get 15% discount again on tomorrow on all purchase items
3. To verify whether existing customer having loyalty card should get 10% discount
4. To verify whether existing customer having loyalty card get more 10% discount all purchase items
5. To verify whether existing customer having loyalty card get less than 10% discount all purchase items
6. To verify whether existing customer having coupon should get 20% discount on all today’s purchase items
7. To verify whether that new customer having coupon should not get 20% discount on all today’s purchase items.
Its very useful for beginner’s those who are willing to learn basics of testing… thanks for posting…
Neha great article!!!
Thank you dear readers for your positive feedback and comments.
Thanks
Neha
Para colgar en el portal de aplicaciones
Very informative and a tester can easily relate to this.
Bookmarked it, to refer for my next testing release. 🙂
Nice post.
All the basic errors has been covered
Everyone should know these basic checklist.
good article.
Absolutely, need to be documented properly after testing to save time at any time if needed.
Awesome 🙂
Good one. Thanks for the article
Its useful for us thanku
Tank you . very hoppfull artucle
Hi Mahesh
Sorry, I do not follow. I have not heard the term ‘sticky bug’ before. Please provide some more details or the context where this term is used.
Thanks
Neha
thanks a lot
Glad you like the article Amine!
At one of the interview i got this question, Write as many as test cases for – If you are a new customer and you want to open a credit card account then there are three conditions first you will get a 15% discount on all your purchases today, second if you are an existing customer and you hold a loyalty card, you get a 10% discount and third if you have a coupon, you can get 20% off today (but it can’t be used with the ‘new customer’ discount). Discount amounts are added, if applicable.
Can somebody please help me with it.
THANKS.A LOT
Thank you dear readers for your positive feedback!
What is a sticky bug?
hi..
Hello Neha!
Great article! When one is investigating types of information needed to diagnose certain bugs, are these the steps one follows to do so or am I way off? Thanks in advance!
Hi Kelly
Glad you liked the article!
I believe that identifying such bugs require objectivity and skills of exploratory testing. Most of the times requirements do not cover exception handling in detail and so is subjective and open for interpretation.
Hope this helps!
Thank you dear readers for your valuable feedback.
Thank you dear readers . Glad you liked the article!
You are doing great!
Thank you for the feedback! Glad you liked the article!
very informative, a piece, for I am working on a paper for system quality and user benefits of e-commerce in the Pacific Island countries.
Hi Patrick
Thank you for your feedback 🙂 !
Thanks
Beautiful Article wrote by the author.
The blog helps me to prepare my presentation.
Hats off for you.!
Glad you liked the article ? !
i love that crusty jpeg, thanks software testing help, very cool
Hi Pussdestroyer
Glad you liked the article 🙂 !
Thanks
Basics!!!!simply great
It is very useful to all the students that study in school and college because it’s help all the basic concept are clear for limitations and error.
Hi Sahil
Glad you liked the article and found it helpful :)!
– Neha
This are common bug every tester find this on first time
it is low priority and low severity ..
There are few other errors that are not listed here:
1. Requirements error: – wrong , incomplete requirement, requirement contradicting with other requirements, requirement implemented incorrectly, requirement that can not be traced to any source
2. Design Error: The design do not correspond to requirements.
3. Tasking and Timing errors: Task priority not assigned correctly, Task lock, Task can’t complete the assigned work due to timing restrictions.
4. BIT error: false alarm, wrong display…
5. Memory leck, data overwritting on existing data
6. Program cresh (instead of degraded performance) due to wrong treatment when errors are encounter.
How To do Web Site Test Without Kay Bord Or Mouse
Thank you dear readers for your positive feedback.
Fab!!!
Hi Doron
Thank you for adding on the list of errors.
My article focuses on error encountered mostly while doing black box testing. Errors listed by you would be frequently encountered by testers doing white box testing and provide a good context about the commonly occurring errors.
Thanks
Neha
Great article!
Really Helpful…
good article
Super informative..Terrific work!
We all know that if any problem occurs or any pop up comes on our screen we automatically say that it is an error but we can’t identify what kind of error it is this blog helps me a lot in identifying errors, it’s very helpful thanks to the software testing help.