Glossary of Key Terms
Check out our glossary for simple definitions of industry jargon and tech concepts. It’s the perfect guide to help you navigate the language of software engineering, project management, quality assurance, and design!
Software Engineering Glossary
Algorithm
A step-by-step procedure or formula for solving a problem.
API (Application Programming Interface)
A set of rules and tools that allows software applications to communicate with each other.
Backend
The server-side of a software application, responsible for managing data, business logic, and server operations.
Bug
An error, flaw, or unintended result in software code.
Code
Instructions written by developers to be executed by computers.
Compiler
A tool that translates source code from a high-level programming language to a machine-level language.
Database
A structured set of data stored electronically, accessible in various ways.
Frontend
The user interface of a software application, where interactions between users and systems occur.
IDE (Integrated Development Environment)
A software application that provides comprehensive facilities to programmers for software development.
Library
A collection of pre-compiled routines that a program can use.
Middleware
Software that acts as a bridge between an operating system or database and applications, especially on a network.
Object-Oriented Programming (OOP)
A programming paradigm based on the concept of "objects", which can contain data and code.
Patch
A piece of software designed to fix or improve a computer program or its supporting data.
Repository
A central location in which data is stored and managed.
SDK (Software Development Kit)
A set of software development tools that allows the creation of applications.
Source Code
The version of software as it is originally written by a human in plain text.
Stack
A collection of software technologies suitable for achieving a specific task.
Version Control
A system that records changes to a file or set of files over time so that specific versions can be recalled later.
Web Server
Software that uses HTTP (Hypertext Transfer Protocol) to serve the files that form web pages to users.
Framework
A software framework provides a standard way to build and deploy applications.
Runtime
The period when a program is running, beginning when it's executed and ending when it's terminated.
Debugging
The process of identifying and removing errors from computer hardware or software.
Code Pattern
A general repeatable solution to a commonly occurring problem in software design. It isn't a finished design but a template for solving a problem that can be used in many different situations.
TDD (Test Driven Development)
A software development process where you write tests for tasks before writing the code to implement those tasks. The goal is to improve the quality of the code and create a robust, bug-free solution.
Syntax
The set of rules that defines the combinations of symbols that are considered to be correctly structured programs in a programming language.
Variable
A storage location paired with an associated symbolic name, which contains some known or unknown quantity of information.
Design Glossary
Aesthetics
The appreciation of beauty or good taste, pertaining to the visual appeal of a design.
Branding
The visual and conceptual identity of a company or product, encompassing elements like logos, colors, and typography.
Color Theory
A field of study that explores how different colors can evoke emotions, convey messages, and create harmony in design.
Composition
The arrangement of visual elements in a design, ensuring balance, contrast, and focus.
Design Thinking
A problem-solving approach that prioritizes empathy, experimentation, and iteration.
Grid System
A framework used to organize content in a design, ensuring alignment and consistency.
Hierarchy
The arrangement of design elements to signify importance, often using size, color, or placement.
Iconography
The use of icons or symbols to represent ideas or concepts in design.
Kerning
The adjustment of space between individual letters in typography.
Mockup
A model or replica of a design used to demonstrate or test the final product's appearance.
Negative Space
The empty or open space around an object that defines it.
Palette
A specific range of colors chosen for a design or artwork.
Responsive Design
A design approach where content adjusts to different screen sizes, ensuring usability across devices.
Typography
The art of arranging text in a design, encompassing font choice, size, spacing, and layout.
User Experience (UX)
The overall experience a user has with a product, system, or service, especially in terms of usability.
User Interface (UI)
The point of interaction between the user and a digital device or product.
Vector
A type of graphic that uses mathematical equations to ensure it can be scaled without losing quality.
Wireframe
A basic, visual representation of the layout of a website or app, used in the early stages of design.
Mood Board
A collage of images, text, and other materials used to convey a design's intended aesthetic and emotional appeal.
Prototype
An early sample or model built to test a design concept.
Contrast
The difference between two or more elements in a design, often used to draw attention or create focus.
Project Management (PM) Glossary
Agile
A project management and product development approach that prioritizes flexibility, collaboration, and customer feedback.
Baseline
The approved version of a work product, including a specified timestamp.
Critical Path
The sequence of stages determining the minimum time needed for an operation.
Deliverable
A tangible or intangible good or service produced as a result of a project.
Earned Value Management (EVM)
A technique for measuring project performance and progress in an objective manner.
Gantt Chart
A type of bar chart that illustrates a project schedule.
Issue
A current condition or situation that may turn into a problem affecting the project's timeline or outcome.
Kickoff Meeting
The first meeting with the project team and the client to discuss the project's objectives.
Milestone
A significant point or event in a project.
Network Diagram
A graphical representation of a project's schedule, showing the sequence of tasks.
Objective
A statement that describes the desired outcome of a project.
Project Charter
A formal document that authorizes the existence of a project and provides the project manager with the authority to apply organizational resources to project activities.
Project Life Cycle
The stages a project goes through from initiation to completion.
Resource Allocation
The assignment of available resources in an economic way.
Risk Management
The process of identifying, analyzing, and responding to project risks.
Scope
The boundaries of the project, defining what will be delivered as the project's end product or service.
Stakeholder
An individual, group, or organization that may affect, be affected by, or perceive itself to be affected by a decision, activity, or outcome of a project.
Task
A single unit of work – an action needed to contribute toward a project's objectives.
Timeline
A visual representation of a chronological sequence of events.
Waterfall
A linear and sequential approach to project management where each phase depends on the deliverables of the previous one.
Work Breakdown Structure (WBS)
A hierarchical decomposition of the total scope of work to be carried out by the project team.
Quality Assurance (QA) Glossary
Acceptance Criteria
The criteria that a component or system must meet in order to be accepted by the user.
Acceptance Testing
The process of determining whether a software system satisfies the acceptance criteria and enables the user to determine whether to accept the system.
Accessibility
The practice of making websites or applications usable by different groups of people with the widest range of characteristics and capabilities.
Actual Result
The behavior produced when a component or system is tested.
Ad Hoc Review
A review technique that does not have a structured process.
Agile Testing
A software testing practice that follows the principles of agile software development.
Alpha Testing
A type of acceptance testing performed by potential users in the developer’s environment.
Automation Testing
The use of software tools to run predefined test cases on a software application without human intervention.
Black Box Testing
The method of testing software without knowing the internal structure and the source code of the software.
Boundary Value Analysis
Boundary value analysis is a software testing technique in which tests are designed to include representatives of boundary values in a range.
Browser Compatibility Testing
Nonfunctional testing performed to check the compatibility of the software application on different browsers or devices.
Bug
A flaw or defect in a system that can cause it to behave unexpectedly or contrary to its specification.
Bug Report
A detailed document about bugs found in the software application.
Change Related Testing
The process of testing the system after changes are made, either to correct a defect or because of new or changing functionality.
Complexity
The degree to which a component/system has a design/internal structure that is difficult to understand, maintain, and verify.
Component
A part of the system that can be tested in isolation.
Component Testing
The testing of individual components.
Condition
A logical expression that can be evaluated as true or false.
Confirmation Testing
The process of testing to check whether the original defect has been successfully fixed.
Continuous Integration (CI)
A development practice where developers integrate code into a shared repository frequently, ideally several times a day.
Cookies
Files created by websites you visit with the purpose of making your online experience easier by saving browsing information.
Coverage
The degree to which coverage items have been determined to have been exercised by a test suite (expressed as a percentage).
Cross Platform Testing
Testing performed to determine the behavior of an application and website in different environments.
Debugging
The process of finding, analyzing, and removing the causes of failures.
Defect
An error in a system that produces undesired or incorrect results.
Desktop Application
A program that runs locally on a computer device, such as desktop or laptop computers.
Design Testing
Testing performed to ensure that application appearance matches the specification from the design team.
Dynamic Testing
Testing that includes the execution of a test item.
End-to-End Testing
Testing the flow of an application from start to finish to ensure the entire process of inputs, processing, and outputs work as expected.
Entry Criteria
Set of conditions for starting a task.
Environment
A setup of software and hardware for the testing teams to execute test cases.
Equivalence Partitioning
A software testing technique that divides the input data into partitions of equivalent data.
Error
A human action that produces a defect when put into the code.
Error Guessing
Test technique based on the tester’s knowledge of past failures.
Estimation
Gives information about the duration of the QA processes and the time needed to do the testing on the project.
Exit Criteria
Set of conditions for completing a task.
Expected Result
Description about how a component or a system should behave when the reproduction steps are carried out.
Experience-Based Testing
Testing based on the tester’s knowledge and experience.
Exploratory Testing
An experience-based approach where testers dynamically design and execute tests based on their knowledge and exploration.
Failure
An event where a component or system does not perform a required function within specified limits.
Formal Review
A form of review that follows a defined process with a formally documented output.
Functional Requirement
A requirement that specifies a function that a component or system must be able to perform.
Functional Testing
Testing the system to ensure it behaves according to the specified requirements.
Gray Box Testing
A combination of white-box and black-box testing aimed at detecting defects due to improper structure or usage of applications.
Impact Analysis
The identification of all work products affected by a change.
Incremental Development Model
A development life cycle model in which the project scope is determined early but evolves as the project progresses.
Informal Review
A type of review without a formal procedure.
Integration Testing
Testing of combined parts of an application to determine if they function correctly together.
Inspection
A type of formal review to identify issues in a work product.
Keyword-Driven Testing
A scripting technique that uses data files to contain not only test data and expected results but also keywords related to the application being tested.
Load Testing
Testing an application under heavy loads to determine its breaking point.
Maintainability Testing
The process of testing the system’s ability to update or modify the application if required.
Maintenance Testing
Testing changes to an operational system.
Manual Testing
Testing of a software application by human action.
Non-Functional Testing
Testing performed to check whether the component or system complies with non-functional requirements.
Pattern Testing
A gray box technique to analyze defects in the build, design, or architecture of the software.
Performance Testing
Testing conducted to evaluate the compliance of a system or component with specified performance requirements.
Portability Testing
The process of checking the compatibility of software across different virtual environments.
Precondition
The required state of a test item and its environment prior to test case execution.
Priority
The level of importance assigned to an item (e.g., defect).
Project Risk
A risk that impacts project success.
Quality
The degree to which a component or system meets specified requirements and user expectations.
Quality Assurance
Part of quality management focused on providing confidence that quality requirements will be fulfilled.
Quality Control (QC)
The process of ensuring that the software product meets the specified requirements and is free of defects.
Quality Management
A group of activities that direct and control an organization with regard to quality in all aspects.
Regression Testing
Testing the application as a whole for modifications in any module or functionality.
Reliability Testing
The process of testing a software’s ability to function under environmental conditions for a particular amount of time.
Reproduction Steps
Clear and unambiguous actions that lead to the bug.
Responsiveness Testing
Verifying that design is fluid and fits different screen sizes/orientations.
Risk
A factor that could result in unwanted and negative consequences.
Risk-Based Testing
Testing in which activities are based on corresponding risk types and levels.
Security Automation Testing
A machine-based execution of security actions.
Severity
The degree of the impact a defect has on a component or system.
Smoke Testing
A preliminary test to detect simple failures severe enough to reject a software release.
Static Testing
Testing that does not include the execution of a test item.
Stress Testing
Testing the system under unfavorable conditions like large workloads.
System Testing
A test level that focuses on verifying that the system as a whole meets specified requirements.
Technical Review
A formal review by technically-qualified personnel.
Test Approach
The implementation of test strategies in a project.
Test Automation
The use of tools and software to perform or support testing activities.
Test Case
A set of precondition statements, inputs, actions, expected results, and post-conditions for testing.
Test Plan
Documentation done to coordinate testing activities.
Test Scenario
A documentation of a use case or situation for testing.
Test Strategy
A guideline that describes the testing approach of the software development lifecycle.
Test Suite
A collection of test cases related to a specific functionality or feature.
Testing
The process of evaluating a system or component with the intent to find whether it satisfies the specified requirements.
UI Testing
Interacting with the graphical interface of a software program.
Unit Testing
A test level that focuses on testing the components.
Usability Testing
Testing the usability or functionality of software from the end-user perspective.
User Acceptance Testing (UAT)
A process to confirm that a system meets mutually agreed-upon requirements from the end-user.
Validation
The process of evaluating software during or at the end of the development process.
Verification
The process of evaluating work-products of a development phase.
Walkthrough
A type of review in which an author leads members through a work product.
Web Application
A general application program hosted on a remote server.
White Box Testing
A testing method where the tester has knowledge of the internal workings of the application.