Part1前言
测试的用例可以自动执行,那么结果比较也就是断言,自动化有什么需要注意的么?或者说有什么指导方针么?
Part2基本概念-自动化比较
我们手工测试尚且有预期输出和实际输出,自动化脚本只是自动的去执行,结果断言可千万不能少啊。
1比较内容
一般有 文本;格式化数据,屏幕输出显示,电子邮件信息,接口返回,硬件接收的信号,其他机器接收的信号,进程状态,数据库记录等等。
2动态比较
预期结果,很多时候可以写死,但是有时候却不得不做成动态的,这样的话会更加可靠和灵活。
比如:登录脚本,登录成功的结果断言中,用用户名 是否显示且正确来当做依据。有的人会写死,,但是这样的测试的数据,也就是账号密码就也要跟着固定了,假如有一天,需要换账号,你还要跟着把脚本内所有写死的用户名预期,都一起改成新的?
所以,应该做成动态的,比如去数据库查出这个账号对应的真实昵称是什么,再当做依据,来看看app上显示的对不对。
但是,也不能光说优点,动态比对的缺点也很明显, 比如代码可读性差,风险高,执行慢,依赖因素多等等。
3脱机比较
这是什么意思,就是在脚本执行过程中,不忙着实时的进行比对结果,而是把所有需要断言的实际结果都保存到某个文件中,最终脚本完全执行结束后,这个文件再去跟预期的文件进行比对。
当中可能会有几十甚至上百处的比对点,最终得出结果,正确率如何如何。