Why Edge Cases Matter More Than Normal Test Cases in Software Testing