Testing: Unit & Integration
40 cards · 🇺🇸 English
Unit testing, integration testing, mocking, and testing best practices.
Study all 40 cards for free
Flashcards, quizzes, pixel-art games and a daily review that remembers for you.
Try the first 10 cards
1 / 10Software testing
Tap the card for the answer · swipe right if you knew it, left if not
Already have an account? Sign in
Cards
- 1Software testingThe act of checking whether software meets its intended objectives and satisfies expectations, providing objective information about quality and risk
- 2Unit testingA form of software testing by which isolated source code (components or modules) is tested to validate expected behavior
- 3Integration testingTesting where multiple software components, modules, or services are tested together to verify they work as expected when combined, focusing on interactions and data exchange
- 4'test pyramid' approachA testing strategy where most tests are unit tests, followed by fewer integration tests, and finally a small number of end-to-end (e2e) tests
- 5static vs dynamic testingStatic testing involves reviewing code without executing it (reviews, inspections); dynamic testing involves running the program with test cases
- 6White-box testingTesting that verifies internal structures or workings of a program using knowledge of source code and programming skills to design test cases
- 7Black-box testingDesigning test cases without knowledge of implementation or source code, based only on what the software is supposed to do
- 8Grey-box testingTesting that uses knowledge of internal data structures and algorithms while executing tests at the user/black-box level
- 9Regression testingTesting that focuses on finding defects after major code changes, seeking to uncover software regressions where previously working features stop working correctly
- 10Smoke testingMinimal attempts to operate software designed to determine if there are basic problems that will prevent it from working at all
- 11Sanity testingTesting to determine whether it is reasonable to proceed with further testing
- 12Acceptance testingSystem-level testing to ensure software meets customer expectations, often performed as part of hand-off between development phases
- 13verification vs validationVerification: 'Have we built the software right?' (does it implement requirements). Validation: 'Have we built the right software?' (do deliverables satisfy the customer)
- 14Code coverageA software metric that measures the completeness of a test suite by reporting what percentage of code (functions, statements, branches) has been executed
- 15Three main types of code coverageFunction coverage (functions executed), Statement coverage (lines executed), Decision coverage (True and False branches executed)
- 16Exploratory testingA testing approach emphasizing simultaneous learning, test design, and test execution, where testers have personal freedom to optimize their work throughout the project
- 17Test-driven development (TDD)A unit testing practice where unit-level testing is performed while writing the product code, with test code maintained and run continuously
- 18Functional testingTesting activities that verify a specific action or function of the code, usually found in requirements documentation, answering 'can the user do this?'
- 19Non-functional testingTesting aspects of software not related to specific functions, such as scalability, performance, security, or behavior under constraints
- 20Performance testingTesting executed to determine how a system performs in terms of responsiveness and stability under a particular workload
- 21Load testingTesting primarily concerned with whether the system can continue to operate under a specific load (large quantities of data or users)
- 22Stress testingTesting reliability under unexpected or rare workloads to determine the breaking point where extremes lead to unstable execution
- 23Alpha testingSimulated or actual operational testing by potential users or an independent test team at the developers' site, before beta testing
- 24Beta testingExternal user acceptance testing where versions (beta versions) are released to a limited audience outside the programming team
- 25Continuous testingExecuting automated tests as part of the software delivery pipeline to obtain immediate feedback on business risks associated with a release candidate
- 26Mutation testingA white-box testing technique that intentionally introduces faults to gauge the efficacy of testing strategies
- 27API testingTesting of an application using public and private APIs (application programming interfaces)
- 28Component interface testingA variation of black-box testing focusing on data values passed between subsystem components, checking the handling of data beyond just related actions
- 29Compatibility testingTesting to ensure software is compatible with other application software, operating systems, or target environments different from the original
- 30Usability testingTesting to check if the user interface is easy to use and understand, requiring actual human users monitored by skilled UI designers
And 10 more cards. Study the whole deck free
Articles about this deck
More Programming decks
See all- 🧱
Data Structures
95 cards · 🇺🇸 English
Arrays, linked lists, trees, graphs, hash tables and their core operations.
- 🧱
Estructuras de Datos
95 cards · 🇺🇸 English
Arrays, listas enlazadas, árboles, grafos, tablas hash y sus operaciones fundamentales.
- 🏗️
Design Patterns & OOP/SOLID Principles
60 cards · 🇺🇸 English
The Gang of Four design patterns plus object-oriented and SOLID principles.
- ⏱️
Notación Big O
44 cards · 🇺🇸 English
Análisis de la complejidad temporal y espacial de algoritmos y operaciones comunes.
- 🧱
Datenstrukturen
95 cards · 🇺🇸 English
Arrays, verkettete Listen, Bäume, Graphen, Hash-Tabellen und ihre wichtigsten Operationen.
- ⏱️
Notation Big O
44 cards · 🇺🇸 English
Analyse de la complexité temporelle et spatiale des algorithmes et opérations courantes.
