Software Testing And Quality Assurance Study Cards

Enhance Your Learning with Software Testing and Quality Assurance Flash Cards for quick learning



Software Testing

The process of evaluating a software application or system to find defects and ensure that it meets the specified requirements.

Quality Assurance

A set of activities designed to ensure that the development and maintenance processes of a software product are performed correctly and that the product satisfies the defined quality standards.

Testing Methodologies

Different approaches and techniques used to plan, design, execute, and report software tests, such as waterfall, agile, and DevOps.

Test Planning

The process of defining the scope, objectives, and approach for testing a software application or system.

Test Design

The process of creating test cases and test scenarios based on the requirements and specifications of a software application or system.

Test Execution

The process of running test cases and test scenarios to verify the behavior and functionality of a software application or system.

Test Reporting

The process of documenting and communicating the results of software tests, including defects found and their severity.

Defect Management

The process of identifying, tracking, and resolving defects or issues found during software testing.

Quality Assurance Processes

The set of activities and techniques used to ensure that the development and maintenance processes of a software product are performed correctly and that the product satisfies the defined quality standards.

Software Quality Control

The process of monitoring and evaluating the quality of a software product to ensure that it meets the specified requirements and standards.

Test Automation

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

Performance Testing

The process of evaluating the performance and responsiveness of a software application or system under different load and stress conditions.

Security Testing

The process of evaluating the security and vulnerability of a software application or system to identify potential threats and risks.

Usability Testing

The process of evaluating the user-friendliness and ease of use of a software application or system from the perspective of end users.

Regression Testing

The process of retesting modified or updated software to ensure that the changes have not introduced new defects or issues.

Agile Testing

A testing approach that follows the principles of agile software development, emphasizing collaboration, flexibility, and continuous feedback.

Continuous Integration

The practice of regularly integrating and testing code changes in a software development project to detect and resolve integration issues early.

Mobile Testing

The process of testing mobile applications and software on different devices, platforms, and operating systems.

Exploratory Testing

A testing approach that focuses on simultaneous learning, test design, and test execution, exploring the software application or system without predefined test cases.

Risk-based Testing

A testing approach that prioritizes test activities based on the identified risks and their potential impact on the software application or system.

White Box Testing

A testing technique that examines the internal structure and implementation of a software application or system, including code coverage and control flow analysis.

Black Box Testing

A testing technique that focuses on the external behavior and functionality of a software application or system, without considering its internal structure or implementation.

Grey Box Testing

A testing technique that combines elements of both white box and black box testing, considering partial knowledge of the internal structure and implementation of a software application or system.

Static Testing

A testing technique that examines the software application or system without executing the code, including reviews, inspections, and walkthroughs.

Dynamic Testing

A testing technique that evaluates the behavior and functionality of a software application or system by executing the code and observing the actual results.

Unit Testing

A testing technique that focuses on testing individual units or components of a software application or system in isolation.

Integration Testing

A testing technique that verifies the interaction and communication between different units or components of a software application or system.

System Testing

A testing technique that evaluates the behavior and functionality of a complete software application or system as a whole.

Acceptance Testing

A testing technique that validates whether a software application or system meets the specified requirements and satisfies the needs of end users.

Alpha Testing

A type of acceptance testing performed by a select group of end users or internal stakeholders in a controlled environment.

Beta Testing

A type of acceptance testing performed by a larger group of external users in a real-world environment before the software application or system is released.

Smoke Testing

A type of testing that focuses on quickly checking the basic functionality and stability of a software application or system after a build or release.

Sanity Testing

A type of testing that focuses on quickly checking whether the major functionalities of a software application or system are working as expected after a minor change or fix.

Ad Hoc Testing

A testing technique that involves random and unplanned testing without following any specific test design or test strategy.

Compatibility Testing

A testing technique that evaluates the compatibility and interoperability of a software application or system with different hardware, software, and operating systems.

Accessibility Testing

A testing technique that evaluates the accessibility and usability of a software application or system for people with disabilities.

Localization Testing

A testing technique that verifies whether a software application or system can be adapted and localized for different languages, cultures, and regions.

Globalization Testing

A testing technique that evaluates whether a software application or system can function correctly and effectively in different languages, cultures, and regions.

Performance Testing Tools

Software tools and frameworks used to automate and streamline the performance testing process, such as JMeter, LoadRunner, and Gatling.

Security Testing Tools

Software tools and frameworks used to automate and enhance the security testing process, such as OWASP ZAP, Burp Suite, and Nessus.

Usability Testing Tools

Software tools and frameworks used to automate and facilitate the usability testing process, such as UserTesting, Optimal Workshop, and Morae.

Regression Testing Tools

Software tools and frameworks used to automate and manage the regression testing process, such as Selenium, TestComplete, and Ranorex.

Defect Tracking Tools

Software tools and systems used to track, manage, and resolve defects or issues found during software testing, such as JIRA, Bugzilla, and Trello.

Test Management Tools

Software tools and platforms used to manage and organize the testing process, including test case management, test execution tracking, and reporting, such as TestRail, qTest, and Zephyr.

Code Coverage Tools

Software tools and utilities used to measure and analyze the extent to which the source code of a software application or system is tested, such as JaCoCo, Cobertura, and Emma.

Continuous Integration Tools

Software tools and frameworks used to automate and streamline the continuous integration and testing process, such as Jenkins, Travis CI, and CircleCI.

Mobile Testing Tools

Software tools and frameworks used to automate and facilitate the testing of mobile applications and software on different devices, platforms, and operating systems, such as Appium, Calabash, and TestComplete Mobile.

Exploratory Testing Tools

Software tools and utilities used to support and enhance the exploratory testing process, such as SessionTester, Rapid Reporter, and Mind Maps.

Test Data Management Tools

Software tools and systems used to generate, manage, and manipulate test data for software testing, such as Mockaroo, Databene Benerator, and Data Factory.