If you’re a new software tester, you’ve probably been hearing lots of acronyms and jargon that were unfamiliar.
With no context to what people are talking about, it can be frustrating and even overwhelming trying to keep up with all the different terminology.
In this post, I’ll go over some common terms that any new software tester should know before they start their first day on the job.
A – Z Software Testing Glossary
Let’s start this comprehensive list of terms every QA should know to avoid misunderstandings and misinterpretations.
When we execute test cases, we will compare the outcome with the expected results, these outcomes are known as actual results. It is usually used in a bug report to explain the occurrence of the unexpected output.
An anomaly is a deviation from the expected results in the context of software testing, i.e. it’s a bug. When you find an issue in the code related to data flow in white box testing, it is called data flow anomaly.
As Designed is a term that is usually used to reject a bug by,as a QA we report a bug because the functionality of the application is not as expected. But there are chances we might not be aware of the intended functionality. Those invalid bugs get denied as “As designed”.
An audit is a general evaluation process that happens while building or testing a software product along with its process. It can help the organization assess whether the team follows the rules and comply with the standards, specifications, contracts, or other agreements.
Availability is the ratio of the available system time to the total working time it is required or expected to function.
Blocker refers to bug severity, it is when the application completely crashes. It indicates that the software is no longer testable with no workaround where the tester is unable to test the application.
Deferred is one of the states of the bug in the bug life cycle. It implies that the bug will not get fixed in the current releases but the developers take care of these issues in future releases.
Bug leakage is when there is a bug in the production environment that is not detected by the testing team and is missed during the test cycle. Usually, these bugs get reported by the customer or the end-user.
Bug release is when the team releases the application to production with some known bugs. Usually, these bugs are of low priority and severity, which couldn’t be fixed due to some time constraints or other priorities.
Change control board
Change Control Board is a group of individuals predominantly working in Software projects who are responsible for making changes, taking important decisions, and more.
Change request refers to the alteration of the product or system in a proposal. These are usually brought up by a client or another team member when they want a change in the agreed-upon deliverables.
A checklist includes various tests that help us to determine whether the product is ready for deployment. It contains a list of tests with defined procedures, it helps us figure out whether everything gets executed completely.
Checkpoints is an intermediate verification step, i.e, it identifies if there is a problem in a test without going through the whole process. It helps us compare the current value with the expected value for a specific object.
Capability Maturity Model Integration is a process improvement approach that helps the organization to find its strength and weakness. It assists to streamline and organize the process with appropriate process changes, improvements, and modifications.
Code coverage is a metric used to determine how much of the code is being successfully validated while testing. It is a white box testing technique that helps in analyzing how comprehensively a software gets verified.
Code injection is a security risk, it happens when the attacker uses the input flow of the application to feed untrusted data into the system. Here the attacker exploits the input validation flaws to inject and execute malicious code.
Code review helps us to check the software code to identify defects and to evaluate the quality of the code. It can happen formally or informally with a team lead or peers. This helps in reducing time, effort and saves money by catching the issues early in the cycle.
Code standards are the rules, guidelines, and best practices that help you write uniform, readable and maintainable. Thus it provides a robust process to write code.
The compilation is the process of converting the source code into object code i.e executable code. It checks for the syntax error, only if the structure of the code is proper it converts it into object code.
Compliance is a set of rules, regulations, and guidelines that are placed by both external and internal teams. In the context of testing, it checks whether the product, process, code, etc are per standards before the application gets released into production.
Conditional Sign off
Conditional sign-off happens when the code gets released to the production environment with known issues or defects that are not fixed in this release. It happens when the application testing doesn’t meet the exit criteria of the test plan.
Coverage in testing means the measurement of the amount of testing that is performed in the test cycle. It helps us determine whether the software is thoroughly tested or not, it can help us identify the mistakes while testing the application.
Crowdsourcing is the process of requesting services or information from a large group of people. Crowdsourcing works with large groups of individuals. Crowdsourcing works by taking a project and dividing it up into smaller tasks.
Daily builds can be defined as creating a version of software every day, these builds are automatically generated with the latest changes in the system. Basic smoke testing is done to check the stability of the application, this helps in detecting the immediate bugs and errors in the code daily with less effort.
Deadlock happens when a process enters into a waiting state as two or more systems use the same resources simultaneously which eventually leads to blocking each other.
Debugging can be defined as the process of finding and fixing bugs in the program. It is an extremely complex and tedious task as errors have to be addressed in every level of debugging.
A deliverable is a product or an outcome that is submitted to the client or any stakeholder after completion. In the context of testing, it can be anything from a test specification document to a test closure document.
Domain Expert is an individual with special knowledge or skill in a particular sector. This individual has working experience in that niche and provides valuable insight into the domain.
Downtime is a term used to refer to when the system is unavailable to use. These downtimes are caused due to software bugs, hardware issues, maintenance shutdowns, even environmental disasters.
Edge case might be defined as an unlikely scenario in which the customer is using the application. It is a rare occurrence in which the inputs and outputs might be out of the ordinary. We find these bugs when we perform monkey testing.
An emulator is a software used for testing the application when we don’t have the actual device. It mimics the real-time device both the software and hardware aspect of the system as closely as possible.
Expertise can be defined as a special skill or knowledge that is acquired by an individual through study, practice, and training. To become an expert tester, you should possess the skills of a highly effective tester.
Failover is the ability of the system to switch to another resource when the existing resource fails. It comes under performance testing, where it validates the system’s swiftness to move the backup resource when the server fails.
False negatives happen when the test case passes but the functionality has a bug. It creates a higher risk as it creates an unreliable system that approves defective applications.
False-positive is a state when the test case fails but there is no issue or bug in the functionality, despite it working properly. In this scenario, the tester would be wasting time searching for the non-existent bug.
It can be defined as a change made in the system that brings new functionality into the system or it modifies the existing one. A feature can be a collection of functionality that is used to perform a task in the software.
Flexibility is the ability of a system to adapt to future changes.
Gherkin is a domain-specific language that developers use to write test cases in Cucumber.
A goal is a desired result that a project management team tries to achieve.
Graphical User Interface
Graphical User Interface ( GUI ) is a way to interact with applications and websites. It is very efficient in making things easier for users. It works by providing windows, icons, menus, buttons, and other graphic objects for the user to click or tap on their screen to control their computer/mobile, thus helping users navigate through the website or program.
With its great design, GUI is one of the innovations that make computing what it is today. It has evolved from the earlier text-based command-line interfaces, which required commands to be typed in and didn’t come with attractive icons or visual graphics.
GUI (Graphical User Interface) Testing is a type of Software Testing that deals with testing a Graphical User Interface. It is also known as ‘User Interface Testing’ or ‘Visual Testing’.
It is about determining whether GUI provides an expected result or not. It can be done manually but nowadays, GUI Testing is made possible through the help of GUI test automation tools.
Heuristics are simple, quick, and fallible methods that can help us solve problems and make decisions. It is a method based on experience and knowledge, hence allowing the tester to follow their intuition and error guessing skills while executing the testing.
It is an immediate fix in the code that is in the production environment for a bug fix, security fix, new feature, etc. without causing any downtime in the environment. It usually happens when the client finds a critical issue in the system that cannot wait for the next release.
When testing an application you might observe strange behavior in the system that is not expected in such a scenario, these are called incidents. It is referred to as a bug only when the root cause of the issue is found.
Insourcing is the process of assigning a project (ie., a part of their core business to ensure the quality and consistency is always high) to an employee or department within a company.
Iteration refers to small, gradual updations in the application due to test reports or user feedback. Every time a new version of the software is created it is an iteration that is built upon the previous version.
Interoperability is the ability of two or more systems to communicate or exchange data easily and to use the data that has been exchanged.
Job security is the state of having a job that isn’t likely to be dismissed, and from which one may not be fired. It offers the employees a sense of stability in their workplace. The employer may also provide the employees with a benefit such as pension and health insurance as part of Job security.
Key Performance Indicator
KPI is a metric used to measure the efficiency and effectiveness of the testing process. Some KPIs for testing are Defect detection percentage, Defect closure rates, requirement completion rejected bugs, etc.
Look and feel
This term is usually used to describe the user interface of the application. It is more about the graphical user interface than the usability of the application.
Manual testing is a type of software testing where the tester examines an application without running any programs.
Mutation is also known as a fault is defined as small but deliberate changes in a source code. These small changes are planned to typical low-level errors that happen at the time of the coding process.
Maintainability is the ability of a software application to maintain easily and support changes cost-effectively. In software testing, it refers to how easily we can update the test plans or test cases whenever we make some changes in the software application.
A naming standard is a concept created in the Information Technology (IT) world to ensure that a company can maintain uniform names for files, folders, and software in order to avoid any confusion.
A new feature is the addition of a new function to existing software that means that software receives an update to offer more functions.
New Feature Testing
New Feature Testing is to test the new features of the software to ensure that all the new features added to the existing software are working as expected. One who is performing this type of testing should have a clear knowledge of the new features.
In software testing, we get the outcome when the cases are executed and the automation scripts are running. Here the expected outcome would be a stable application that meets all the requirements and can be released to the market.
Outsourcing is the process of getting a company or individual to do the work in-house. Outsourcing works with large groups of people.
P0 is the highest level of priority that is set for a bug that has to be fixed or a task that has to be completed immediately. P0 is assigned when everything fails, the system crashes and there is no way to access the system without fixing it.
Peer review is the process of checking the test case, test scripts, and automation code of a tester by a fellow tester who is in a similar role in the hierarchy. It helps to find issues in the early stage and rectify mistakes.
Performance is the ability of a system in the form of responsiveness to various actions within a certain period of time.
Prerequisites are conditions that have to be fulfilled before performing the test execution. For example In e-commerce testing, while executing reorder cases, the prerequisite would be to have an account with a failed order or purchased order of the same item.
Production is a term used to refer to the application that is released in the market. It is an environment with real users and real-time settings in hardware and software. The code is pushed to production when the testing team confirms it is stable and error-free.
Portability is the ability of a software application to run on numerous platforms such as data portability, hosting, viewing, etc.,
Quality is one of the key parameters to measure a product or service as per customer requirements and expectations.
Quality Assurance (QA)
Quality assurance (QA) is the set of planned and systematic activities to ensure that a product or service meets the requirements of its users and other specified stakeholders.
It is an integral part of Quality management and can be considered a way of defining Quality standards for a company’s products or services.
Quality assurance activities provide the documented evidence that Quality standards are met.
The people who perform Quality assurance are called Quality assurance engineers, or Quality auditors.
Quality control is the process that ensures a product or service meets the requirements and has passed any necessary testing.
Must Read: Quality Assurance vs Quality Control
Quality Assurance Services
QA Services is a term used to refer to QA activities performed for other people or organizations.
Quality Assurance Services ensures a product, service, or organization meets the expectations of an organization.
Quality Assurance services are typically provided by a third-party company that monitors a contracted entity’s quality of service to ensure that the work product is meeting agreed-upon specifications. Quality Assurance services are usually conducted on a contractual basis, to verify the quality and performance of one or more organizational processes.
Quality Assurance as a Service
Quality Assurance as a Service (QaaS) is the process wherein software is tested using automation tools. QA as a Service also refers to a cloud-based service that offers testing tools and services to companies.
QaaS has many names such as Testing as a Service, Automation as a Service, and Testing in the Cloud.
The companies that play the role of providing QaaS are called QaaS providers.
There are many benefits of QaaS such as cost reduction, scalability, and reliability. It also offers peace of mind by automating a software testing process and reducing human efforts.
QaaS is rapidly gaining popularity in the market due to the rise of cloud-based services, automation tools, and companies seeking to reduce manual efforts.
QA Consultants are part of quality assurance and software testing services, which means that they help improve the quality of software applications and their production processes. Their aim is to ensure that the end product meets customer standards.
QA Consultants are experts in the field of testing, and without software testers, they could not complete their work. Their job is to test software applications both manually and automatically, create reports that should be sent to developers, find issues, and suggest improvements.
QA Consultants are part of the QA team. Their job is to provide solutions for any issues that occur during a project. They usually work with Project Managers, Software Developers, and Software Testers to create test plans, write requirements and improve the overall quality of software.
The release is the process of distributing the product to a real-time environment. It is when the software reaches its intended customers. The application gets updated with each build and version, later released to the production environment.
Release note refers to the document that is shared with the clients or customers of the product when the software is released. It contains details about new enhancements, known bugs, bug fixes, etc.
Risk mitigation is the process of planning for unforeseen disasters, this helps in reducing the impact of such scenarios. Risk mitigation focuses on reducing the probability of negative consequences in the SDLC.
Robustness refers to the integrity and stability of the software. When testing the robustness of the software we will be focusing on negative testing, providing the software with invalid inputs to check its exceptional handling.
The root cause is the term used to address the reason for the occurrence of a problem. When the system functions in an unexpected way we try to find out its root cause to fix the issue.
Root cause analysis
Root cause analysis is the process of finding the root cause of the issue to identify the appropriate solution for the problem. It shows us the process, event, trends, or the system that caused the failure.
Reliability is the ability of a system to continue to keep operating overtime.
Reusability is the use of existing software I more than one software with small or no change. It is a cost-efficient and time-saving quality attribute.
Scalability is the ability of a system to handle the demand for stress caused by increased usage without decreasing performance.
The selector is a common term used to denote CSS selectors used in automation. CSS selector is a combo of an element selector and it is a value that identifies the web elements within a webpage.
Security is the ability of a system to resist or block malicious or unauthorized attempts that destroy the system and at the same time provide access to legitimate users.
Showstopper is a highly critical bug that doesn’t allow the user to proceed further in the module or unit. It doesn’t let the QA test the application without fixing the issue.
QA sign-off happens when the application is thoroughly tested declaring the completion of the test cycle. It indicates that the application is thoroughly tested and is ready for release.
Simulator imitates only the software configuration of the real devices to create an environment to test the application. Simulators are usually used to mimic iPhones and iPad devices.
The stage is a testing environment that is a replica of the production environment but it won’t be available in the public domain. It is the last step in the deployment process.
Supportability is the ability of a system that satisfies necessary requirements and needs to identifying and solving problems.
Test Bed refers to the test environment that is configured for executing the test cases. It consists of the specific hardware, software, OS, network configuration, and other setup required for the execution of the test.
A test log is a record of test results and other details that are relevant to the execution. It provides information about various test operations, environments, and results that can be later shared with the stakeholders.
The test run will keep track of the test results once the test is executed. Test status like passed, failed, assigned, in progress, and other information about the test cycle
Testware is a collective term used for all the documents, software, and other artifacts related to testing. It includes scripts, testing tools, databases, files, documents, input data, environment, and other software or utilities related to software testing.
Testability shows how well the system or component facilitates to perform tests to determine whether the predefined test criteria have been met.
In the Agile software development model, user stories are informal, general explanations about the software requirements, written from the perspective of an end-user. It is the smallest unit of work in the agile framework.
Usability is described as how the user is utilizing a system effectively and the ease of which users can learn to operate or control the system. The well-known principle of usability is KISS (Keep It Simple Stupid). Software applications should be user-friendly.
V-Model in software development is also known as the Verification and Validation (V&V) model. It describes the life-cycle that a system or application goes through from the requirement phase to the maintenance phase. In V-Model, each phase must be completed before the next phase begins.
A walkthrough in software testing is an informal meeting initiated by an author to review documents with peers or team members to collect feedback on the system to be tested.
A webform is an HTML form that allows the user to input data. A common web form is one related to booking online tickets or registering for an event – this form typically asks for information such as your name and address.
A web server hosts and delivers HTML documents. It makes a website available on the World Wide Web, which anyone can view using a browser (e.g., Firefox).
A white list (in terms of email) is a type of filter which helps to separate unwanted emails from the personal inbox.
A white list (in terms of websites) is a type of filter used for a list of pre-approved websites that may be allowed through network filters or blacklists.
Workaround in software development refers to a temporary solution to solve an unexpected problem. Workarounds exist so as not to lose time implementing ideal solutions or waiting until new features are implemented.
XPath stands for XML Path is a query language to select nodes from an XML document.
XML stands for eXtensible Markup Language. It provides rules for encoding data in a way that is both human-readable and computer-readable.
YAML is a popular human-readable data serialization standard that supports many programming languages.
Zephyr for JIRA is a simple and powerful native application that resides in JIRA Software or JIRA Core and brings the capabilities of test management to any JIRA project to help teams to stay on top of their work.
I have compiled a list of common software testing terms that every software tester should know. I’ve provided definitions for each term we use so that you can better communicate with your team or clients about what’s happening during a project. If there are any other phrases that confuse you, let us know and we’ll update this glossary as needed! In addition, here is 100+ Types of Software Testing post.
If there’s anything you don’t understand, feel free to comment below! Happy Testing!