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.

  • #

    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. The data tier stores information, the application tier handles logic and the presentation tier is a graphical user interface (GUI) that communications with the other two tiers.

  • A

    acceptance testing

    An acceptance test confirms that an story is complete by matching a user action scenario with a desired outcome. (Continued...)

  • access control list (ACL)

    An access control list (ACL) is a table that tells a computer operating system which access rights each user has to a particular system object, such as a file directory or individual file.

  • Agile retrospective

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

  • Agile Software Development

    Agile software development -- also referred to simply as Agile -- is a type of 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. Alpha tests are carried out early in the development process by internal staff and are followed up with beta tests, in which a sampling of the intended audience actually tries the product out.

  • Apache JMeter

    Apache JMeter is an open source, Java-based, load testing tool that can be used to 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 the integrated system of people, tools and processes that supervise a software application from its initial planning through retirement.

  • application platform

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

  • application security

    Application security is the use of software, hardware, and procedural methods to protect applications from external threats. Once an afterthought in software design, security is becoming an increasingly important concern during development as applications become more frequently accessible over networks and are, as a result, vulnerable to a wide variety of threats.

  • artifact (software development)

    An artifact, in software development, is work that has been documented and stored in a repository so it can be retrieved upon demand.

  • auditor

    In Web advertising, this usually means a third-party company that audits the number of visitors to or impression sent from a Web site during some time period.

  • authorization

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

  • automated test equipment (ATE)

    Automated test equipment (ATE) is computer-controlled equipment that tests electronic devices for functionality and performance.

  • 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 technique or methodology that, through experience and research, has been proven to reliably lead to a desired result.

  • 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.

  • 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.

  • build tool

    A build tool is a programming utility that automates a software build task, such as ensuring that the proper source code files are compiled and that the proper object files are linked, after changes have been made to a program.

  • burn down chart

    A burn down chart is a visual representation of the amount of work that still needs to be completed before the end of a project.

  • 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.

  • CGI scanner

    A CGI (common gateway interface) scanner is a program that searches for known vulnerabilities in Web servers and application programs by testing HTTP requests against known CGI strings... (Continued)

  • 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).

  • command injection

    Command injection is the insertion of HTML code into dynamically generated output by a malevolent hacker (also known as a cracker) seeking unauthorized access to data or network resources...

  • conformance testing

    Conformance testing, also known as compliance testing, is a methodology used in engineering to ensure that a product, process, computer program or system meets a defined set of standards. These standards are commonly defined by large, independent entities such as the Institute of Electrical and Electronics Engineers (IEEE), the World Wide Web Consortium (W3C) or the European Telecommunications Standards Institute (ETSI)... (Continued)

  • content spoofing

    Content spoofing is a type of exploit used by a malicious hackers to present a faked or modified Web site to the user as if it were legitimate.

  • context-driven testing

    Context-driven testing is a paradigm for developing and debugging computer software that takes into account the ways in which the programs will be used or are expected to be used in the real world... (Continued)

  • 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.

  • continuous software development

    Continuous software development is a blanket term that covers several aspects of an iterative application development process based on making each change when it is ready, rather than wrapping many changes into large batches.

  • cookie

    A cookie is information that a Web site puts on your hard disk so that it can remember something about you at a later time.

  • 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.

  • cowboy coding

    Cowboy coding describes an undisciplined approach to software development. The cowboy approach to coding typically focuses on quick fixes and getting a working product into production as soon as possible.

  • 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)

  • cross-site tracing (XST)

    Cross-site tracing (XST) is a sophisticated form of cross-site scripting (XSS) that can bypass security countermeasures already put in place to protect against XSS... (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...)

  • customer

    In agile software development, a customer is a person with an understanding of both the business needs and operational constraints for a project. (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 computer program and software product development, the development environment is the set of processes and programming tools used to create the program 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.

  • documentation

    In computer hardware and software product development, documentation is the information that describes the product to its users. It consists of the product technical manuals and online information (including online versions of the technical manuals and help facility descriptions).

  • domain model

    In agile software development, a domain model describes the application domain responsible for creating a shared language between business and IT. (Continued...)

  • dynamic analysis

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

  • 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.

  • error handling

    Error handling refers to the anticipation, detection, and resolution of programming, application, and communications errors... (Continued)

  • Extreme Programming (XP)

    Extreme Programming (XP) is a pragmatic approach to program development that emphasizes business results first and takes an incremental, get-something-started approach to building the product, using continual testing and revision.

  • 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.

  • 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)

  • gray box testing (gray box)

    Gray box testing, also called gray box analysis, is a strategy for software debugging based on limited knowledge of the internal details of the program. A gray box is a device, program or system whose workings are partially understood.

  • 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.

  • Higgins Trust Framework (HTF)

    The Higgins Trust Framework (HTF) is an API (application program interface) that allows end users to store identity information in locations of their choice and share portions of that information anonymously with online vendors and service providers in a controlled manner... (Continued)

  • 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....)

  • HTTPS (HTTP over SSL or HTTP Secure)

    HTTPS (HTTP over SSL or HTTP Secure) is the use of Secure Socket Layer (SSL) or Transport Layer Security (TLS) as a sublayer under regular HTTP application layering. HTTPS encrypts and decrypts user page requests as well as the pages that are returned by the Web server.

  • 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.

  • I

    IC-BPMS (integration-centric business process management suite)

    Integration-centric business process management suite (IC-BPMS) combines business process management (BPM) and service-oriented architecture (SOA)... (Continued)

  • 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 software development process which program units are combined and tested as groups in multiple ways. In this context, a unit is defined as the smallest testable part of an application. Integration testing can expose problems with the interfaces among program components before trouble occurs in real-world program execution. Integration testing is a component of Extreme Programming (XP)... (Continued)

  • ISO/IEC 17799: Code of Practice for Information Security Management

    ISO/IEC 17799: Code of Practice for Information Security Management is a generic set of best practices for the security of information systems. Considered the foremost security specification document in the world, the code of practice includes guidelines for all organizations, no matter what their size or purpose. 17799 was originally published in the United Kingdom as DT Code of Practice, and then later as BS 7799. (Continued...)

  • iteration

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

  • iterative

    Iterative (prounounced IT-ter-a-teev) is an adjective that means repetitious.

  • 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.

  • JUnit

    JUnit is an open source framework designed for the purpose of writing and running tests in the Java programming language... (Continued)

  • L

    Language Workbench

    A Language Workbench (LWB) is a development toolset that facilitates the development and editing of domain specific languages (DSLs). 

  • language-oriented programming (LOP)

    Language-oriented programming (LOP) is an approach to software development that focuses on the use of domain specific languages (DSLs) to solve problems within various domains in a system or application.

  • 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 injection is a type of security exploit that is used to compromise the authentication process used by some websites. Websites that construct Lightweight Directory Access Protocol (LDAP) statements from data provided by users are vulnerable to this type of attack.

  • 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

    A low-code/no-code development platform is a visual software development environment that allows citizen developers to drag and drop application components, connect them together and create a mobile or web app.

  • M

    MEAN (MongoDB, Ember, Angular, Node)

    MEAN is an acronym that stands for MongoDB, Express, Angular, and Node. The MEAN stack is a frontend and backend approach that allows development teams to accomplish projects using JavaScript across all tools.

  • 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).

-ADS BY GOOGLE

SearchCloudComputing

SearchAppArchitecture

SearchITOperations

TheServerSide.com

SearchAWS

Close