Automation of testing, specification languages and CASE tools