Home | | Software Testing | Basic definitions in Software Testing

Chapter: Software Testing : Testing Basics

Basic definitions in Software Testing

Software Testing - Testing Basics - Basic definitions in Software Testing

Basic definitions




An error is a mistake, misconception, or misunderstanding on the part of a software developer.


In the category of developer we include software engineers, programmers, analysts, and testers. For example, a developer may misunderstand a design notation, or a programmer might type a variable name incorrectly.


Faults (Defects)

A fault (defect) is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification.


Faults or defects are sometimes called ―bugs. Use of the latter term trivializes the impact faults have on software quality. Use of the term ―defect is also associated with software artifacts such as requirements and design documents. Defects occurring in these artifacts are also caused by errors and are usually detected in the review process.




A failure is the inability of a software system or component to perform its required functions within specified performance requirements .


During execution of a software component or system, a tester, developer, or user observes that it does not produce the expected results. In some cases a particular type of misbehavior indicates a certain type of fault is

Test case

A test case in a practical sense is a test-related item which contains the following information:


1. A set of test inputs. These are data items received from an external source by the code under test. The external source can be hardware, software, or human.


2. Execution conditions. These are conditions required for running the test, for example, a certain state of a database, or a configuration of a hardware device.

3. Expected outputs. These are the specified results to be produced by the code under test.




A test is a group of related test cases, or a group of related test cases and test procedures.


Test Oracle

A test oracle is a document, or piece of software that allows testers to determine whether a test has been passed or failed.


A program, or a document that produces or specifies the expected outcome of a test, can serve as an oracle.Examples include a specification (especially one that contains pre- and post conditions), a design document, and a set of requirements. Other sources are regression test suites. The suites usually contain components with correct results for previous versions of the software. If some of the functionality in the new version overlaps the old version, the appropriate oracle information can be extracted. A working trusted program can serve as its own oracle in a situation where it is being ported to a new environment. In this case its intended behavior should not change in the new environment.


Test Bed

A test bed is an environment that contains all the hardware and software needed to test a software component or a software system.This includes the entire testing environment, for example, simulators, emulators,memory checkers, hardware probes, software tools, and all other items needed to support execution of the tests.


Software Quality


1. Quality relates to the degree to which a system, system component, or process meets specified requirements.


2. Quality relates to the degree to which a system, system component, or process meets customer or user needs, or expectations.


In order to determine whether a system, system component, or process is of high quality we use what are called quality attributes. the degree to which they possess a given quality attribute with quality metrics.


Quality metric

A metric is a quantitative measure of the degree to which a system, system component,or process possesses a given attribute.


There are product and process metrics. A very commonly used example of a software product metric is software size, usually measured in lines of code (LOC). Two examples of commonly used process metrics are costs and time required for a given task. Quality metrics are a special kind of metric.


A quality metric is a quantitative measurement of the degree to which an item possesses a given quality attribute.


Some examples of quality attributes with brief explanations are the following:

correctness—the degree to which the system performs its intended function


reliability—the degree to which the software is expected to perform its required functions under stated conditions for a stated period of time


usability—relates to the degree of effort needed to learn, operate, prepare input, and interpret output of the software


integrity—relates to the system‘s ability to withstand both intentional and accidental attacks portability—relates to the ability of the software to be transferred from one environment to



maintainability—the effort needed to make changes in the software interoperability—the effort needed to link or couple one system to another.


Another quality attribute that should be mentioned here is testability.


         the amount of effort needed to test the software to ensure it performs according to specified requirements (relates to number of test cases needed),

the ability of the software to reveal defects under testing conditions (some software is designed in such a way that defects are well hidden during ordinary testing conditions).


Testers must work with analysts, designers and, developers throughout the software life system to ensure that testability issues are addressed.


Software Quality Assurance Group


The software quality assurance (SQA) group in an organization has ties to quality issues. The group serves as the customers‘ representative and advocate. Their responsibility is to look after the customers‘ interests.


The software quality assurance (SQA) group is a team of people with the necessary training and skills to ensure that all necessary actions are taken during the development process so that the resulting software conforms to established technical requirements.




A review is a group meeting whose purpose is to evaluate a software artifact or a set of software artifacts.


The composition of a review group may consist of managers, clients,developers, testers and other personnel depending on the type of artifact under review. A special type of review called an audit is usually conducted by a Software Quality Assurance group for the purpose of assessing compliance with specifications, and/or standards, and/or contractual agreements.


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Software Testing : Testing Basics : Basic definitions in Software Testing |

Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.