Home
Updates! What's New?
Got Questions? Get Answers!
QA Overview What is QA?
QA Employment Jobs
Testing Portfolios
Testing Services
Free Consultation
QA Training Become a Tester!
QA Course List
Testers The QA Elite
The Beta Tester
The Game Tester
The Software Tester
Testing SQA Glossary
Types of Testing
QA Metrics
Forms & Templates
Etc... About Us
Contact Me
Privacy Policy

E-mail Address

First Name (optional)

Then

Don't worry -- your e-mail address is totally secure.
I promise to use it only to send you SQA the Right Way!.

Subscribe To Successful Quality Assurance
XML RSS
Add to Google
Add to My Yahoo!
Add to My MSN
Subscribe with Bloglines
 

Software Testing Glossary

A software testing glossary is a tool that you should have at your fingertips as you build your quality assurance career. Keeping up with quality assurance definitions is a valuable habit to acquire. Continually “sharpening the saw” by solidifying and increasing your quality assurance knowledge will keep you in-the-know and in demand.

Our goal with this software testing glossary is to bring you the terms and definitions that you need to know in order to succeed. We don’t want to create a software testing glossary that simply inundates and confuses you. We do our best to keep only terms that can be readily useful for you.

If there are test terms that you think should be included, just contact us and let us know. We will review your submission and add it to our list if there is enough demand. This software testing glossary is for you – so tell us what you want to know.

This software testing glossary will give you not only the textbook definitions, but also provide valuable real-world explanations. What other software testing glossary does that?

If you want to increase your value as a QA Tester, if you really want to succeed as a tester; you should learn all of the terms in this software testing glossary.

These definitions are standard. Although each company tends to use slightly different terminology (and each company believes that they are right), if you learn the software quality assurance definitions in this list, you will be well on your way to fluency in any environment.

If you want a job in the world of software testing, learn these terms. If you want to be a leader in the technology industry, learn these terms. If you want to apply the correct techniques, then you must know these terms.

Live it, learn it, love it…this software testing glossary is for you!


Acceptance Testing – Testing conducted to determine whether a software build is of acceptable quality to test further. Normally performed to validate the software meets a set of agreed acceptance criteria

Ad Hoc Testing – A testing in which the tester tries to break the system by randomly trying the system's functionality

Agile Testing – Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing a test-first design paradigm

Alpha – Alpha is the test phase in which the product is usable in a test environment but not necessarily bug-free

Automated Testing – Testing employing software tools which execute tests without manual intervention

Benchmark Testing – Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration

Beta – Beta is the test phase in which the product is feature complete. This version may be distributed for limited public testing and feedback

Beta Testing – Testing of a build or version that has met Beta milestone criteria. Testing a release or version of a product conducted by the public

Black Box Testing – Testing based on an analysis of the specification of a piece of software without reference to its internal workings. Testing by using the GUI, not by analyzing at the code level

Boundary Testing – Testing of the program’s own rules, from within

Bug – A fault in a program which causes the program to perform in an unintended or unanticipated manner. An anomaly, defect, error, exception, or fault

Bugbase – The database in which all defects (bugs) are logged, prioritized, and tracked. (see Defect Tracking System)

Compatibility Testing – Testing how well software performs in a particular hardware/software/operating system/network/etc. environment

Defect – See “Bug”

Defect Tracking System – A tool used by a project team to organize, prioritize, and track all defects (bugs) related to the project. The engine most often used is a database, although projects may also use a spreadsheet

Endurance Testing – Checks for memory leaks or other problems that may occur with prolonged execution

End-to-End Testing – Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate

Final Candidate – A Release Candidate that meets the criteria to have the final tests performed before Gold Master is declared

Functional Specification – A document that describes in detail the characteristics of the product with regard to its intended features

Functional Testing – Testing the features and operational behavior of a product to ensure they correspond to its specifications. (See Black Box Testing)

Gold Master – A shippable version of the product

Gray Box Testing – A combination of Black Box and White Box testing methodologies to test software against its specification but using some knowledge of its internal workings

Integration Testing – Testing of combined parts of an application to determine if they function together correctly. Usually performed after unit and functional testing. This type of testing is especially relevant to client/server and distributed systems

ISO 9000 – A family of standards used for quality management systems. ISO stands for the International Organization for Standardization

Load Testing – Testing that creates demand on a system to define its limits by measuring the system’s response

Localization Testing – Testing software specifically designed for a specific locality – this testing focuses on language

Metric – A standard of measurement. Software metrics are the statistics describing the structure or content of a program. A metric should be a real objective measurement of something such as number of bugs per lines of code


A software testing glossary should help you solidify your knowledge of QA terminology and increase your understanding of the software testing process. We do our best to keep the terms in this software testing glossary topical and useful so that you remain topical and useful.




Negative Testing – Testing aimed at showing software does not work and checking for failure states

Performance Testing – Testing conducted to evaluate the compliance of a system or component with specified performance requirements. Often this is performed using an automated test tool to simulate large number of users

Post Mortem – An end-of-project wrap up meeting to review the project and set a path for improvement

Pre-Alpha – A phase of testing during which builds that are only semi-functional. Testing focuses on specific features, not holistic testing

QA – Quality Assurance

Quality Assurance – All the planned or systematic actions necessary to provide adequate confidence that a product or service is of the type and quality needed and expected by the customer

Regression Testing – Testing a previously tested program following modification to ensure that faults have not been introduced as a result of the changes made

Release Candidate – A pre-release version, which contains the desired functionality of the final version, but which needs to be tested to verify it is ready for release

RTFM – Read The Manual (don't ask what the "F" stands for)

Sanity Testing – Brief test of major functional elements of a piece of software to determine if it’s basically operational (See also Smoke Testing)

SCM(link opens in new window) Software Configuration Management. These are the practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations

SDLC – Software Development Lifecycle or Software Design Lifecycle

Smoke Testing – A quick-and-dirty test that the major functions of a piece of software work. The name of this test originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire

Soak Testing – Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed

Software Development Lifecycle – The processes and parameters that govern the creation of software in a defined project or projects

SQA – Software Quality Assurance

Stress Testing – Testing the limits of a system by altering the external variables

System Testing – Testing that attempts to discover defects that are properties of the entire system rather than of its individual components

Test Bed – An execution environment configured for testing. May consist of specific hardware, OS, network topology, configuration of the product under test, other application or system software, etc. The Test Plan for a project should enumerated the test beds(s) to be used

Test Case – A commonly used term for a specific test

Test Environment – The hardware and software environment in which tests will be run, and any other software with which the software under test interacts when under test including stubs and test drivers

Test Plan – A document describing the scope, approach, resources, and schedule of intended testing activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning. Ref IEEE Std 829

Test Suite – A collection of tests used to validate the behavior of a product

Unit Testing – Testing of individual software components. Often this testing is performed at the code level

Usability Testing – Testing the ease with which users can learn and use a product

Use Case – The specification of tests that are conducted from the end-user perspective. Use cases tend to focus on operating software as an end-user would conduct their day-to-day activities

Waterfall Testing – A model that is sequential, flowing through several predefined phases

White Box Testing – Testing based on an analysis of internal workings and structure of a piece of software

We will continue to update this software testing glossary so that it can be a repository of information you can rely on. Subscribe to our feed (in the left margin) to receive updates as they appear.

Remember, if there is a specific term that you would like this software testing glossary to define (technically as well as practically) just let us know. We will do our best to oblige!

Return from our Software Testing Glossary to Successful Quality Assurance Home






E-mail Address

First Name (optional)

Then

Don't worry -- your e-mail address is totally secure.
I promise to use it only to send you SQA the Right Way!.