Tester Dictionary
Tester Dictionary
com/groups/etutor/
This Dictionary is a Compilation of related terms in Software Testing. If you feel any
terms are missing or if you would like to add any terms to the dictionary, please send
them to [email protected] and we shall update the same.
Alpha Test: Alpha testing happens at the development site just before the roll out of the
application to the customer. Alpha tests are conducted replicating the live environment
where the application would be installed and running
Behavioral Tests: Behavioral Tests are often used to find bugs in the high-level
operations, at the levels of features, operational profiles, and customer scenarios.
Beta Tests: Beta testing happens at the actual place of installation in the live
environment. Here the users play the role of testers.
Black Box Tests: Black Box tests aim at testing the functionality of the application
basing on the Requirements and Design documents.
Condition Coverage: Condition coverage reports the true or false outcome of each
Boolean sub-expression, separated by logical-and and logical-or if they occur. Condition
coverage measures the sub-expressions independently of each other.
Data Flow Coverage: This variation of path coverage considers only the sub-paths from
variable assignments to subsequent references of the variables. The advantage of this
measure is the paths reported have direct relevance to the way the program handles
data. One disadvantage is that this measure does not include decision coverage. Another
disadvantage is complexity. Researchers have proposed numerous variations, all of which
increase the complexity of this measure. For example, variations distinguish between the
use of a variable in a computation versus a use in a decision, and between local and
global variables. As with data flow analysis for code optimization, pointers also present
problems.
Defect: Any deviation in the working of the application that is not mentioned in any
documents in SDLC can be termed as a defect.
Defect Density: Defect Density is the number of defects raised to the size of the
program.
Defect Report: A report, which lists the defects, noticed in the application.
Function Coverage: This measure reports whether you invoked each function or
procedure. It is useful during preliminary testing to assure at least some coverage in all
areas of the software. Broad, shallow testing finds gross deficiencies in a test suite
Designed
By: Sukumar. S
Source: http://groups.yahoo.com/groups/etutor/
quickly.
Grey Box Tests: Grey Box tests are a combination of Black Box and White Box tests.
Linear Code Sequence and Jump (LCSAJ) Coverage: This variation of path coverage
considers only sub-paths that can easily be represented in the program source code,
without requiring a flow graph. An LCSAJ is a sequence of source code lines executed in
sequence. This "linear" sequence can contain decisions as long as the control flow
actually continues from one line to the next at run-time. Sub-paths are constructed by
concatenating LCSAJs. Researchers refer to the coverage ratio of paths of length n
LCSAJs as the test effectiveness ratio (TER) n+2. The advantage of this measure is that
it is more thorough than decision coverage yet avoids the exponential difficulty of path
coverage. The disadvantage is that it does not avoid infeasible paths.
Load Tests: Load testing aims at testing the maximum load the application can take
basing on the requirements. Load can be classified into number of users of the system,
load on the database etc.
Loop Coverage: This measure reports whether you executed each loop body zero times,
exactly once, and more than once (consecutively). For do-while loops, loop coverage
reports whether you executed the body exactly once, and more than once.
Object Code Coverage: This measure reports whether each machine language
conditional branch instruction both took the branch and fell through. This measure gives
results that depend on the compiler rather than on the program structure since compiler
code generation and optimization techniques can create object code that bears little
similarity to the original source code structure.
Since branches disrupt the instruction pipeline, compilers sometimes avoid generating a
branch and instead generate an equivalent sequence of non-branching instructions.
Compilers often expand the body of a function inline to save the cost of a function call. If
such functions contain branches, the number of machine language branches increases
dramatically relative to the original source code.
Path Coverage: This measure reports whether each of the possible paths in each
function have been followed. A path is a unique sequence of branches from the function
entry to the exit. Also known as predicate coverage. Predicate coverage views paths as
possible combinations of logical conditions.
Designed
By: Sukumar. S
Source: http://groups.yahoo.com/groups/etutor/
Race Coverage: This measure reports whether multiple threads execute the same code
at the same time. It helps detect failure to synchronize access to resources. It is useful
for testing multi-threaded programs such as in an operating system.
Performance Tests: Performance tests are coupled with stress testing and usually
require both hardware and software instrumentation.
Quality Control
Relates to a specific product or service.
Verifies whether specific attributes are in, or are not in, a specific product or service.
Identifies defects for the primary purpose of correction defects. Is the responsibility of
team/workers.
Is concerned with a specific product.
Quality Assurance
Helps establish process.
Sets up measurements programs to evaluate processes.
Identifies weakness in processes and improves them.
Is management responsibility, frequently performed by staff function.
Is concerned with all of the products that will ever be produced by a process.
Is sometimes called quality control over Quality Control because it evaluates whether
quality is working.
QA personnel should not ever perform Quality Control unless it is to validate QC.
Flow Charts.
Run Charts.
Check Sheet.
Histogram.
Pareto Diagram.
Ishikawa Diagram.
Scatter Diagram.
The tools can be used in the following areas: Problem Representation (Flow Charts, Run
Charts)
Data Collection (Check Sheet, Histogram)
Data Analysis and Synthesis (Histogram, Pareto Diagram, Ishikawa Diagram and Scatter
Diagram)
Recovery Tests: Recovery testing is a system test that focuses the software to fall in a
variety of ways and verifies that recovery is properly performed. If recovery is automatic,
reinitialization, checkpointing mechanisms, data recovery and restart are evaluated for
correctness. If recovery requires human intervention, the mean-time-to-repair (MTTR) is
evaluated to determine whether it is within acceptable limits.
Regression Tests: Regression tests address the changes in the functionality. If the
application undergoes changes, tests are conducted to verify if the basic functionality is
working properly and also the changes are working as intended. Regression tests become
indispensable when there are continuos changes in the application.
Security Testing: Security testing attempts to verify that protection mechanisms built
into a system will, in fact, protect it from improper penetration. During Security testing,
password cracking, unauthorized entry into the software, network security are all taken
into consideration.
Stress Tests: Stress testing executes a system in a manner that demands resources in
abnormal quantity, frequency, or volume.
The following types of tests may be conducted during stress testing;
· Special tests may be designed that generate ten interrupts per second, when one or
two is the average rate.
· Input data rates may be increases by an order of magnitude to determine how input
functions will respond.
· Test Cases that require maximum memory or other resources.
· Test Cases that may cause excessive hunting for disk-resident data.
· Test Cases that my cause thrashing in a virtual operating system.
Structural Tests: Structural Tests find bugs in low-level operations such as those that
occur down at the levels of lines of code, database schemas, chips, subassemblies, and
interfaces.
System Tests: System tests concentrate on testing the behavior of the application.
These tests are usually conducted based on the Requirements to check if the system is
performing the required.
Test Case: A set of test inputs, execution conditions, and expected results developed for
a particular objective.
Test Case Types: There are six types of test cases mentioned by Bill Hetzel,
Requirements Based, Design-Based, Code-Based, Randomized, Extracted and Abnormal.
Test Procedure: The detailed instruction for the set-up, execution, and evaluation of
results for a given test case.
Test Design: Test Design depicts the design of tests which need to be executed basing
on the Design of the application.
Test Granularity: Test Granularity refers to the fitness or coarseness of a test’s focus.
Test Plan: A Test Plan depicts the plan for conducting tests. This usually includes: Test
Strategy, Schedules and Resource allocation.
Unit Tests: Testing the individual units of the software. Unit can be an input field, a
screen, group of screens performing one single task, one part of the program or a
complete program.
Validation Methods
Proven test-design methods provide a more intelligent and effective means of identifying
tests than a purely random approach. Black-box methods for function-based tests The
Designed
By: Sukumar. S
Source: http://groups.yahoo.com/groups/etutor/
Weak Mutation Tests: This measure is similar to relational operator coverage but much
more general. It reports whether test cases occur which would expose the use of wrong
operators and also wrong operands. It works by reporting coverage of conditions derived
by substituting (mutating) the program's expressions with alternate operators, such as
"-" substituted for "+", and with alternate variables substituted. This measure interests
the academic world mainly. Caveats are many; programs must meet special
requirements to enable measurement.
White Box Tests: White Box Tests aim at testing the program to the set standards
rather than merely checking if the application is running as per requirement or not.
Designed
By: Sukumar. S