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.

Search Definitions
  • #

    12 factor app (twelve-factor app)

    Twelve-factor app is a methodology for building distributed applications that run in the cloud and are delivered as a service. The approach was developed by Adam Wiggins, the co-founder of Heroku, a platform-as-a-service which is now part of Salesforce.com.

  • 3-tier application architecture

    A 3-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier.

  • A

    acceptance testing

    Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval.

  • Agile retrospective

    An Agile retrospective is a meeting that's held at the end of an iteration in Agile software development.

  • Agile software development

    Agile is a type of software development methodology that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the finished product.

  • alpha testing

    Alpha testing is the initial phase of validating whether a new product will perform as expected.

  • Apache JMeter

    Apache JMeter is an open source, Java-based load testing tool that can analyze the functional behavior of a system and measure the performance of a system under a load test.

  • application

    An application, also referred to as an application program or application software, is a computer software package that performs a specific function directly for an end user or, in some cases, for another application.

  • application firewall

    An application firewall is an enhanced firewall that limits access by applications to the operating system (OS) of a computer... (Continued)

  • application lifecycle management (ALM)

    Application lifecycle management (ALM) is an integrated system of people, tools and processes that supervise a software application from its initial planning and development, through testing and maintenance, and into decommissioning and retirement.

  • application platform

    An application platform is a framework of services that applications rely on for standard operations.

  • application security

    Application security, or appsec, is the practice of using security software, hardware, techniques, best practices and procedures to protect computer applications from external security threats.

  • artifact (software development)

    An artifact is a byproduct of software development that helps describe the architecture, design and function of software.

  • authorization

    Authorization is the process of giving someone permission to do or have something.

  • automated testing

    Automated testing is a process that validates if software is functioning appropriately and meeting requirements before it is released into production.

  • B

    behavior-driven development (BDD)

    Behavior-driven development (BDD) is an Agile software development methodology in which an application is documented and designed around the behavior a user expects to experience when interacting with it.

  • best practice

    A best practice is a standard or set of guidelines that is known to produce good outcomes if followed.

  • BizDevOps (Business, Development and Operations)

    BizDevOps, also known as DevOps 2.0, is an approach to software development that encourages developers, operations staff and business teams to work together so the organization can develop software more quickly, be more responsive to user demand and ultimately maximize revenue.

  • black box (black box testing)

    Black box testing assesses a system solely from the outside, without the operator or tester knowing what is happening within the system to generate responses to test actions.

  • bug

    In computer technology, a bug is a coding error in a computer program.

  • build

    In a programming context, a build is a version of a program that, as a rule, is a pre-release version and is identified by a build number rather than by a release number.

  • build server

    A build server is a machine on which a software project can be continuously built from changes that are committed to the repository.

  • C

    cache thrash

    Cache thrash is caused by an ongoing computer activity that fails to progress due to excessive use of resources or conflicts in the caching system.

  • Capability Maturity Model (CMM)

    The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process.

  • citizen development

    Citizen development is a business process that encourages non-IT-trained employees to become software developers, using IT-sanctioned low-code/no-code (LCNC) platforms to create business applications.

  • code review

    Code review is a phase in the computer program development process in which the authors of code, peer reviewers, and perhaps quality assurance reviewers get together to review code, line by line... (Continued)

  • collaboration diagram

    A collaboration diagram, also known as a communication diagram, is an illustration of the relationships and interactions among software objects in the Unified Modeling Language (UML).

  • continuous integration (CI)

    Continuous integration (CI) is a software engineering practice in which frequent, isolated changes are immediately tested and reported on when they are added to a larger code base.

  • continuous quality

    Continuous quality is a systematic approach to finding and fixing software defects during all phases of the software development cycle.

  • cookie

    A cookie is information that a website puts on a user's computer.

  • countermeasure

    A countermeasure is an action, process, device, or system that can prevent, or mitigate the effects of, threats to a computer, server or network.

  • cross-browser testing

    Cross-browser testing, also called browser testing, is a quality assurance (QA) process that checks whether a web-based application, site or page functions as intended for end users across multiple browsers and devices.

  • cross-site request forgery (XSRF or CSRF)

    Cross-site request forgery (XSRF or CSRF) is a method of attacking a Web site in which an intruder masquerades as a legitimate and trusted user... (Continued)

  • cruft

    Cruft is the elements of a program, system or product that are either useless, poorly designed or both. In computing, cruft describes areas of redundant, improper or simply badly written code, as well as old or inferior hardware and electronics. Cruft may also be used to describe a group of hackers, like a pod of whales, exultation of larks or murder of crows. (Continued...)

  • D

    daily stand-up meeting

    A daily stand-up meeting is a short organizational meeting that is held early each day. The practice is commonly used in the Scrum development methodology.

  • data center outsourcing (DCO)

    DCO (data center outsourcing) is the practice of outsourcing the day-to-day provisioning and management of computing and storage resources and environments to a third party provider.

  • debugging

    Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem and then either correcting the problem or determining a way to work around it.

  • dependency checking

    Dependency checking is a function that is performed to ensure that all pre-requisites for a given run-time image are present.

  • development environment

    In software, web and mobile application development, the development environment is a workspace with a set of processes and programming tools used to develop the source code for an application or software product.

  • device cloud

    A device cloud is a mobile testing environment that enables developers to remotely evaluate the performance of applications on a wide range of smart devices.

  • DevOps Dojo

    DevOps Dojos provide software developers and operations engineers with an immersive learning environment where team members can gain practical work experience without having to worry about introducing errors into the production environment.

  • Disciplined Agile Delivery (DAD)

    Disciplined Agile Delivery (DAD) is a scalable Agile software delivery framework.

  • dynamic analysis

    Dynamic analysis is the testing and evaluation of a program based on execution with selected data... (Continued)

  • dynamic application security testing (DAST)

    A dynamic application security test (DAST) is a program used by developers to analyze a web application (web app), while in runtime, and identify any security vulnerabilities or weaknesses.

  • software documentation

    In the software development process, software documentation is the information that describes the product to the people who develop, deploy and use it.

  • E

    end-to-end testing

    End-to-end testing is a methodology that assesses the working order of a complex product in a start-to-finish process.

  • exception handling

    Exception handling is the process of responding to unwanted or unexpected events when a computer program runs.

  • F

    fault injection testing

    Fault injection is a testing process which deliberately introduces errors to a system to ensure the system can withstand the error and recover.

  • feature-driven development (FDD)

    Feature-driven development (FDD) is an Agile software development methodology that can be used by development teams and managers with the intention of bringing a steady, continuous flow of new features to users at a set time.

  • finite element analysis (FEA)

    Finite element analysis (FEA) is the use of calculations, models and simulations to predict and understand how an object might behave under various physical conditions.

  • functional programming

    Functional programming is a style of programming that emphasizes the evaluation of expressions rather than the execution of commands.

  • functional specification

    A functional specification is a formal document used to describe a product's intended capabilities, appearance, and interactions with users in detail for software developers.

  • functional testing

    Functional testing is a process used to evaluate software during development to ensure that it meets the application's intended requirements and specifications.

  • G

    Gantt chart

    A Gantt chart is a horizontal bar chart developed as a production control tool in 1917 by Henry L. Gantt, an American engineer and social scientist.

  • garbage in, garbage out (GIGO)

    GIGO (garbage in, garbage out) is a concise expression of a concept common to computer science and mathematics: the quality of output is determined by the quality of the input... (Continued)

  • green software

    Green software, also known as sustainable software, is software that is designed, developed and implemented to limit energy consumption and have minimal environmental impact.

  • H

    happy path testing

    Happy-path testing is a type of software testing that uses known input and produces an expected output. Also referred to as golden-path or sunny-day testing, the happy-path approach is tightly scripted. The happy path does not duplicate real-world conditions and verifies only that the required functionality is in place and functions correctly.

  • HCI (human-computer interaction)

    HCI (human-computer interaction) is the study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings.

  • histogram

    A histogram is a display of statistical information that uses rectangles to show the frequency of data items in successive numerical intervals of equal size. In the most common form of histogram, the independent variable is plotted along the horizontal axis and the dependent variable is plotted along the vertical axis. The data appears as colored or shaded rectangles of variable area. (Continued....)

  • hybrid application (hybrid app)

    A hybrid application (hybrid app) is one that combines elements of both native and Web applications. Hybrid apps are popular because they allow developers to write code once and still accommodate multiple platforms.

  • Hypertext Transfer Protocol Secure (HTTPS)

    Hypertext Transfer Protocol Secure (HTTPS) is a protocol that secures communication and data transfer between a user's web browser and a website.

  • I

    integer overflow

    Integer overflow is the result of trying to place into computer memory an integer (whole number) that is too large for the integer data type in a given system.

  • integrated development environment (IDE)

    An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software.

  • integration testing or integration and testing (I&T)

    Integration testing -- also known as integration and testing (I&T) -- is a type of software testing in which the different units, modules or components of a software application are tested as a combined entity.

  • iteration

    In agile software development, an iteration is a single development cycle, usually measured as one week or two weeks. (Continued...)

  • iterative

    In the world of IT and computer programming, the adjective iterative refers to a process where the design of a product or application is improved by repeated review and testing.

  • iterative development

    Iterative development is a way of breaking down the software development of a large application into smaller chunks.

  • J

    JAD (Joint Application Development)

    JAD (Joint Application Development) is a methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions.

  • Jenkins

    Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language.

  • Jira

    Jira is an application lifecycle management (ALM) tool from Atlassian that provides different packages to suit various customer needs.

  • L

    layer

    In computer programming, layering is the organization of programming into separate functional components that interact in some sequential and hierarchical way, with each layer usually having an interface only to the layer above it and the layer below it.

  • LDAP injection

    LDAP (Lightweight Directory Access Protocol) injection is a type of security exploit that is used to compromise the authentication process used by some websites.

  • Lean software development

    Lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software.

  • living documentation

    Living documentation is a dynamic method of system documentation that provides information that is current, accurate and easy to understand.

  • load testing

    Load testing is the process of subjecting a computer, peripheral, server, network or application to a work level approaching the limits of its specifications.

  • low-code and no-code development platforms

    Low-code/no-code development platforms are types of visual software development environments that allow enterprise developers and citizen developers to drag and drop application components, connect them together and create mobile or web apps.

  • M

    mob programming

    Mob programming is a software development technique where software development teams work on the same tasks at the same time.

  • mock object

    In object-oriented programming, a mock object is a simulated object that mimics the behavior of the smallest testable parts of an application in controlled ways.

  • model-based testing

    Model-based testing (MBT) requires a test team to create a second, lightweight implementation of a software build- typically only the business logic - called the model.

  • model-driven development (MDD)

    Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost.

  • MoSCoW method

    The MoSCoW method is a four-step approach to prioritizing which project requirements will provide the best return on investment (ROI).

  • N

    native app

    A native application is a software program that is developed for use on a particular platform or device.

  • NIST (National Institute of Standards and Technology)

    NIST (National Institute of Standards and Technology) is a nonregulatory government agency located in Gaithersburg, Md.

  • no-code

    No-code is a software development approach that requires few, if any, programming skills to quickly build an application.

  • O

    offshore software testing

    Offshore software testing is a software development model where an organization outsources the software testing process to a service partner team located in a different country with a different time zone.

  • Open Web Application Security Project (OWASP)

    The Open Web Application Security Project (OWASP) is a nonprofit foundation that provides guidance on how to develop, purchase and maintain trustworthy and secure software applications.

  • P

    pair programming

    Pair programming is an Agile software development technique originating from Extreme programming (XP) in which two developers team together and work on one computer.

  • pattern (design pattern)

    In software development, a pattern (or design pattern) is a written document that describes a general solution to a design problem that recurs repeatedly in many projects.

  • performance testing

    Performance testing is a testing measure that evaluates the speed, responsiveness and stability of a computer, network, software program or device under a workload.

  • PERT chart

    A PERT chart, sometimes called a PERT diagram, is a project management tool used to schedule, organize and coordinate tasks within a project.

  • pigs and chickens

    Pigs and chickens is an analogy used in the Scrum software development model to define the type of role an attendee can play at a daily scrum meeting.

  • polyglot programming

    Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language.

  • product backlog grooming

    Product backlog grooming is an Agile software development process in which the development team revisits a pre-defined product backlog, working with stakeholders to prioritize and break the backlog list into user stories for future use.

  • product owner

    A product owner is a role on a Scrum team that is accountable for the project's outcome. The product owner is responsible for maximizing product's value by managing and optimizing the product backlog.

  • program

    In computing, a program is a specific set of ordered operations for a computer to perform.

  • Project Management Professional (PMP)

    Project Management Professional (PMP) certification is a qualification program overseen by the Project Management Institute (PMI)... (Continued)

  • Q

    quality assurance (QA)

    Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements.

  • quality gate

    A quality gate is a milestone in an IT project that requires that predefined criteria be met before the project can proceed to the next phase.

  • R

    rapid application development (RAD)

    Rapid application development (RAD) is a model based on the concept that higher-quality products can be developed faster through more expedient processes, such as early prototyping, reusing software components and less formality in team communications.

  • rapid mobile app development (RMAD)

    Rapid mobile application development (RMAD) uses low-code/no-code programming tools to speed the process of application creation for mobile platforms.

SearchCloudComputing
SearchAppArchitecture
SearchITOperations
TheServerSide.com
SearchAWS
Close