Functional testing
Functional testing evaluates whether software performs specified functions and produces required behavior for given inputs and conditions.
Practices of the Python Pro
A functional test evaluates software behavior by supplying input, determining expected output, obtaining actual output, and comparing the results.
- How it is used
- Verifies that software behaves correctly before performance work and supports confidence during refactoring.
- How deep it goes
- Defines four test steps, demonstrates Python implementation, and compares unit, integration, manual, and performance testing without low-level internals.
- Examples
- Uses mean calculation, e-commerce cart behavior, product SKU transformations, shopping-cart assertions, and an over-removal edge case.
- What you can do after
- Apply it via unittest or pytest to write assertions, detect failures, test alternate outcomes, and build confidence incrementally.
Read how Practices of the Python Pro explains functional testing →
Functional Design and Architecture: Examples in Haskell
Testing that evaluates specified functionality or an isolated unit of application logic without invoking real external services.
- How it is used
- Reduces project risk by validating functional requirements and contracts through isolated tests rather than exercising real external services.
- How deep it goes
- Defines scope, isolation, and testing boundaries, but does not provide a detailed execution procedure or implementation walkthrough.
- Examples
- Uses the Labyrinth console game as a domain example and frames subsystems, modules, and functions as possible test targets.
- What you can do after
- Evaluate/understand it by distinguishing isolated functionality tests from integrated tests involving real subsystems and services.
Read how Functional Design and Architecture: Examples in Haskell explains functional testing →
Related concepts
- testkind of · A test is a procedure or check that evaluates behavior using specified inputs or evidence against expected results or criteria.
- performance testingcontrasts with · Performance testing is the evaluation of a system's behavior, such as its responsiveness, throughput, scalability, stability, or resource use, under specified workloads and operating conditions.
- labeluses · A label is a value or annotation associated with an item that identifies its target category, outcome, or reference answer for learning or evaluation.
- Seleniumimplemented by · Selenium is an open-source suite of tools and APIs for automating web browsers and testing web applications.
- generationuses · Generation is the computational production of outputs from supplied inputs or context, often by applying a model to produce predictions or new content.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

