Bebugging in Software Testing
When it comes to Software Development then Software Testing automatically added to this process. As every software development follows Software Development Life Cycle (SDLC) in which Software testing is one of important phase. There are different types of software testing are performed to develop and deliver a quality software product to the client/customer.
By different types of testing, Software Testing team validates different types of quality parameters like quality, effectiveness, reliability, requirements, security etc. There are different types of techniques to perform different types of testing, where Bebugging is one of the important and useful technique which is implemented by the software testing teams to ensure its performance and quality.
Generally during testing phase testing team identifies defects/bugs which are there in a software product and then identified bugs are fixed by development team by following a Defect Life Cycle. As we know Debugging is a general process in software development as with debugging we identify, analyze and remove errors. But Begugging is a different process than debugging. So, there should not be any confusion in between Bebugging and Debugging. So, Lets start understand Bebugging by going little bit deep into it.
Bebugging also written as Be Bugging refers to the process of adding some known bugs into the software application intentionally to monitor its rate of detection and rectification. It is also known as Defect Seeding or Error Guessing or Fault Injection or Defect Feeding as testing team knowingly adds defects/bugs into as a part of software testing methodology just to improve quality and functionality of the software under test in an aim of developing a good quality product.
Random bugs are infused into the programs source code then it undergoes testing by testing team and defects are identified. Then the percentage of known bugs which are not identified are real bugs remained in software application which are yet to be detected by concerned testers. This bebugging gives idea about defects which may arise in future, defects and its impact on application also it introduces new defects which needs to be solved.
So lets know the main purpose of Bebugging :
- It improves the quality of the product.
- It is used to determine reliability of test sets.
- It allows to monitor the rate of defect detection and removal.
- It helps in familiarizing with known bugs.
- It helps in finding undetected bugs.
Techniques for Bebugging :
- Runtime Injection –
It is one of the technique of bebugging in which software triggers are used to inject defects dynamically into a running software system. Time based triggers, Interrupt based triggers, Network level fault injection and Syscall interposition techniques etc. are the number of ways in which runtime injection is performed.
- Compile Injection –
It is one of the technique of bebugging in which stimulated faults are injected in source code of the system and it helps team to determine various faults left in the system and new faults identified in the system.
Some of Bebugging tools :
- Beyond Security
Prerequisites of Bebugging :
- Record of previous defects
- Application’s risk reports
- Experienced team for testing activities
- Review checklist
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.