This article will help you to understand what is bug and why do bug arises in software. So First we are going to talks about bugs.
For example : suppose you want to recharge your mobile so you goes to a any recharge site and login your account and put your mobile number , enters the recharge amount and clicks on next button. But when you clicks on next button then nothing is happening you got stuck on same page. So you will think why is this happening? This is because of bugs in that software. Which is prevents you to go on to the next page.
Suppose you are a Tester and your company is developing a software. Before development they will finalize all the software requirement Specifications. According to those requirement they developed a software after development they sends this software with its requirement document to you for testing. During testing you have found that there is a functionality which is written in software requirement specification but not present is software.at that time you may think that is this a bug? Can we call a missing functionality as a bug? Yes it’s a bug. a functionality which should be present in software but actual not there is a bug. So you will might get one more question in your mind. What if there is an extra functionality available in software but that is not written in software requirement sheet. It is an also a bug.
Bug :
We are humans, we are not a machines. So the things which we are going to build is not gonna be 100% perfect.
The bugs start coming from the initial stage of the software development life cycle. Let discuss each factor that can cause a bug in software.
1) Requirements of Client : When any client/customer want to buildan software then that client contact to any IT organization and tells his requirement. But sometime that client don’t know what actually he wants. He is unclear about his requirement.
3) Coding : In this phase development of the software actually start. Here developer start the coding to build the software. In this phase lot of bug can arises in software. There are many reasons which can causes the bugs. Like if developer is not skilled and because of developers poor skilled he is unable to develop software in good manner.
Another reason that can cause bugs in this phases is continuous changing requirements. Many time client don’t have clear requirement in his mind but as times goes on client get some ideas or clarification then clients tell his new requirement to company. To fulfill clients changed requirement or Requirement Company has to do some adjustment. Later on this can effect on the software’s functionality.
Another main reason is less time for coding. This thing happens to meet the dead line .this puts extra pressure on developer which can effect on his productivity which result in poor coding and incorrect coding output.
4) Testing : This is a phase where all the major bugs should be detected by the testing team. Ideally there is not any software with 100% bug free. But it is expected from testing team to find all the major bugs. There are some factors which can effect on testing.
One of the reason is less knowledge about the software. When testing team do not have good knowledge about software then they are unable to write effective test cases which result in poor testing and will be unable to detect bugs. This happen when there is not proper documentation or very less documentation.
Another reason is less time for testing. When testing team do not have needed time for testing they prioritize the test cases and leave some part untested which ultimately leave some bugs detected?
What is Bugs/ Defect?
In simple word, if any functionality of software is not working as per the requirement then we can say that there is a bug in the software.in other word if the software is not behaving as it is expected to behave. A software bug is an error, failure, flaw or fault in a computer software program or system that causes it to produce unexpected or an incorrect or result.For example : suppose you want to recharge your mobile so you goes to a any recharge site and login your account and put your mobile number , enters the recharge amount and clicks on next button. But when you clicks on next button then nothing is happening you got stuck on same page. So you will think why is this happening? This is because of bugs in that software. Which is prevents you to go on to the next page.
Suppose you are a Tester and your company is developing a software. Before development they will finalize all the software requirement Specifications. According to those requirement they developed a software after development they sends this software with its requirement document to you for testing. During testing you have found that there is a functionality which is written in software requirement specification but not present is software.at that time you may think that is this a bug? Can we call a missing functionality as a bug? Yes it’s a bug. a functionality which should be present in software but actual not there is a bug. So you will might get one more question in your mind. What if there is an extra functionality available in software but that is not written in software requirement sheet. It is an also a bug.
Bug :
- A Functionality is not working as per the requirement sheet.
- Missing functionality.
- Extra functionality.
We are humans, we are not a machines. So the things which we are going to build is not gonna be 100% perfect.
The bugs start coming from the initial stage of the software development life cycle. Let discuss each factor that can cause a bug in software.
1) Requirements of Client : When any client/customer want to buildan software then that client contact to any IT organization and tells his requirement. But sometime that client don’t know what actually he wants. He is unclear about his requirement.
- Clients tells an partial requirement or unclear requirement to the company. So because of this any certain functionality not available or partial available or it may not get developed as per the users expectation.
- Clients frequently changing requirement can also cause bugs.
3) Coding : In this phase development of the software actually start. Here developer start the coding to build the software. In this phase lot of bug can arises in software. There are many reasons which can causes the bugs. Like if developer is not skilled and because of developers poor skilled he is unable to develop software in good manner.
Another reason that can cause bugs in this phases is continuous changing requirements. Many time client don’t have clear requirement in his mind but as times goes on client get some ideas or clarification then clients tell his new requirement to company. To fulfill clients changed requirement or Requirement Company has to do some adjustment. Later on this can effect on the software’s functionality.
Another main reason is less time for coding. This thing happens to meet the dead line .this puts extra pressure on developer which can effect on his productivity which result in poor coding and incorrect coding output.
4) Testing : This is a phase where all the major bugs should be detected by the testing team. Ideally there is not any software with 100% bug free. But it is expected from testing team to find all the major bugs. There are some factors which can effect on testing.
One of the reason is less knowledge about the software. When testing team do not have good knowledge about software then they are unable to write effective test cases which result in poor testing and will be unable to detect bugs. This happen when there is not proper documentation or very less documentation.
Another reason is less time for testing. When testing team do not have needed time for testing they prioritize the test cases and leave some part untested which ultimately leave some bugs detected?
Some Companies do not take testing as a serious activity so they do not invest time and resources on testing. Many small scale IT companies do not hire tester their developers do testing of their own code. Developer gets biased to test their own code which result leaving major bugs undetected
5) Deployment : Every software made by considering its hardware and software requirement. if any software is installed on unsupported or lesser hardware and software then that software behave unexpectedly which causes failure.
Nice post.
ReplyDelete