Software Testing Glossary
A resource of terms commonly used in software testing.
Testing Terminology
This A-Z resource of testing terms and abbreviations could help your understanding of the subject.
It could even clear up some misconceptions about some of the jargon used in testing.
Acceptance Criteria
The conditions or requirements that a website and any associated system must meet for it to be accepted by stakeholders, and ultimately by users or customers.
Acceptance Testing
Acceptance Testing (AT) This is a type of testing to ensure that the website, software or system meets the specified requirements and is accepted by the end user. Ideally, acceptance testing should be performed by the intended users.
Acceptance Testing also applies to new or updated functionality. Even though the code or application might be functionally sound and error free, it could fail Acceptance Testing if it doesn’t meet the specified requirements.
The main forms of acceptance testing are, Functional testing, Non-functional testing, Black-box testing and White-box testing.
Also see User Acceptance Testing
(UAT).
Accessibility Testing
Ensuring that a website is accessible to people with disabilities and complies with accessibility standards such as WCAG (Web Content Accessibility Guidelines).
Ad Hoc Testing
Informal testing without using predefined test cases or plans, which is often used for exploring the website. Whilst Ad Hoc Testing might sound like a casual approach will little value, it can be really useful to do, particularly when the person testing is able to record and report any steps they took to reproduce any bugs or errors they come across.
Agile Testing
Agile testing focuses on ensuring quality throughout the Agile software development process, and will typically be carried out in conjunction with test cases with pre-conditions and specific acceptance criteria to be met.
Alpha Testing
Alpha Testing is the initial testing carried out by the development team to identify defects before releasing the software to the testing team or to a wider audience which might include business analysts, product owners, etc.
Any such defects (or bugs) can be fixed before handing over, but sometimes their presence can lead to discussions and questions which might not have previously been considered.
API Testing
Verifying the functionality and performance of a website's API (Application Programming Interface).
API’s might be present between different layers
of an application (for example between the presentation layer, business layer and database layer), and they might be present between two or more systems such hotel, airline and rental car reservation systems.
Audits (Website Audits)
In terms of a website audit, it is an analysis of the website and its individual sections, pages and components to evaluate them from a performance, functional and compliance perspective.
The objectives of a website audit will vary based on the nature of each website, and therefore different levels of emphasis could be placed on performance, functionality, compliance, SEO, and usability on different devices (ie desktop, mobile and tablets).
Website audits should not be considered as a one-time activity, because things can change over time due to development work, content updates, changes in technology, markets, legislation and other factors.
Website AuditsAutomation Testing
The use of tools and scripts which can be run on demand to execute test cases and compare actual outcomes with expected outcomes.
The advantages include the saving of time when needing to run tests repeatedly with little to no human interaction. Those advantages should be weighed up against the time required to set up the tests, and manage them as changes to the software are implemented over time.
Backend Testing
With reference to websites, whilst the front-end can be considered as what the user sees in the browser in terms of styling, design, images, etc., the back-end is the server-side of the application, including databases, server applications, and APIs.
For example, in terms of an eCommerce platform, the backend could consist of databases which store data such as product information, prices, search terms, delivery charges, search terms, location information, stock availability, customer data, etc.
Beta Testing
Testing conducted by a group of end-users before the release of the software. The aim is to identify issues and gain feedback from users in a real-world environment before officially making the software available to a wider audience.
Black Box Testing
Black Box Testing is a method of testing where the internal logic and structure of an application are not known to the tester. The focus is on testing inputs and evaluating outputs.
As described by the ISTQB, this is a specification-based method and derives tests from documentation external to the test object, with the main objective of black-box testing is to check the system's behavior against its specifications.
Browser Compatibility Testing
Browser Compatibility Testing (also known as Cross-Browser Testing) is to verify that web pages display and function correctly across different web browsers, such as Chrome, Firefox, Safari, Opera and Internet Explorer (now replaced with Microsoft Edge).
This also extends to mobile devices and tablets, many of which use their own type of browser.
Not all browsers or browser versions are compatible with some of the layout and styling elements, such as some of those introduced to CSS in recent years. Different browsers also have different ways of rendering certain fonts and symbols.
Browser TestingBugs
Bug is a term often used when describing a software defect or error, which causes the software or website to behave unexpectedly or prevent it from functioning as intended.
Finding and fixing bugs in software is known as Debugging.
Cross Browser Testing
Cross Browser Testing (also known as Browser Compatibility Testing) is to verify that web pages display and function correctly across different web browsers, such as Chrome, Firefox, Safari, Opera and Internet Explorer (now replaced with Microsoft Edge).
This also extends to mobile devices and tablets, many of which use their own type of browser.
Cross Browser TestingCompliance Testing
Compliance Testing is to verify that systems or processes, including websites, adhere to regulatory requirements (which can vary from country to country), industry standards, or organizational policies.
ISTQB
The International Software Testing Qualifications Board (ISTQB) is the leading global certification scheme in the field of software testing.
Quality Assurance
As defined by the ISTQB, Quality Assurance is a process-oriented, preventive approach that focuses on the implementation and improvement of processes.
Quality Assurance applies to both the development and testing processes, and is the responsibility of everyone on a project.
Quality Assurance is not the same as Quality Control, although the two terms are often used interchangeably.
Quality Assurance is often abbreviated to QA.
Quality Control
As defined by the ISTQB, Quality Control is a product-oriented, corrective approach that focuses on those activities which support the achievement of appropriate levels of quality. Testing is a major form of quality control, while other methods include model checking, proof of correctness, simulation and prototyping.
Quality Control is not the same as Quality Assurance, although the two terms are often used interchangeably.
Quality Control is often abbreviated to QC
Regression Testing
Verifying that new changes to the software or application, including websites, hasn't negatively impacted existing functionality.
Regression Testing should also be carried out after fixes to bugs has been carried out, to ensure that the by fixing one problem hasn’t created any new problems which didn’t previously exist.
Regression Testing is often carried out using automated systing tools, but it can of course be carried out manually.
Test Case
Test Cases are sets of conditions or variables which a tester will use to determine whether the system, which may of course be a website and it’s supporting systems, meets the requirements or works as intended.
Test Scripts
set of instructions for executing a test, often used in automated testing.
Use Case
A Use Case can set out the steps that a user should take to carry out a specific task.
For example, to rent a car online, before even being able to choose a car and see the costs involved, the user will need to go through a number of steps including selecting a pickup location as well as dates and times for pickup and return of the car. That will require a use case, as will the selection of vehicle, add-ons, insurances and selection of payment method.
There might also be variations of use cases to cater for different customer types and requirements.
User Acceptance Testing (UAT):
UAT is the final phase of testing where the client (or end-users) validate whether the system, (which can include a component, feature, section or the whole of a website) meets their requirements before it goes live.
Even if the system, feature or update is functionally sound and has no bugs or technical defects, if the it does not meet its objectives, it is likely to fail the User Acceptance Testing stage.