Testing in software engineering