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
I’m calling this “Resources on Agile Testing” but I’m not drawing a very sharp line about what’s Agile Testing vs. Good Testing. Further suggestions are welcome! Related resource summaries: BDD and TDD. Exercises (None identified) E-Learning Kaner, Cem. Black-Box Software Continue reading Resources on Agile Testing
T is for Testable in the INVEST model. A testable story is one for which, given any inputs, we can agree on the expected system behavior and/or outputs.
A Song Catcher in Southern Mountains: American Folk Songs of British Ancestry, by Dorothy Scarborough, Columbia University Press, 1937. Playing dulcimer has led me to deeper interest in the older songs. This book is a collection by one of the Continue reading Review: A Song Catcher in Southern Mountains
S is for Small in the INVEST acronym. I now use another S that I think captures the idea even better: Scalable. Scalable means “able to be changed in size or scale,” and that’s handy in a story: We want Continue reading Small – Scalable – Stories in the INVEST Model
Software design and design patterns are both broad topics where a lot has been written; this is necessarily a sampling. Other Resources: TDD, Refactoring, CI/CD, BDD [Disclosure: Note that I may have been involved in some of the materials mentioned Continue reading Resources on Software Design and Patterns
Behavior-Driven Development (BDD) is a collaboration technique focused on using scenarios as a focal point for conversations among stakeholders. You’ll hear BDD also referred to as Acceptance-Test Driven Development (ATDD), Storytest-Driven Development (SDD), Specification by Example, Example-Driven Development, and other Continue reading Resources on BDD (Behavior-Driven Development)
Continuous Integration (CI) and Continuous Delivery (CD) (or Continuous Deployment) – enabling a flow of value. Other resource summaries: BDD, TDD, Refactoring. [Disclosure: Note that I may have been involved in some of the materials mentioned below, and I work Continue reading Resources on CI and CD
Test-Driven Development (TDD) is an approach to designing and implementing software: write tests, write code, refactor, and repeat; all in small steps.
Refactoring is a key skill in developing software. These resources can help you improve.