In various categories one encounters what are referred to as 'test-objects'. For example, singleton set serves as test-object (in testing the equality of functions) in the category of sets. In the category of graphs, we need two test objects: dot D and arrow A to separate graph maps (Conceptual Mathematics, page 215; Exercise 1, page 250; page 340). I am wondering if it makes much sense to seek a definition of Test-Objects that works across various categories.
Defining Test-Objects seemed like an interesting exercise given that objects in categories such as sets and graphs are determined entirely by their test-objects (for example, D-figures and A-figures [along with incidence relations] in the category of graphs; see Conceptual Mathematics, page 245; Sets for Mathematics, pp. 154-5; http://at.yorku.ca/t/o/p/d/65.htm).
I eagerly look forward to your corrections and clarifications!
This is called a separating family or (regrettably) generating family for the category. Every category has a tautological separating family, namely the whole category itself; this gives the notion of generalised element.
However, not every category has a small separating family. For example, let $\mathcal{C}$ be a category such that there exists an object with a proper class of isomorphism classes of subobjects; then $[\mathcal{C}^\textrm{op}, \textbf{Set}]$ does not admit a small separating family. (If it did, then it would satisfy Giraud's axioms for a sheaf topos, but it is known that [$\mathcal{C}^\textrm{op}, \textbf{Set}]$ is not a topos when $\mathcal{C}$ is "too big".)