单元测试、接口测试、功能测试的区别
自动化测试分为单元自动化测试、接口自动化测试和功能自动化测试
功能测试的进行:首先编写测试用例,测试用例中最主要的是测试步骤和预期结果;测试人员根据测试用例执行操作步骤,然后通过眼睛和思考判断实际结果与预期结果是否相等,如果相等,测试通过;如果不相等,测试失败。
自动化测试要做的事情与功能测试是一致的,这里的自动化测试主要包含三个层面的自动化,单元测试自动化,接口测试自动化和web测试自动化。当然,不同层面的自动化关注点不一样。
单元测试自动化,调用被测试的类或者方法,根据类或方法的参数,传入相应的数据,然后得到一个返回结果,最终断言返回的结果是否等于预期结果,如果相等,测试通过;如果不相等,测试失败。所以,这里单元测试关注的是代码的实现和逻辑,单元测试是测试中最基本的测试,也是测试中的最小单元,它的对象,也可以包含输入输出,针对的是函数功能或者函数的内部逻辑方面,并不包含业务逻辑。
接口测试自动化,根据接口文档,到底是传get请求还是post请求,调用被测试的接口,构造相应的数据(id=1,name=zero),得到返回值,是200成功,并返回查询结果,还是10021,用户名不能为空,不管输入的参数是怎样的,我们都将得到一个结果,最终断言返回的结果是否等于预期结果,如果相等,测试通过,如果不相等,测试失败。所以,接口测试关注的是数据,只要数据正确了,功能就成功大半,剩下的无非是如何把这些数据展示在页面上。
web测试自动化,这种测试更贴近用户的行为,模拟用户点击了某个按钮,有个输入框里输入了什么。但是用户可以看到登录成功了,但web自动化并不知道它刚才的点击有没有生效。所以要找“证据”,比如,登录成功后页面右上角会显示“欢迎,xxx”,这就是登录成功之后的有力“证据”。于是,当web自动化登录成功之后,就去获取这个数据进行断言,断言如果相等,测试通过;如果不相等,测试失败。所以,web自动化的关注点在用户操作行为,页面上真正的按钮和输入框是否可用。