Browse Definitions:


Get information on software quality management, software testing and quality assurance (QA), application threats and vulnerabilities, software maintenance and bug tracking, and how to build quality and security into the software development life cycle (SDLC). also provides in-depth coverage on how to ensure quality using different development models and methodologies, such as Agile development.

View the complete archive of Software Quality Management news, research and expert advice.

Go to:  SearchSoftwareQuality

Recently on  SearchSoftwareQuality

Ionic Pro embodies mobile app dev tools' DevOps embrace

Low-code development options, DevOps features and team collaboration support attract an array of developers to mobile development tools, exemplified in the updated Ionic Pro.

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

  • synthetic monitoring

    Synthetic monitoring is the use of software to simulate user interaction with a given system rather than simply gathering data about real-world transactions.

  • low-code/no-code development platform (LCNC platform)

    Low-code/no-code development platforms are tools that enable citizen developers – including business analysts, office administrators, small-business owners and others – to create mobile and web apps quickly with little or no hand-coding.

Browse Software Quality Topics


Application lifecycle management (ALM) refers to the processes, models and tools that manage an application from idea conception through end-of-life. ALM includes the management of the software development lifecycle (SDLC) including requirements management, design, code, test, release management and software maintenance, but goes beyond SDLC and includes management of governance and operations processes. ALM tools facilitate adherence to software development processes and help to provide an integrated approach to application development.

Recent Definitions

  • Docker

    Docker is an open source software platform to create, deploy and manage virtualized application containers on a common operating system (OS), with an ecosystem of allied tools.

  • legacy application

    A legacy application (legacy app) is a software program that is outdated or obsolete.

  • site reliability engineering (SRE)

    Site reliability engineering (SRE) is the application of scripting and automation to IT operations tasks such as maintenance and support. The goal of SRE is to swiftly fix bugs and remove manual work in rote tasks.


More ALM Topics

Back to Top

Models and Methodologies

Software development models and methodologies describe the processes that are followed in a software development lifecycle (SDLC.) Traditional approaches include the phased waterfall methodology that includes requirements, design, implementation, verification and maintenance phases. The traditional approaches typically require that each phase is complete before the next one starts. Agile methodologies such as XP and Scrum work in shorter iterations and promote a collaborative approach where project teams include members representing business, development and test work closely together throughout the entire lifecycle.

Recent Definitions

  • Yoda conditions (Yoda notation)

    Yoda conditions, also known as Yoda notation, is a programming variation that reverses the standard order of a conditional statement.

  • synchronous/asynchronous API

    Synchronous/asynchronous APIs are application programming interfaces that return data for requests either immediately or at a later time, respectively.

  • sorting algorithm

    A sorting algorithm is a method for reorganizing a large number of items into a specific order, such as alphabetical, highest-to-lowest value or shortest-to-longest distance.


More Models and Methodologies Topics

Back to Top

Project Management

Software performance management is a critical component of application lifecycle management. Software applications need to be tested to see if they'll be able to withstand the anticipated load and be scalable for future growth. By including software performance management as a component of the application's lifecycle, the team can perform the testing necessary to determine the application's thresholds and proactively code for optimal performance. With software performance management included in the overall plan, performance can be predicted and eliminate any unpleasant surprises due to slow performance.

Recent Definitions

  • software audit

    A software audit is an internal or external review of a software program to check its quality, progress or adherence to plans, standards and regulations.

  • falsifiability

    Falsifiability is the capacity for some proposition, statement, theory or hypothesis to be proven wrong. That capacity is an essential component of the scientific method and hypothesis testing.

  • hypothesis

    A hypothesis (plural: hypotheses) is a statement that may be tested and proven to be either true or false. The hypothesis maintains the statement is true. however falsifiability -- the ability to be disproven -- is also essential to testing hypotheses, in accordance with the scientific method.


More Project Management Topics

Back to Top


Software requirements engineering is a crucial element in software engineering. Requirements analysis includes three types of activity: eliciting requirements, analyzing requirements and recording requirements. Eliciting requirements is the task of communicating with customers, users and stakeholders to determine which functions and features of an application. In analyzing the requirements, customers, users, and stakeholders help clarify and prioritize those features and functions. Documenting requirements can be done in different ways or with different tools. Traditional methodologies use a requirements specification. Agile methodologies document requirements with use cases or user stories.

Recent Definitions

  • dependency hell

    Dependency hell occurs when a software application cannot access the additional programming it depends upon to function.

  • design thinking

    Design thinking is an iterative approach to problem solving that intentionally seeks out people with different perspectives, knowledge, skills and experience and has them work together to create a practical solution for a real-world problem. The five steps in design thinking are empathize, define, ideate, prototype and test.

  • user story

    A user story is a tool used in Agile development to capture a description of a software feature from an end-user perspective.


More Requirements Topics

Back to Top

Security Testing and QA

Software security testing and quality assurance is used to provide protection for data managed and controlled by software applications. Security testing needs to be done to prevent harm that could result from the loss, inaccuracy, alteration, unavailability or misuse of data. Information is categorized by severity of impact and security requirements such as those that address access control, data management and access, audit trails and usage records must be validated. Security defects are often a result of non-conformance or an error or omission in the software requirements.

Recent Definitions

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

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

  • denial-of-service attack

    Denial-of-service attacks disrupt legitimate access to organizational resources, often by overwhelming a network or resource with malicious traffic.


More Security Testing and QA Topics

Back to Top

Software Testing

Software testing is used to determine whether a software application is producing the expected results. Depending on the methodology used and the type of testing that's being done, software testing can happen at any time in the software development process. There are a variety of types of tests that are performed at different stages of the software development lifecycle such as unit tests, integration tests, systems tests and acceptance tests. Each of these can be further divided into types of testing such as functional, performance, regression, or usability tests, just to name a few. There are many tools that are used in software testing both to help find defects as well as to help track defects so that the end result is a high-quality product.

Recent Definitions

  • synthetic monitoring

    Synthetic monitoring is the use of software to simulate user interaction with a given system rather than simply gathering data about real-world transactions.

  • consumer panel

    A consumer panel is a group of individuals selected by a business or organization to provide input and opinion on products and services for research on consumer behavior. Panel members are chosen to be representative of the general population or a target group.

  • test marketing

    Test marketing is a marketing method that aims to explore consumer response to a product or marketing campaign by making it available on a limited basis before a wider release.


More Software Testing Topics

Back to Top



  • internal audit (IA)

    An internal audit (IA) is an organizational initiative to monitor and analyze its own business operations in order to determine ...

  • pure risk (absolute risk)

    Pure risk, also called absolute risk, is a category of threat that is beyond human control and has only one possible outcome if ...

  • risk assessment

    Risk assessment is the identification of hazards that could negatively impact an organization's ability to conduct business.


  • biometrics

    Biometrics is the measurement and statistical analysis of people's unique physical and behavioral characteristics.

  • principle of least privilege (POLP)

    The principle of least privilege (POLP), an important concept in computer security, is the practice of limiting access rights for...

  • identity management (ID management)

    Identity management (ID management) is the organizational process for identifying, authenticating and authorizing individuals or ...



  • business continuity and disaster recovery (BCDR)

    Business continuity and disaster recovery (BCDR) are closely related practices that describe an organization's preparation for ...

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • call tree

    A call tree -- sometimes referred to as a phone tree -- is a telecommunications chain for notifying specific individuals of an ...



  • hybrid hard disk drive (HDD)

    A hybrid hard disk drive is an electromechanical spinning hard disk that contains some amount of NAND Flash memory.