Cognitive load refers to the amount of mental effort required to perform a task, including everything a tester must keep in mind while testing, such as requirements, system behaviour, test data, environments, tools, expected results, and potential failure modes.
Cognitive load is often described in three different forms:
Cognitive load is often described in three different forms:
- Intrinsic cognitive load: This comes from the inherent complexity of the system being tested. Distributed systems, complex business rules, edge cases, and integrations naturally demand more mental effort.
- Extraneous cognitive load: This is unnecessary mental effort caused by poor tooling, unclear requirements, fragmented documentation, inconsistent environments, or inefficient processes. Unlike intrinsic load, this type is avoidable.
- Germane cognitive load: This is the productive mental effort spent learning, problem-solving, and building mental models of the system. This is the load on which we want testers to spend their energy.
It would be impossible to eliminate cognitive load entirely. Instead, effective testing requires reducing extraneous load so testers can devote their finite mental capacity to meaningful analysis and exploration.