0
3.0kviews
Definitions of Software Testing Terminology
1 Answer
0
160views

Failure: When a system is tested, failure is the first term that is used. It means the inability of the system or a component of the system to perform a required function according to its specification. In other words, when results or behavior of the system under test are different as compared to specified expectations, failure exists.

Fault/Defect/Bug: Failure is a term used to describe the problem's in a system on the output side, as shown in Fig.1. Fault is a condition that in actual causes a system to produce failure. Fault is synonymous with the words defect or bug. Therefore, fault is the reason embedded in any phase of SDLC, which results in failures. It can be said that failures are manifestation of bugs. One failure may be due to one or more bugs and one bug may cause one or more failures. When a bug is executed, failures are generated. However, this is not always true. Some bugs are hidden in the sense that these are not executed, as they do not get the required conditions in the system. So, hidden bugs may not always produce failures. They may execute only in certain rare conditions.

enter image description here

Error: Whenever a development team member makes a mistake in any phase of SDLC, errors are produced. It might be a typographical error, a misleading specification, a misunderstanding of what a subroutine does, etc. Error is a very general term used for human mistakes. Thus, an error causes a bug and the bug in turn causes failures, as shown in Fig. 2.

enter image description here

Test case: Test case is a well-documented procedure designed to test the functionality of a feature in the system. A test case has an identity and is associated with a program behavior. The primary purpose of designing a test case is to find errors in the system. A test case needs to specify a set of inputs and the corresponding expected outputs. The sample for a test case is shown in Fig.3.

Test case ID: It is the identification number given to each test case.

Purpose: It defines why the case is being designed.

Preconditions: It can be defined, for running the inputs in a system if required in a test case.

Inputs: It should not be hypothetical. Actual inputs must be provided, instead of general inputs. For example, if two integer numbers have to be provided as input, then specifically mention them as 23 and 56.

Expected outputs: They are the outputs, which should be produced when there is no failure.

Test cases are designed based on the chosen testing techniques. They provide inputs when the system is executed. After execution, observed results are compared with expected outputs mentioned in the test case.

Testware: The documents created during testing, activities are known as testware. It may include test plans, test specifications, test case test reports, etc. Testware documents 'should also be managed and updated like a software product.

Incident: When a failure occurs, it may, or may not be readily apparent to the user. An incident is the symptom(s) associated with a failure that alerts the user about the occurrence of a failure.

Test oracle: An oracle is the means to judge the success or failure of a test, that is, to judge the correctness of the system for some test. The simplest oracle is comparing actual results with expected results by hand. This can be very time-consuming, so automated oracles are sought.

Please log in to add an answer.