compatibility testing definition in software engineering