2023-01-16

Definition: Collaborator

Collaboration, by michael.gr, based on original 'Gear' by Lluisa Iborra (https://thenounproject.com/icon/gear-1031260/) and 'hands making a circle' by Oleksandr Panasovskyi (https://thenounproject.com/icon/hands-making-a-circle-4289633/) from the Noun Project.

I have been coming across the term collaborator in software literature, and I have been using it too in my own writings, but without having seen it defined. I tried searching for its definition, but could not find any. In UML the term collaboration is vaguely described, but not the term collaborator. After asking on Software Engineering Stack Exchange I was pointed to what is in almost all certainty the original definition, but it turns out that it is very old, and slightly problematic, so I thought I should provide a modern definition here, at the very least for use in my own writings.

Here it goes:

A collaborator is a component invoked by another component to do a job.

(And since the context is software, these are, of course, software components.)

Origin of the term

2023-01-15

If you are using mock objects you are doing it wrong.

Mocking by michael.gr, based on 'mock' by 'Iconbox' from  https://thenounproject.com/icon/mock-2657532/

Abstract:

The practice of using Mock Objects in automated software testing is examined from a critical point of view and found to be highly problematic. Opinions of some well known industry speakers are cited. The supposed benefits of Mock Objects are shown to be either no real benefits, or achievable via alternative means.