Testing Heuristics Cheat Sheet
A test is an experiment designed to reveal information or answer a specific question about the software or system. * Stakeholders have questions; testers have answers.
* Don’t confuse speed with progress.
* Take a contrary approach.
* Observation is exploratory.
* The narrower the view, the wider the ignorance.
* Big bugs are often found by coincidence.
* Bugs cluster.
* Vary sequences, configurations, and data to increase the probability that, if there is a problem, testing will find it. * It’s about all the variables.
Methods and Approaches to Software Testing
Below describes the outline of the methods and approaches we ought to follow: * The Idea is to think it in your mind and think scientifically, watch out for the mental traps, use questions, explain the behavior, and based on the experiences gained from testing use predictions, create a checklist. * Complexity is in mind, don’t be afraid of it! Observation is the key to a successful tester, observe and draw inferences, from observation you can see what is missing and what is not required, termed as extras this can be done from heuristic approaches. * Consistently enhance your heuristics and list down the quality criteria, oracles and find out the way of coping difficult problems. * Few Knows introduced are, Know the type of coverage for the testing you are performing on the application, your strategies, approaches, procedures, innovate the process of testing every time.
Heuristics and Framework
* Variable Analysis - Identify anything whose value can change. Variables can be obvious, subtle, or hidden. * Touch Points - Identify any public or private interface that provides visibility or control. Provides places to provoke, monitor, and verify the system. * Boundaries - Approaching the Boundary (almost too big, almost too small), Consider very large, long, extreme data at the boundary. Don’t stop testing when you see one boundary is handled properly. Take that data all around to the other functions that process it. * Goldilocks - Too Big, Too Small, Just Right
* CRUD - Create, Read, Update, Delete
* Follow the Data - Perform a sequence of actions involving data, verifying the data integrity at each step. * Enter
* Configurations - Varying the variables related to configuration * Screen Resolution,
* Network Speed,
* Signal Strength,
* Disk Availability
* Count heuristic applied to any peripheral such as 0, 1, Many Monitors, Mice, or Printers) * Interruptions - Log Off, Shut Down, Reboot, Kill Process, Disconnect, Hibernate, Timeout, Cancel * Starvation - CPU, Memory, Network, or Disk at maximum capacity * Position - Beginning, Middle, End (Edit at the beginning of the line, middle of the line, end of the line) * Selection - Some, None, All (Some permissions, No permissions, All permissions) * Count - 0, 1, Many
* (0 transactions, 1 transactions, Many simultaneous transactions) * Multi-User - Simultaneous create, update, delete from two accounts or same account logged in twice.
* Flood - Multiple simultaneous transactions or requests flooding the queue. * Dependencies - Identify “has a” relationships
* A Customer has an Invoice; an Invoice has multiple Line Items. * Apply CRUD, Count, Position, and/or Selection heuristics. * Customer has 0, 1, many Invoices;
* Invoice has 0, 1, many Line Items; Delete last Line Item then Read; Update first Line Item; Some, None, * All Line Items are taxable;
* Delete Customer with 0, 1, Many Invoices
* Constraints - Violate constraints (leave required fields blank, enter invalid...
Please join StudyMode to read the full document