在公司做运维实施,也会参于公司软体的功能测试中,仅是web功能测试,如果要转自动化测试需什么条件?
如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。
所以想做自动化,首先得了解一下自动化测试的一些常见问题。
1. 什么是自动化测试?
自动化测试,顾名思义,自动完成测试工作。
通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。
因为每一个自动化测试的case都是从手工测试做起的,所以自动化测试的基础是手工测试。
2. 为什么要进行自动化测试
1)自动化测试节约成本(根据项目)
2)有些测试项目手工很难实现(手工成本较高)
3)项目质量流程需要
3、自动化测试的优势及劣势
优势:回归测试更方便可靠;可运行更多,更繁琐的测试,且快速高效;可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;提升了软体的可信度;多环境下测试等。
劣势:维护成本相对比较高
系统开发时间不一定能缩短
还是得依赖手工测试,很多问题无法发现
4、自动化测试分类
按测试目的分类大致可划分为:功能自动化测试,性能自动化测试
按测试对象可以划分为:Web应用测试,APP测试,介面测试,单元测试等
功能自动化
测试目的是发现软体中实现功能是否符合用户需求规格,实践证明,往往我们实施UI自动化测试的目的不是去发现软体系统中的缺陷,更多的是为了验证系统是否可以正常运行。
除了可以基于UI进行自动化测试,我们还可以基于网路服务介面提供者进行测试,基于介面进行功能测试较为常见,也是非常有效的手段。
另外还可以基于系统基础代码进行测试,比如单元测试,集成测试阶段,这一阶段的测试也称白盒测试,我们可以直接对DAO,Service服务进行测试,这里常用的测试技术包括Junit, TestNG, Mock, Stub等。
性能自动化
性能自动化测试是通过测试工具模拟高并发负载进行压力测试,以发现软体系统在高负载情况下运行瓶颈,包括应用程序本身的性能瓶颈,网路瓶颈,伺服器硬体资源瓶颈,数据存储伺服器等,通常唯有借助自动化测试工具来完成,常见的性能测试工具包括,Loadrunner, Jmeter, Ngrinder, Gatling等,不管哪一款测试工具,基本有三大部分组成:测试脚本管理,测试场景配置,监控结果。
与功能自动化类似的是,性能测试工作对象也可以面向用户UI层,或者服务介面提供方,甚至可以直接面向底层基础业务逻辑层,绝大多数通过用户层进行性能测试模拟的是最接近真实用户场景的测试,也是性能测试必然实施的阶段。
5、自动化测试的流程