Bebugging
   HOME





Bebugging
Bebugging (or fault seeding or error seeding) is a popular software engineering technique used in the 1970s to measure test coverage. Known bugs are randomly added to a program source code and the software tester is tasked to find them. The percentage of the known bugs not found gives an indication of the real bugs that remain. The term "bebugging" was first mentioned in ''The Psychology of Computer Programming'' (1970), where Gerald M. Weinberg described the use of the method as a way of training, motivating, and evaluating programmers, not as a measure of faults remaining in a program. The approach was borrowed from the SAGE system, where it was used to keep operators watching radar screens alert. Here's a quote from the original use of the term: An early application of bebugging was Harlan Mills's fault seeding approach which was later refined by stratified fault-seeding.L. J. Morell and J. M. Voas, "Infection and Propagation Analysis: A Fault-Based Approach to Estimati ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Fault Injection
In computer science, fault injection is a testing technique for understanding how computing systems behave when stressed in unusual ways. This can be achieved using physical- or software-based means, or using a hybrid approach. Widely studied physical fault injections include the application of high voltages, extreme temperatures and electromagnetic pulses on electronic components, such as computer memory and central processing units. By exposing components to conditions beyond their intended operating limits, computing systems can be coerced into mis-executing instructions and corrupting critical data. In software testing, fault injection is a technique for improving the coverage of a test by introducing faults to test code paths; in particular error handling code paths, that might otherwise rarely be followed. It is often used with stress testing and is widely considered to be an important part of developing robust software. Robustness testing (also known as syntax testing, f ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Mutation Testing
Mutation testing (or ''mutation analysis'' or ''program mutation'') is used to design new software tests and evaluate the quality of existing software tests. Mutation testing involves modifying a program in small ways. Each mutated version is called a ''mutant'' and tests detect and reject mutants by causing the behaviour of the original version to differ from the mutant. This is called ''killing'' the mutant. Test suites are measured by the percentage of mutants that they kill. New tests can be designed to kill additional mutants. Mutants are based on well-defined ''mutation operators'' that either mimic typical programming errors (such as using the wrong operator or variable name) or force the creation of valuable tests (such as dividing each expression by zero). The purpose is to help the tester develop effective tests or locate weaknesses in the test data used for the program or in sections of the code that are seldom or never accessed during Execution (computers), execution. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Test Coverage
Black-box testing, sometimes referred to as specification-based testing, is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance. Black-box testing is also used as a method in penetration testing, where an ethical hacker simulates an external hacking or cyber warfare attack with no knowledge of the system being attacked. Test procedures Specification-based testing aims to test the functionality of software according to the applicable requirements. This level of testing usually requires thorough test cases to be provided to the tester, who then can simply verify that for a given input, the output value (or behavior), either "is" or "is not" the same as the expected value specified in the test case. Specific knowledge of the application's code, internal structure and programming ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Software Tester
Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about the quality of software and the risk In simple terms, risk is the possibility of something bad happening. Risk involves uncertainty about the effects/implications of an activity with respect to something that humans value (such as health, well-being, wealth, property or the environ ... of its failure to a User (computing), user or sponsor. Software testing can determine the Correctness (computer science), correctness of software for specific Scenario (computing), scenarios but cannot determine correctness for all scenarios. It cannot find all software bug, bugs. Based on the criteria for measuring correctness from an test oracle, oracle, software testing employs principles and mechanisms that might recognize a problem. Examples of oracles include specifications, Design by Contract, contracts, comparable products, past versi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Gerald M
Gerald is a masculine given name derived from the Germanic languages prefix ''ger-'' ("spear") and suffix ''-wald'' ("rule"). Gerald is a Norman French variant of the Germanic name. An Old English equivalent name was Garweald, the likely original name of Gerald of Mayo, a British Roman Catholic monk who established a monastery in Mayo, Ireland in 670. Nearly two centuries later, Gerald of Aurillac, a French count, took a vow of celibacy and later became known as the Roman Catholic patron saint of bachelors. The name was in regular use during the Middle Ages but declined after 1300 in England. It remained a common name in Ireland, where it was a common name among the powerful FitzGerald dynasty. The name was revived in the Anglosphere in the 19th century by writers of historical novels along with other names that had been popular in the medieval era. British novelist Ann Hatton published a novel called ''Gerald Fitzgerald'' in 1831. Author Dorothea Grubb published her novel '' ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Semi-Automatic Ground Environment
The Semi-Automatic Ground Environment (SAGE) was a system of mainframe computer, large computers and associated computer network, networking equipment that coordinated data from many radar sites and processed it to produce a single unified image of the airspace over a wide area. SAGE directed and controlled the NORAD response to a possible Soviet air attack, operating in this role from the late 1950s into the 1980s. Its enormous computers and huge displays remain a part of Cold War lore, and after decommissioning were common props in movies such as ''Dr. Strangelove'' and Colossus: The Forbin Project, ''Colossus'', and on science fiction TV series such as ''The Time Tunnel''. The processing power behind SAGE was supplied by the largest discrete component-based computer ever built, the AN/FSQ-7 Combat Direction Central, AN/FSQ-7, manufactured by IBM. Each SAGE Direction Center (DC) housed an FSQ-7 which occupied an entire floor, approximately not including supporting equipment. T ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Harlan Mills
Harlan D. Mills (May 14, 1919 – January 8, 1996) was professor of computer science at the Florida Institute of Technology and founder of Software Engineering Technology, Inc. of Vero Beach, Florida (since acquired by Q-Labs). Mills' contributions to software engineering have had a profound and enduring effect on education and industrial practice. Since earning his Ph.D. in Mathematics at Iowa State University in 1952, Mills led a distinguished career. As an IBM research fellow, Mills adapted existing ideas from engineering and computer science to software development. These included automata theory, the structured programming theory of Edsger Dijkstra, Robert W. Floyd, and others, and Markov chain-driven software testing. His Cleanroom software development process emphasized top-down design and formal specification. Mills contributed his ideas to the profession in six books and over fifty refereed articles in technical journals. Mills was termed a "super-programmer", ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]