Software Quality Definitions
This glossary explains the meaning of key words and phrases that information technology (IT) and business professionals use when discussing software quality and related products. You can find additional definitions by visiting WhatIs.com or using the search box below.
-
S
spiral model
The spiral model is a systems development lifecycle (SDLC) method used for risk management that combines the iterative development process model with elements of the waterfall model.
-
SQL injection (SQLi)
A SQL injection (SQLi) is a technique that attackers use to gain unauthorized access to a web application database by adding a string of malicious code to a database query.
-
SSADM (Structured Systems Analysis and Design Method)
SSADM (Structured Systems Analysis and Design Method) is a widely used computer application development method in the United Kingdom, where its use is often specified as a requirement for government computing projects.
-
staging environment
A staging environment (stage) is a nearly exact replica of a production environment for software testing.
-
stand-up
In agile software development, a stand-up is a daily progress meeting, traditionally held within a development area. Business customers may attend for the purpose of gathering information. (Continued...)
-
static testing
Static testing is a software testing method that examines a program -- along with any associated documents -- but does not require the program to be executed.
-
structured programming (modular programming)
Structured programming, or modular programming, is a programming paradigm that facilitates the creation of programs with readable code and reusable components.
-
synthetic monitoring
Synthetic monitoring is the use of software to simulate user interactions with a system.
-
system testing
System testing, also referred to as system-level testing or system integration testing, is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or application.
-
What is a software requirements specification (SRS)?
A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development.
-
What is a sprint (software development)?
In Agile product development and software project management, a sprint is a set period of time during which specific work has to be completed and made ready for review.
-
What is shift-right testing?
Shift-right testing is a method of continuously testing software while it is in a post-production environment.
-
What is software resilience testing?
Software resilience testing is a method of software testing that focuses on ensuring that applications perform well in real-life or chaotic conditions.
-
What is static application security testing (SAST)?
Static application security testing (SAST) is the process of analyzing and testing application source code for security vulnerabilities.
-
What is systems development life cycle?
The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project -- from an initial feasibility study all the way through maintenance of the completed application.
-
What is the software development lifecycle (SDLC)?
The software development lifecycle (SDLC) is a project management framework that describes the stages and tasks involved in each step of software development.
-
T
test harness
In software development, a test harness is a collection of software and test data used by developers to unit test software models during development.
-
test-driven development (TDD)
Test-driven development (TDD), also called test-driven design, is a software programming method that interlaces unit testing, programming and refactoring on source code.
-
testing
In general, testing is finding out how well something works.
-
timebox
In agile software development, a timebox is a defined period of time during which a task must be accomplished. (Continued...)
-
What is a test case?
A test case is a set of actions performed on a system to determine if it satisfies software requirements and functions correctly.
-
U
Unified Modeling Language (UML)
Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system.
-
unit testing
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually scrutinized for proper operation.
-
use case
A use case is a methodology used in system analysis to identify, clarify and organize system requirements.
-
user story
A user story is a tool in Agile software development used to capture a description of a software feature from a user's perspective. The user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement.
-
UX research
User experience (UX) research is the study of learning what end users of a system or product need and want, then employing those insights to enhance the design process for products, services or software.
-
What is user acceptance testing (UAT)?
User acceptance testing (UAT), also called application testing or end-user testing, is a phase of software development in which the software is tested in the real world by its intended audience.
-
V
versioning
Versioning is the creation and management of multiple releases of a product, all of which have the same general function, but are improved, upgraded or customized.
-
W
What is a Waterfall model? Definition and guide
The Waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development.
-
What is web application (web apps) and its benefits?
A web application (web app) is an application program that is stored on a remote server and delivered over the internet through a browser interface.
-
What is white box testing?
White box testing is a software testing methodology in which the code structure is known and understood by the tester.
-
whole-team approach (team-based approach)
The whole-team approach (team-based approach) is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project.