Practical Model Based Testing A Tools Approach