传统的自动化测试更关注产品 UI 层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段(层次)都需要自动化测试
大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所以,在分层的自动化测试中,我们有必要对这些定义重新理解
单元测试:我们需要规范的来做单元测试同样需要相应的单元测试框架,如 java 的 Junit、testNG,C#的 NUnit ,Python 的 unittest、pytest 等,几乎所有的主流语言,都会有其对应的单元测试框架。
集成、接口测试:对于不少测试新手来说不太容易理解,单元测试关注代码的实现逻辑,例如一个 if分支或一个 for 循环的实现;那么集成、接口测试关注的一是个函数、类(方法)所提供的接口是否可靠。例如,我定义一个 add()函数用于计算两个参数的结果并返回,那么我需要调用 add()并传参,并比较返回值是否两个数相加。当然,接口测试也可以是 url 的形式进行传递。例如,我们通过 get 方式向服务器发送请求,那么我们发送的内容做为 URL 的一部分传递到服务器端。但比如 Web service 技术对外提供的一个公共接口,需要通过 soapUI 等工具对其进行测试。
UI 层的自动化测试:这个大家应该再熟悉不过了,大部分测试人员的大部分工作都是对 UI 层的功能进行测试。例如,我们不断重复的对一个表单提交,结果查询等功能进行测试,我们可以通过相应的自动化测试工具来模拟这些操作,从而解放重复的劳动。UI 层的自动化测试工具非常多,比较主流的是Selenium ,Appium, QTP,RobotFramework、watir、等。