functionality testing in software testing examples