Mock Objects | Glossary

Definition:

A technique commonly used in automated unit test for dummy implementation of a software component. The mock objects are simulated to behave like a real object in a controlled manner as part of the testing initiative. 

Benefits:

It is very useful when the real object is difficult to incorporate into a unit test such as;

  • The complex real objects supply non-deterministic results
  • It is in a state difficult to reproduce
  • It is slow and may change behaviour

Mock objects can do decoupling of software components for testing purposes.

Origin:

  • Freeman, Mckinnon and Craig described it as a testing technique in their article ‘Endo-Testing: Unit Testing with Mock Objects’ in 2000
  • Freeman and Pryce’s provided comprehensive description of mock objects integration to TDD and OO design in ‘Growing Object-Oriented Software Guided by Tests’ in 2010

Further Reading:

  • ‘A brief History of Mock Objects’ by Tim Mackinnon
  • ‘Using Mock Objects for Complex Unit Tests’ by IBM DeveloperWorks

Heartbeat Retrospective | Glossary

Definition:

An interim retrospective meetings that happens regularly explicitly reflecting the most important events occurred in previous iterative development cycle is called Heartbeat Retrospective. In such meetings, significant decisions are made on further changes and improvements required to achieve the goal. It is a facilitated meeting, generally by Scrum Master and follows a set format. 

It is also called ‘Sprint Retrospective’, ‘Iteration Retrospective’, and has gained a favor in Agile community over the past few years.

Benefits:

  • Opportunity to identify the bottlenecks to achieve the iteration and overall goal
  • Gives direction to further improve
  • Encourages ownership and responsibility

Origin:

  • Alistair Cockburn has described ‘work in increments, focus after each’ in ‘Surviving Object-Oriented Projects’ in 1997, however he did not name it
  • In the year 2001, Alistair Cockburn mentioned ‘Reflection Workshop’ in the book ‘Agile Software Development’
  • ‘Agile Manifesto’ published in 2001 mentions significance of regular retrospectives in one of the principles
  • Norm Kerth introduced the term ‘Project Retrospectives’ in his book with the same name in 2001
  • Esther Derby and Diana Larsen’s book ‘Agile Retrospectives’ brought a closer description of Heartbeat Retrospective.

Further Reading:

  • Agile Manifesto
  • ‘Agile Retrospectives’ by Esther Derby and Diana Larsen
  • ‘Project Retrospectives by Norm Kerth