Debugging And Testing Study Cards

Enhance Your Learning with Debugging and Testing Flash Cards for quick learning



Debugging

The process of identifying and fixing errors, bugs, and defects in software code or hardware systems.

Breakpoint

A point in the code where program execution can be paused for debugging purposes.

Stack Trace

A report that shows the sequence of function calls leading up to a specific point in the code, used to identify the cause of an error or exception.

Logging

The practice of recording events, actions, and messages in a software application for debugging and troubleshooting purposes.

Unit Testing

A type of testing where individual components or units of a software application are tested to ensure they function correctly.

Integration Testing

A type of testing where multiple components or units of a software application are combined and tested as a group to ensure they work together correctly.

System Testing

A type of testing where the entire software application is tested to ensure it meets the specified requirements and functions as expected.

Regression Testing

A type of testing where previously tested functionality is retested to ensure that changes or fixes have not introduced new bugs or issues.

Performance Testing

A type of testing where the performance and responsiveness of a software application under various conditions and workloads are evaluated.

Security Testing

A type of testing where the security vulnerabilities and weaknesses of a software application are identified and addressed.

Test Case

A set of conditions or variables under which a tester will determine whether a software application is working correctly or not.

Test Plan

A document that outlines the objectives, scope, approach, and schedule of testing activities for a software application.

Test Suite

A collection of test cases that are grouped together for execution and reporting purposes.

Test Driven Development (TDD)

A software development approach where tests are written before the code is implemented, driving the design and development process.

Continuous Integration

A development practice where code changes are frequently integrated into a shared repository, allowing early detection of integration issues.

Code Coverage

A measure of the proportion of code that is executed during testing, used to assess the effectiveness of test cases.

Mutation Testing

A technique where small changes, or mutations, are made to the code to evaluate the quality of the test suite by checking if the tests can detect the changes.

Static Testing

A type of testing where the code is analyzed without executing it, typically using automated tools to identify potential issues and improve code quality.

Dynamic Testing

A type of testing where the code is executed to observe its behavior and verify that it meets the specified requirements.

Black Box Testing

A testing technique where the internal structure and implementation details of the software application are not known to the tester.

White Box Testing

A testing technique where the internal structure and implementation details of the software application are known to the tester.

Gray Box Testing

A testing technique where the tester has partial knowledge of the internal structure and implementation details of the software application.

Boundary Value Analysis

A testing technique where test cases are designed based on the boundaries or limits of input values to ensure that the software handles them correctly.

Equivalence Partitioning

A testing technique where test cases are designed based on dividing the input domain into equivalent classes to reduce the number of test cases while still achieving good coverage.

Pairwise Testing

A testing technique where test cases are designed to cover all possible combinations of input values, reducing the number of test cases required.

Stress Testing

A type of testing where the software application is subjected to extreme workloads or conditions to evaluate its stability and performance under pressure.

Load Testing

A type of testing where the software application is subjected to normal or expected workloads to evaluate its performance and response times.

Usability Testing

A type of testing where the software application is evaluated for its ease of use, intuitiveness, and user-friendliness.

Accessibility Testing

A type of testing where the software application is evaluated for its accessibility to users with disabilities, ensuring compliance with accessibility standards.

Compatibility Testing

A type of testing where the software application is evaluated for its compatibility with different operating systems, browsers, devices, or databases.

Alpha Testing

A type of testing where the software application is tested by a select group of users before its official release, providing feedback and identifying issues.

Beta Testing

A type of testing where the software application is tested by a larger group of external users before its official release, gathering feedback and identifying issues.

Acceptance Testing

A type of testing where the software application is tested to determine whether it meets the specified requirements and is ready for deployment.

Smoke Testing

A type of testing where a subset of test cases is executed to quickly determine whether the software application is stable enough for further testing.

Test Automation

The use of software tools and scripts to automate the execution of test cases, reducing manual effort and increasing efficiency.

Test Environment

A setup or configuration that mimics the production environment, allowing testing to be performed in a controlled and representative environment.

Test Data

The input values, files, or databases used during testing to ensure that the software application behaves correctly under different scenarios.

Test Report

A document that provides an overview of the testing activities, including test results, issues encountered, and recommendations for further improvement.

Defect

An issue or flaw in the software application that deviates from its expected behavior or functionality.

Bug Tracking

The process of recording, managing, and resolving issues or defects identified during testing or development.

Code Review

A systematic examination of the code by peers or experts to identify issues, improve code quality, and ensure adherence to coding standards.

Static Code Analysis

The process of analyzing the code without executing it, typically using automated tools to identify potential issues and improve code quality.

Continuous Testing

A practice where testing activities are integrated into the software development process, allowing for early and frequent testing of code changes.

Test-Driven Development (TDD)

A software development approach where tests are written before the code is implemented, driving the design and development process.

Behavior-Driven Development (BDD)

A software development approach where tests are written in a natural language format to describe the expected behavior of the software.

Mocking

The process of creating simulated objects or components to replace real dependencies during testing, allowing for isolated and controlled testing.

Continuous Integration (CI)

A development practice where code changes are frequently integrated into a shared repository, allowing for early detection of integration issues.

Continuous Delivery (CD)

A software development practice where code changes are automatically built, tested, and deployed to production environments.

Continuous Deployment

A software development practice where code changes are automatically built, tested, and deployed to production environments without manual intervention.