1/29
Vocabulary flashcards covering concepts, methodologies, testing levels, non-functional testing, and testing documentation in Software Engineering.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software Testing (ANSI/IEEE 1059)
A process of analyzing a software item to detect the differences between existing and required conditions (defects, errors, or bugs) and to evaluate the features of the software item.
Verification
An objective, static process performed by developers that addresses 'Are you building it right?' through reviews, walkthroughs, and inspections to ensure the software system meets all functionality.
Validation
A subjective, dynamic process performed by testers that addresses 'Are you building the right thing?' by executing the software against requirements to ensure functionalities meet intended behavior.
Manual Testing
A form of software testing carried out manually without automated tools or scripts, where the tester assumes the role of an end-user to uncover unexpected behavior or errors.
Automation Testing
A process (also known as Test Automation) in which testers write scripts and utilize software tools to re-run test scenarios quickly, repeatedly, and efficiently.
Black-Box Testing
A testing technique performed without knowledge of internal code or system architecture, interacting purely via the user interface to evaluate inputs and outputs (also known as closed-box, data-driven, or functional testing).
White-Box Testing
A testing method requiring thorough knowledge of source code and internal logic to examine internal structures and fix inappropriate code behavior (also known as glass, clear-box, structural, or code-based testing).
Grey-Box Testing
A testing technique where the tester possesses limited knowledge of internal software operations, relying on design documents, database diagrams, and interface specifications (also known as translucent testing).
Functional Testing
A category of black-box testing based on functional specifications, evaluating a complete integrated system to ensure full compliance with specified requirements.
Unit Testing
Testing conducted by developers on individual isolated modules or units of source code prior to formal hand-off to the Quality Assurance team.
Integration Testing
Testing performed on combined parts or modules of an application to evaluate whether they function correctly together.
Bottom-Up Integration Testing
An integration testing approach starting with unit tests and progressing upward to test higher-level combinations of units called modules or builds.
Top-Down Integration Testing
An integration testing method in which highest-level modules are tested first, followed progressively by lower-level modules.
System Testing
Rigorous, end-to-end testing of the complete integrated application in an environment mimicking production to confirm compliance with functional, technical, and quality standards.
Regression Testing
Testing executed after software modifications or bug fixes to confirm that existing functionality or business rules have not been negatively affected.
Acceptance Testing
Testing conducted by the QA team or client to evaluate whether the software meets business goals, contractual specifications, and production standards.
Alpha Testing
The initial testing phase performed internally by combined developer and QA teams, encompassing unit, integration, and system tests to catch basic bugs, broken links, and performance latency.
Beta Testing
Pre-release testing where a sample of external end-users operates the application in real-world environments and submits feedback to help fix issues prior to public deployment.
Non-Functional Testing
Testing directed at system qualities and operational requirements rather than specific functional behaviors, covering areas such as performance, usability, security, and portability.
Performance Testing
Non-functional testing focused on assessing system speed, response time, capacity, stability, and scalability to pinpoint system bottlenecks.
Load Testing
Non-functional testing that assesses system performance and capacity under expected peak operational loads using simulated virtual users (VUsers).
Stress Testing
Non-functional testing that evaluates software behavior under extreme, abnormal conditions or resource limitations to identify the breaking point of the system.
Usability Testing
A black-box testing method assessing software user-friendliness based on learnability, efficiency, memorability, error safety, and user satisfaction.
UI Testing
Testing focused on verifying that Graphical User Interface elements—such as colors, fonts, layout alignment, and sizes—meet specified visual requirements.
Security Testing
Non-functional testing aimed at discovering security vulnerabilities, ensuring confidentiality, integrity, authentication, availability, authorization, and non-repudiation.
Portability Testing
Testing conducted to ensure software reusability and operational efficiency across different hardware specifications, operating systems, and web browsers.
Test Plan
A comprehensive artifact outlining the overall strategy, scope, environment, resources, risks, milestones, and schedule for testing software.
Test Scenario
A one-line statement defining a specific functional area or end-to-end process flow within an application to be tested.
Test Case
A documented set of execution steps, pre-conditions, inputs, and expected outcomes used to determine if a specific software feature functions properly.
Test Suite
A grouped collection of individual test cases created to test a specific module or whole software application.