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

GitHub security bug bounty program stretches to enterprise cloud

GitHub's bug bounty program for 2019 increases the reward money for researchers who find security vulnerabilities in the company's code.

More Highlights
Definitions
  • white box testing

    White box testing is a software testing methodology which uses the program source code as a test basis for designing tests and test cases.

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

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

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

  • configuration service provider (CSP)

    A configuration service provider (CSP) is a component of the Windows client operating system that shows IT professionals potential device configuration choices and allows them to apply the settings across multiple Windows OSes.

  • model-driven development (MDD)

    Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost.

  • software development life cycle (SDLC)

    The software development life cycle (SDLC) is a conceptual model, used in project management, to describe the stages and tasks involved in each step of a project to write and deploy software.

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

  • Single Responsibility Principle (SRP)

    Single Responsibility Principle (SRP) is the concept that any single object in object-oriented programing (OOP) should be made for one specific function.

  • waterfall model

    The waterfall model is a linear, sequential approach to the software development life cycle (SDLC) that is popular in software engineering and product development and emphasizes a logical progression of steps.

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

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

  • white box testing

    White box testing is a software testing methodology which uses the program source code as a test basis for designing tests and test cases.

  • acceptance testing

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

  • automated testing

    Automated software testing is a process in which software tools execute pre-scripted tests on a software application before it is released into production.

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

  • integrated development environment (IDE)

    An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software.

  • rapid mobile app development (RMAD)

    Rapid mobile application development (RMAD) uses low-code/no-code programming tools to speed the process of application creation for mobile platforms.

  • software development life cycle (SDLC)

    The software development life cycle (SDLC) is a conceptual model, used in project management, to describe the stages and tasks involved in each step of a project to write and deploy software.

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

  • pen test (penetration testing)

    Penetration testing, also called pen testing or ethical hacking, is the practice of testing a computer system, network or web application to find security vulnerabilities that an attacker could exploit.

  • denial-of-service attack

    A denial-of-service attack is a security event that occurs when an attacker prevents legitimate users from accessing specific computer systems, devices, services or other IT resources.

  • cryptography

    Cryptography is a method of protecting information and communications through the use of codes so that only those for whom the information is intended can read and process it.

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

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

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

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

Highlights

More Software Testing Topics

Back to Top

-ADS BY GOOGLE

SearchCompliance

  • compliance audit

    A compliance audit is a comprehensive review of an organization's adherence to regulatory guidelines.

  • regulatory compliance

    Regulatory compliance is an organization's adherence to laws, regulations, guidelines and specifications relevant to its business...

  • Whistleblower Protection Act

    The Whistleblower Protection Act of 1989 is a law that protects federal government employees in the United States from ...

SearchSecurity

  • reverse brute-force attack

    A reverse brute-force attack is a type of brute-force attack in which an attacker uses a common password against multiple ...

  • orphan account

    An orphan account, also referred to as an orphaned account, is a user account that can provide access to corporate systems, ...

  • voice squatting (skill squatting)

    Voice squatting is an attack vector for voice user interfaces (VUIs) that exploits homonyms (words that sound the same but are ...

SearchHealthIT

SearchDisasterRecovery

  • business continuity policy

    Business continuity policy is the set of standards and guidelines an organization enforces to ensure resilience and proper risk ...

  • business continuity and disaster recovery (BCDR)

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

  • warm site

    A warm site is a type of facility an organization uses to recover its technology infrastructure when its primary data center goes...

SearchStorage

  • primary storage (main storage)

    Primary storage is the collective methods and technologies used to capture and retain digital information that is in active use ...

  • RAM (Random Access Memory)

    RAM (Random Access Memory) is the hardware in a computing device where the operating system (OS), application programs and data ...

  • cache memory

    Cache memory, also called CPU memory, is high-speed static random access memory (SRAM) that a computer microprocessor can access ...

Close