Оба варианта верны с точки зрения грамматики, но они немного разнятся по смыслу.
"Not each pupil has to write tests" означает, что не каждый ученик обязан писать тесты, то есть некоторым ученикам нет необходимости их писать.
"Each pupil doesn`t have to write tests" означает, что каждый ученик не обязан писать тесты, то есть никто из учеников не должен их писать.
В обоих случаях смысл выражается, но первый вариант может давать больше информации о том, что не все ученики обязаны писать тесты.
Оба варианта верны с точки зрения грамматики, но они немного разнятся по смыслу.
"Not each pupil has to write tests" означает, что не каждый ученик обязан писать тесты, то есть некоторым ученикам нет необходимости их писать.
"Each pupil doesn`t have to write tests" означает, что каждый ученик не обязан писать тесты, то есть никто из учеников не должен их писать.
В обоих случаях смысл выражается, но первый вариант может давать больше информации о том, что не все ученики обязаны писать тесты.