Если использовать тест только с одни значением, используя input type="radio" , то формула mark=1+Math.round(4*gc/tc*2/tc); считает оценку корректно, например
<body>
<form name="myform">
<p>Выберите правильный ответ.
<label>
<input type="radio" name="myname" value="v1">
Вариант 1</label>
<br>
<label>
<input type="radio" name="myname" value="v2">
Вариант 2
</label>
<br>
<label>
<input type="radio" name="myname" value="v3">
Вариант 3</label>
<br>
<label>
<input type="radio" name="myname" value="v4">
Вариант 4</label>
</p>
</form>
<DIV id=soder><A href="test2" onClick="calc();">Следующий тест</a></div>
<script type="text/javascript">
function calc(){
var gc=parent.stat.document.forms.stat.good;
if(myform.myname.value == 'v3')
{gc.value++;}
else{return;}
}
</script>
</body>
Но при использовании input type="cheсkbox", всё наперекосяк