Browse Definitions:

SearchSoftwareQuality

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). SearchSoftwareQuality.com 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

A guide to working with Agile and DevOps methods

Experts weigh in on Agile and DevOps methods and explain various techniques. Use this guide to garner more knowledge before deciding on a software methodology for your organization.

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

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

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

Browse Software Quality Topics

ALM

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

  • Perforce Software

    Perforce is a software company that specializes in software configuration management, version control and collaboration products. The company is the recognized market leader in version control within the gaming sector.

  • application monitoring and management (AMM)

    Application monitoring and management is the administrative area and associated tools involved with overseeing the operation of business software and ensuring that it functions and performs as expected.

  • glue code (glue code language)

    Glue code is custom-written programming that connects incompatible software components. It's sometimes looked upon as a necessary evil because it can easily become excessively complicated spaghetti code that negatively affects performance.

Highlights

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

  • agile marketing

    Agile marketing is an iterative approach to marketing strategies that models methodologies used in agile software development. With agile marketing, teams identify and focus their collective efforts on high value projects, complete those projects cooperatively, measure their impact, and then continuously and incrementally improve results over time.

  • embedded system

    An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system.

  • boot sector

    A boot sector is a specially assigned section of a storage drive containing the files required to start the operating system (OS) and other bootable programs such as antivirus programs, drive partitioning software, backup tools and diagnostic disks.

Highlights

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

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

  • Hofstadter's law

    Hofstadter’s law is the observation that “It always takes longer than you expect, even when you take into account Hofstadter's Law.”

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

Highlights

More Project Management Topics

Back to Top

Requirements

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.

Highlights

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

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

  • obfuscation (obfu)

    Obfuscation, in general, describes a practice that is used to intentionally make something more difficult to understand. In a programming context, it means to make code harder to understand or read.

Highlights

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

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

  • agile marketing

    Agile marketing is an iterative approach to marketing strategies that models methodologies used in agile software development. With agile marketing, teams identify and focus their collective efforts on high value projects, complete those projects cooperatively, measure their impact, and then continuously and incrementally improve results over time.

  • embedded system

    An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system.

Highlights

More Software Testing Topics

Back to Top

-ADS BY GOOGLE

SearchCompliance

  • cyborg anthropologist

    A cyborg anthropologist is an individual who studies the interaction between humans and technology, observing how technology can ...

  • RegTech

    RegTech, or regulatory technology, is a term used to describe technology that is used to help streamline the process of ...

  • conduct risk

    Conduct risk is the prospect of financial loss to an organization that is caused by the actions of an organization's ...

SearchSecurity

  • application whitelisting

    Application whitelisting is the practice of identifying applications that have been deemed safe for execution and restricting all...

  • security

    Security, in information technology (IT), is the defense of digital information and IT assets against internal and external, ...

  • insider threat

    An insider threat is a malicious hacker (also called a cracker or a black hat) who is an employee or officer of a business, ...

SearchHealthIT

  • HIPAA Privacy Rule

    The Standards for Privacy of Individually Identifiable Health Information, commonly known as the HIPAA Privacy Rule, establishes ...

  • HIPAA business associate agreement (BAA)

    Under the U.S. Health Insurance Portability and Accountability Act of 1996, a HIPAA business associate agreement (BAA) is a ...

  • telemedicine

    Telemedicine is the remote delivery of healthcare services, such as health assessments or consultations, over the ...

SearchDisasterRecovery

  • data recovery

    Data recovery restores data that has been lost, accidentally deleted, corrupted or made inaccessible. Learn how data recovery ...

  • disaster recovery plan (DRP)

    A company's disaster recovery policy is enhanced with a documented DR plan that formulates strategies, and outlines preparation ...

  • fault-tolerant

    Systems with integrated fault tolerance are designed to withstand multiple hardware failures to ensure continuous availability.

SearchStorage

  • data deduplication

    Deduplication retains one unique data instance to reduce storage and bandwidth consumed by remote backups, replication and ...

  • byte

    In most computer systems, a byte is a unit of data that is eight binary digits long. Bytes are often used to represent a ...

  • Secure Digital card (SD card)

    SD cards use flash memory to provide nonvolatile storage. They are more rugged than traditional storage media and are used in ...

SearchSolidStateStorage

  • flash file system

    Flash file systems are designed specifically for memory devices. A well-designed flash device and flash file system ensure ...

  • IOPS (input/output operations per second)

    IOPS measures the maximum number of reads and writes to non-contiguous storage. It is not an actual benchmark since vendor ...

  • eMMC (embedded MultiMediaCard)

    An embedded MultiMediaCard (eMMC) is a small storage device made up of NAND flash memory and a simple storage controller.

SearchCloudStorage

  • RESTful API

    A RESTful application program interface breaks down a transaction to create a series of small modules, each of which addresses an...

  • cloud storage infrastructure

    Cloud storage infrastructure is the hardware and software framework that supports the computing requirements of a private or ...

  • Zadara VPSA and ZIOS

    Zadara Storage provides block, file or object storage with varying levels of compute and capacity through its ZIOS and VPSA ...

Close