QA-Testing Definitions-Interview Questions: I (A – I)
Testing conducted to enable a user/customer to determine whether to accept a software product. Normally performed to validate the software meets a set of agreed acceptance criteria.
Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).
Ad Hoc Testing:
A testing phase where the tester tries to ‘break’ the system by randomly trying the system’s functionality. Can include negative testing as well.
Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing a test-first design paradigm.
Application Binary Interface (ABI):
A specification defining requirements for portability of applications in binary forms across defferent system platforms and environments.
Application Programming Interface (API):
A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services.
Automated Software Quality (ASQ):
The use of software tools, such as automated testing tools, to improve software quality.
• Testing employing software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing.
• The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.
A metalanguage used to formally describe the syntax of a language.
A sequence of one or more consecutive, executable statements containing no branches.
Basis Path Testing:
A white box test case design technique that uses the algorithmic flow of the program to design tests.
The set of tests derived using basis path testing.
The point at which some deliverable produced during the software engineering process is put under formal change control.
Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration.
Testing of a rerelease of a software product conducted by customers.
Binary Portability Testing:
Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification.
Black Box Testing:
Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Bottom Up Testing:
An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).
Boundary Value Analysis:
In boundary value analysis, test cases are generated using the extremes of the input domaini, e.g. maximum, minimum, just inside/outside boundaries, typical values, and error values. BVA is similar to Equivalence Partitioning but focuses on “corner cases”.
Testing in which all branches in the program source code are tested at least once.
A test suite that exercises the full functionality of a product but does not test features in detail.
A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Computer Aided Software Testing.
A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time. Most commonly applied to GUI test tools.
The Capability Maturity Model for Software (CMM or SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes.
Cause Effect Graph:
A graphical representation of inputs and the associated outputs effects which can be used to design test cases.
Phase of development where functionality is implemented in entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented.
An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention.
A formal testing technique where the programmer reviews source code with a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards.
A formal testing technique where source code is traced by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer’s logic and assumptions.
The generation of source code.
Testing whether software is compatible with other elements of a system with which it should operate, e.g. browsers, Operating Systems, or hardware.
A minimal software item for which a separate specification is available.
See Unit Testing.
Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores.
The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard.
Context Driven Testing:
The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.
Testing of programs or procedures used to convert data from existing systems for use in replacement systems.
A measure of the logical complexity of an algorithm, used in white-box testing.