测试验证是检验软件是否产生了正确输出的过程,是通过在测试的实际输出与预期输出(例如,当软件正确执行时的输出)之间完成一次或多次比较来实现的。进行测试自动化工作时,自动比较成为一个必须的环节。有计划的进行比较会比随意的比较有更高的效率和发现问题的能力。

自动比较的内容可以是多方面的,包括基于磁盘输出的比较,如对数据文件的比较;基于界面输出的比较,如对显示位图的比较;基于多媒体输出的比较,如对声音的比较;还包括其它输出的内容的比较。

比较器可以检测两组数据是否相同,功能较齐全的比较器还可以标识有差异的内容。但比较器并不能告诉用户测试是否通过或失败,需要用户自行判断。

比较可以是简单的比较,仅匹配实际输出与预期输出是否完全相同,这是自动化比较的基础。智能比较是允许用已知的差异来比较实际输出和预期输出。比如,要求比较包含日期信息的输出报表的内容。如果使用简单比较,显然是不行的,因为每次生成报表的日期信息肯定是不同的。这时需要智能比较,忽略日期的差别,比较其它内容,甚至还可以忽略日期的具体内容,比较日期的格式,要求日期按特定格式输出。智能比较需要使用到较为复杂的比较手段,包括正则表达式的搜索技术、屏蔽的搜索技术等。