A software Bug is an error, fault, or failure in a computer program that results in inaccurate outcomes or performs action(s) in an unintended way. Fundamentally, a bug is a coding error in programming. The majority of the bugs occur from errors made either in a program’s design or source code. A program inflicted with numerous bugs is termed as ‘Buggy’. In case a bug is discovered after the product release, the software teams focus on fixing the bug in quickest possible time to avoid large-scale damage at the user end.
Bugs generally cause insignificant, yet annoying computer malfunctions, but their impact can also result in many severe issues. For example, a bug in the code that controlled the Therac-25 radiation therapy machine was responsible for the death of at least five patients when it administered excessive number of X-rays. In another instance, several people lost their lives due to the bug in an Electronic Throttle Control System (ETCS) that caused sudden unintended accelerations.
A bug is closely related to product specifications, popularly known as ‘spec’. The occurrence of a bug can be detected through various methods. For instance, when the action is not performed by the product which is specified by the spec or when the product carries out an unintended action which should not be done according to the specs. There are numerous causes for bugs and some of them are listed below:
Inadvertent mistakes made by the developers are a major cause of bugs. It is difficult to detect a bug while a programmer writes a program. It is more often identified during testing a program.
Insufficient testing during the development process results in bugs.
Bugs that randomly occur in complex systems and are difficult to trace and understand create intermittent problems.
Bugs should be identified and eliminated early in the development process. Functional testing which is undertaken by QA professionals and Unit testing performed by developers should be intertwined throughout the project.
Few bugs require an urgent fix to move onto the additional challenges whereas others can be saved for future. The development team should be capable of explaining how to prioritize bugs to make sure that the deadlines are met.
The process of finding and removing bugs is termed as debugging. Debugging begins right after the programmer writes the code and the process continues in subsequent stages as the code is joined with other units of programming to form a software product.
Extend the value of your Qlik investment
White Paper By: Jedox
The most flexible Business Intelligence (BI) platform, QlikView, allows its users to gain valuable insights by understanding the fine line between the relevant data and the redundant data. It stimulates unrestricted analysis of application data, thus helping users make timely and accurate decisions. If you are already aware of the above mentioned BI platform, then here’s an...
Continuous Testing for Continuous Delivery: What Does it Mean in Practice?
White Paper By: CA Technologies
Today continuous delivery is enabling modern organizations to become leaders in fast-emerging, technology-driven markets To deliver software that accurately reflects constantly changing user needs, more organizations are moving toward continuous delivery. Continuous testing helps ensure that quality is built in from the requirements, while validating each component at the development...
Model Based Testing and Behavior-Driven Development
White Paper By: CA Technologies
Behavior-Driven Development (BDD) seeks to foster collaboration between the business and IT, inspired by the notion of a ‘ubiquitous language’, taken over from Domain Driven Development. As modern organizations rely increasingly on software that can provide value to its customers, IT teams are required to deliver fully tested software that delivers on changing business needs,...
Digital Business Platform 2.0
White Paper By: Software AG
Digitalization is the road of moving towards digital business and digital transformation, as well as the creation of new digital revenue streams and offerings while doing so. Through digitalization, a company’s digitized resources are transformed into new sources of revenue and operational gains. Businesses need to develop entirely new processes based on modern software architectures...
Mastering the challenge of Digital Transformation
White Paper By: Software AG
Digital business transformation is based on an IT architecture transformation with a roadmap for digital capability implementation. Based on the software platforms, digital companies create enhanced or totally new business models which offer completely new digital customer experiences. Established companies are building up software know-how and are acquiring software companies to accelerate...
IT Monitoring Software: Opsview Whitepaper
White Paper By: Opsview
In the present scenario, the field of IT monitoring has become very good at collecting status information and performance metrics from various endpoints. However, executive stakeholders are much more interested in the performance of people and processes than of CPU, memory, and throughput. With the new ability to model your applications and business services inside the monitoring tool, this...