By way of a direct answer, \$A\$, \$B\$, and \$C\$ are in fact required test points. \$C\$ is actually also an output as well as a test point.
There is NO possible way to properly adjust the potentiometer \$R_2\$, nor build this circuit using discrete parts, without using those test points. It's certain that whomever designed this circuit fully intended them to be used in order to create a working circuit. You should use one probe of a digital voltmeter touching one of those test points while applying the other probe of the voltmeter to the indicated ground (the point in between the two voltage supplies.) I'm certain that the originating author actually wrote some instructions about how to interpret the readings and adjust \$R_2\$.
Test point \$A\$ can be read out using a voltmeter that doesn't support both negative and positive readings because that point is always positive with respect to ground. But test point \$B\$ and the output \$C\$, using ground as the reference, will probably require a voltmeter supporting both positive and negative readings. A fix to this issue, if one's voltmeter can only properly read positive numbers (such as a cheap analog meter) is to then use the negative voltage rail (attached to the black voltmeter probe) as the reference for making all measurements (using the red voltmeter probe.) But there will be somewhat adjusted instructions for that case.
\$V_+\$ and \$V_-\$ are the two inputs of a traditional opamp. In total, this is what you are staring at:
simulate this circuit – Schematic created using CircuitLab
That's a behavioral schematic which is identical (except missing the test points \$A\$ and \$B\$ and the potentiometer needed to adjust them.)
\$Q_3\$ represents a current sink needed by the long-tailed pair (BJT diff-amp) created by \$Q_1\$ and \$Q_2\$ and their collector load resistors. One of the collectors (that of \$Q_1\$) is selected as the long-tailed pair output. (The choice of one collector, or the other one, makes the determination as to which of the BJT bases will be labeled as \$V_+\$ and which as \$V_-\$.) \$R_4\$ isn't strictly necessary, so one experiment you might try is to simply replace it with a wire. However, it does have a use as it helps compensate for the Early Effect present in all BJTs. The opamp will be somewhat less linear (requiring more negative feedback to make it equally linear in usage) without it.
\$Q_4\$ is an emitter follower topology, but its intent is to be used with \$R_1\$ and potentiometer \$R_2\$ in order to perform a voltage-level shift operation. The collector output from \$Q_1\$ isn't at the right voltage, by itself, to drive the final output formed by \$Q_5\$ and \$Q_6\$. So the level needs to be dropped down a little bit in order to get it where it needs to be. The exact level can't be predicted because BJTs vary a lot and ambient and operating temperature matters, too. So \$R_2\$ exists so that individual variations over parts, temperature, long term drift and all other ills can be temporarily cured by adjusting it. (You may find yourself needing to adjusting it from time to time.) \$R_1\$ provides the actual voltage drop. But this is really kind of a poor arrangement because the desired voltage drop of \$R_1\$ should be fixed (once adjusted, properly.) Instead, it will vary somewhat with the signal itself.
\$Q_5\$ and \$Q_6\$ provide a sink-source output stage that goes by various names. It's purpose is to take the weak but varying voltage of point \$B\$ and roughly replicate it at point \$C\$ -- but with significant improvement in the current compliance and the ability to either sink or source current to achieve that purpose. Diodes \$D_1\$ and \$D_2\$ separate the bases of \$Q_5\$ and \$Q_6\$ by just enough that the output always operates well without much cross-over distortion. How well they actually achieve it is another matter and the circuit doesn't provide a means to remedy that further. So you get what you get on that count.
That's about it.