Oracles are things that can tell us whether or not a result is correct. For some tests, an oracle is as simple as comparing a couple strings or numbers. Other tests have many acceptable results and it’s harder to know what’s right. I Continue reading Testing with Simple and Combinatorial Oracles
Test-Driven Development (TDD) is an approach to designing and implementing software: write tests, write code, refactor, and repeat; all in small steps.
As one of Industrial Logic’s consultants, I sometimes make videos, so I thought I’d gather links to those here. The INVEST Model for User Stories Writing Stories This is a sample from our Composing User Stories eLearning. Measuring and Graphing Continue reading Industrial Logic Videos
Some unit tests are focused, other are like a run-on sentence. How can we create tests that are focused and communicate well? What's a good structure for a unit test? 3A: Arrange, Act, Assert We want to test the behavior Continue reading 3A – Arrange, Act, Assert
How does the order of tests affect the design of software? A game to explore that idea. Continue reading Tests from a Hat
Growing Object-Oriented Software, Guided by Tests, by Steve Freeman and Nat Pryce, ISBN 0-321-50362-7 Freeman and Pryce explain Test-Driven Development through an extended example. (They have a somewhat different perspective than I do, with much heavier use of mock objects. Continue reading Review – Growing Object-Oriented Software, Guided by Tests
Sudoku is a fairly well-known type of puzzle. Solving it turns out to be easier than I expected, but a somewhat odd example of test-driven development. Continue reading Sudoku Solver
One way to determine “sufficient completeness” suggests considering all sequences of calls that can take an object to a state. This enumeration suggests important test cases. Continue reading Sufficient Completeness and Testing