Practices and Tools for Better Software Testing