They have overlap, but know which you mean will help HN answer better :)
Software tests are hard to write right because you don't know what you don't know - you have no idea what kind of garbage data or garbage system or garbage network the software will run on
To cover as much of that as is practical is hard
Educational assessment tests are hard because you do know what you know - but you're trying to ferret-out what the folks you've been trying to teach have learned
If you go for multiple-choice, true/false, or fill-in-the-blank, you have to make sure you:
- word the questions in such a way as to not "give away" the answer - ask questions the participants have an actual chance of answering (not based on an endnote from the middle of the glossary) -
If you go for short or essay answer, you have similar issues:
- expectations-setting on length, style, etc - word questions in such a way as to give the participants a reasonable chance of answering them well
There are other problems around writing good tests - but there are a handful