Software Testing Glossary

Automated Testing

Automated Testing is kind of testing in which one software is tested by the means of another. Automated testing tools are the main means by which this is done. This kind of testing helps to speed up the testing process, save money and reduce manpower. Automated tests can be easily repeated and they perform task that are often almost impossible for manual testing. The leading automated testing tools are Cucumber, Selenium, LoadRunner and others.

Availability Testing

Availability Testing which is also called Durability Testing is a kind of performance testing in which the application runs for a set period of time and collects failure events and repair times, and compares the availability percentage to the service level agreement.


AXFR – an information disclosure about zone transfer. Domain Name System described in RFC 1034/1035 includes full zone transfer specification. Typically, this mechanism is used for information replication between servers, but it can also be used to obtain a variety of information for mass mailings distributed DoS attacks and other malicious purposes. The vulnerability is connected with the fact that the majority of DNS servers don’t restrict AXFR requests.

XFR data used for searching mail repeaters, proxy servers, hosts with a particular OS or installed applications. When DNS-server receives AXFR request, it sends all known data for a requested domain. But If the DNS server as a wrong configuration – any user can obtain the access to this data.

Quite often, some websites have a “secret” subdomains (dev.*, test.* and others) for the internal usage. Usually, these domains have an insecure configuration or developed features.

Backus-Naur Form

Backus-Naur Form (BNF) is a format for context-free grammars. It’s often used as computer programing languages, protocols and documentation. It was created in 1950th by John Beckus together with ALGOL language. Nowadays one can find different variants of of BNF, such as Extended Backus–Naur Form (EBNF) and Augmented Backus–Naur Form (ABNF), it’s used in official specifications, manuals, textbooks, etc.


Baseline is coherent description of the product’s attributes, at the time, which serves as a basis for determining the changes. It’s also a state by which something is measured and compared. There different types of baselines such as functional baseline, allocated baseline, developmental baseline, product baseline, etc.

Basic Block

Basic Block is a notion that identifies the succession of instructions or code that has one input point and one output point and doesn’t have instructions for transfer of control before output point. In another words Basic Block is a succession of instructions which are carried out one by one. Basic Blocks are the main code unity over which the compiler optimization is performed.

Basis Path Testing

Basis Path Testing is a kind of white box testing which is used to write test cases and examine all possible paths of test performing at least once. This kind of testing guarantees full branch coverage. It’s widely used and learned.


Bebugging is a way to improve software by adding to it bugs intentionally to check their detection and removal. It’s a kind of improving the application by introducing new bugs. There are some Bebugging tools: Beyond Security, Exhaustif, Holodeck, Xception, The Mu Service Analyzer.