Common Software Testing Pitfalls and How to Avoid Them