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

Five tips for testing with mobile app developer tools

Mobile app developer tools can alleviate the confusion of mobile test projects. Here are five strategies to consider if you're in the midst of testing complications.

More Highlights
  • application platform

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

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

  • quality assurance (QA)

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

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

  • continuous deployment

    Continuous deployment is a strategy for software releases wherein any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software's users.

  • Google Chromium

    Google Chromium is an open source project that was initiated to make source code for the Chrome OS and the Chrome browser available to developers.

  • Accelerated Mobile Pages (AMP)

    Accelerated Mobile Pages (AMP) is an open source project created to improve the performance of web pages for mobile delivery.


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

  • quality assurance (QA)

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

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


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

  • cross-site scripting (XSS)

    Cross-site scripting (XSS) is a type of injection security attack in which an attacker injects data, such as a malicious script, into content from otherwise trusted websites.

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


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

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

  • quality assurance (QA)

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

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


More Software Testing Topics

Back to Top



  • risk map (risk heat map)

    A risk map, also known as a risk heat map, is a data visualization tool for communicating specific risks an organization faces. A...

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


  • cloud ecosystem

    A cloud ecosystem is a complex system of interdependent components that all work together to enable cloud services.

  • cloud services

    Cloud services is an umbrella term that may refer to a variety of resources provided over the internet, or to professional ...

  • uncloud (de-cloud)

    The term uncloud describes the action or process of removing applications and data from a cloud computing platform.


  • federated identity management (FIM)

    Federated identity management (FIM) is an arrangement that can be made among multiple enterprises to let subscribers use the same...

  • cross-site scripting (XSS)

    Cross-site scripting (XSS) is a type of injection security attack in which an attacker injects data, such as a malicious script, ...

  • firewall

    In computing, a firewall is software or firmware that enforces a set of rules about what data packets will be allowed to enter or...




  • bad block

    A bad block is an area of storage media that is no longer reliable for storing and retrieving data because it has been physically...

  • all-flash array (AFA)

    An all-flash array (AFA), also known as a solid-state storage disk system, is an external storage array that uses only flash ...

  • volume manager

    A volume manager is software within an operating system (OS) that controls capacity allocation for storage arrays.


  • hybrid hard disk drive (HDD)

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