Take a short length of heavyish cable -- 4mm/sq - 6mm/sq -- strip about 5mm of insulation from each end, peel back the protective caps from the big pair of studs on the solenoid and short the studs together by firmly pressing the bared ends of said cable onto said studs. The starter should spin.
If it doesn't and there's no sparking from your bit of cable:
- a) the starter motor's shagged or
b) the battery's dead flat or
c) the engine earthing strap is missing or discontinuous or
d) the battery / solenoid / starter terminals have a resistance and should be stripped & cleaned
If it doesn't but there's a degree of sparking:
- e) the starter motor's shagged or
f) the battery's got poor capacity and should be charged or replaced, or
g) the engine earthing strap is missing or discontinuous, or
h) the battery / solenoid / starter terminals have a resistance and should be stripped & cleaned
If it does spin, then:
- g) the solenoid is probably shagged
Note: for the purposes of this little test the position of the key is immaterial, as the battery voltage is constantly present at one of the solenoid terminals; besides the ignition and other key-on systems, the keyswitch merely isolates the 12V to the solenoid actuation coil -- pressing the starter button completes the circuit to the coil by presenting a 'ground', 'earth' or 0V, whichever you prefer to call it.