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

    regression testing

    Regression testing is a type of software test that assesses if changes to an application, or other related software components, introduce defects.

  • release

    A release is the distribution of the final version or the newest version of a software application.

  • release plan

    In agile software development, a release plan is an evolving flowchart that describes which features will be delivered in upcoming releases. (Continued...)

  • requirements analysis (requirements engineering)

    Requirements analysis, also called requirements engineering, is the process of determining user expectations for a new or modified product.

  • reverse-engineering

    Reverse-engineering is the act of dismantling an object to see how it works.

  • runtime

    Runtime is a piece of code that implements portions of a programming language's execution model.

  • S

    S-HTTP (Secure HTTP)

    S-HTTP (Secure HTTP) is an extension to the Hypertext Transfer Protocol (HTTP) that allows the secure exchange of files on the World Wide Web.

  • Scrum

    Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.

  • session ID

    A session ID is a unique number that a Web site's server assigns to identify a specific user for the duration of that user's visit (session)...

  • shift-right testing

    Shift-right testing is a method of continuously testing software while it is in a post-production environment.

  • smoke testing

    Smoke testing, also called build verification testing or build acceptance testing, is nonexhaustive software analysis that ascertains that the most crucial functions of a program work but does not delve into finer details.

  • soak testing

    Soak testing is a type of performance evaluation that gauges how an application handles a growing number of users or increasingly taxing tasks over an extended period of time.

  • software development life cycle (SDLC)

    The software development life cycle (SDLC) is a framework used in project management to describe the stages and tasks involved in each step of writing and deploying the instructions and data computers use to execute specific tasks.

  • Software Process Improvement and Capability Determination (SPICE)

    Software Process Improvement and Capability Determination (SPICE) is an international framework to assess software development processes.

  • software requirements specification (SRS)

    A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform... (Continued)

  • software resilience testing

    Software resilience testing is a method of software testing that focuses on ensuring that applications will perform well in real-life or chaotic conditions.

  • software toolchain

    A software toolchain is a set of software development tools used simultaneously to complete complex software development tasks or to deliver a software product.

  • source code analysis

    Source code analysis is the automated testing of source code for the purpose of debugging a computer program or application before it is distributed or sold.

  • specification by example (SBE)

    Specification by example (SBE) is a user-driven contextual approach to defining software requirements. This approach encourages communication between a project's business owners and the software development team while also aligning software specifications with user acceptance testing.

  • spike testing

    Spike testing is a type of performance testing where an application is tested with a sudden and extreme increase in load, such as user traffic or system transactions.

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

  • sprint (software development)

    A sprint is a set period of time during which specific work has to be completed and made ready for review. In Agile software development, a sprint raditionally lasts 30 days.

  • SQL injection

    A SQL injection 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, or staging, provides 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 application security testing (SAST)

    Static application security testing (SAST) is a program designed to analyze application (app) source code in order to find security vulnerabilities or weaknesses that may open an app up to a malicious attack.

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

  • stress testing

    Stress testing is the process of determining the ability of a computer, network, program or device to maintain a certain level of effectiveness under unfavorable conditions.

  • structured programming (modular programming)

    Structured programming (sometimes known as 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 tests 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.

  • systems development life cycle (SDLC)

    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 through maintenance of the completed application.

  • T

    test case

    A test case is a set of actions performed on a system to determine if it satisfies software requirements and functions correctly.

  • 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 method of implementing software programming 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...)

  • U

    UML (Unified Modeling Language)

    UML (Unified Modeling Language) is a standard notation for the modeling of real-world objects as a first step in developing an object-oriented design methodology.

  • unit testing

    Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually.

  • use case

    A use case is a methodology used in system analysis to identify, clarify, and organize system requirements.

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

  • 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

    UX (user experience) 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.

  • V

    V-Model (Vee-Model)

    The V-Model, also called the Vee-Model, is a product-development process originally developed in Germany for government defense projects... (Continued)

  • 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

    WAG (estimate)

    A WAG (wild-ass guess) is an estimate for how long it will take to complete a project.  In agile and scrum software development, a WAG is often based upon historical experience. 

  • waterfall model

    The waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development.

  • Web application (Web app)

    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.

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

  • work breakdown structure (WBS)

    A work breakdown structure (WBS) is a chart in which the critical work elements, called tasks, of a project are illustrated to portray their relationships to each other and to the project as a whole.

SearchCloudComputing
SearchAppArchitecture
SearchITOperations
TheServerSide.com
SearchAWS
Close