False positives / negatives in implementation testing

Implementation details are things which users of your code will not typically use, see, or even know about.

False negative: test fails because of a broken test, not broken app code. Can break during refactoring of appllication code.

False positive test does not fail when it has to.

How to test? - ask yourself "if I was a manual tester how would I test it" then write tests accordingly.