一、概念
什么是自动化测试?笔者认为自动化测试就是,让程序代替人为去验证程序功能的过程。
误区:
①自动化测试能够完全代替手工测试。
②自动化测试一定比手工测试厉害。
③自动化测试可以挖掘更多的BUG。
二、为什么要进行自动化测试
做自动化测试需要投入很多的时间、精力、成本。那为什么要进行自动化测试呢?可以从以下几点来看自动化测试可以解决什么。
1、解决–回归测试:对于系统比较大,做一次回归测试,如果用手工进行回归测试的话,可能需要花费很多时间。那如果有了自动化,我们只需要手动一点,那么程序可以自动地帮我们进行回归测试,节省了一定的人力和时间。回归测试就是项目在发新版本之后对项目之前的功能进行验证。
2、解决–压力测试:可以理解为多用户同时去操作软件,统计软件服务器处理多用户请求的能力。
3、解决–兼容性测试:不同浏览器(IE、Firefox、Chrome等)。
4、提高测试效率,保证产品质量,可以避免人为测试失误或遗漏。
三、自动化测试相关知识
1、自动化测试在什么阶段开始?
功能测试完毕(手工测试)
2、自动化测试所属分类?
①黑盒测试(功能测试);
②灰盒测试(接口测试);
③白盒测试(单元测试);
web自动化测试属于黑盒测试(功能测试)。
3、自动化测试的优点
①较少的时间允许较多的测试用例;
②自动化脚本重复执行;
③减少人为的错误;
④测试数据存储;
4、自动化测试的缺点
①不能取代手工测试;
②手工测试比自动化测试发现的缺陷更多;
③测试人员技能要求;
四、自动化测试分类
1、web-- UI自动化测试;
2、接口–自动化测试;
3、移动(app)–自动化测试;
4、单元测试–自动化测试;
五、自动化测试流程
1、选择合适的自动化测试工具;
2、确定自动化测试覆盖的范围;
3、制定测试计划;
4、搭建自动化测试环境;
5、自动化脚本开发;
6、执行测试脚本;
7、维护测试脚本;
六、做自动化测试关注的一些指标
1、自动化测试用例的覆盖率 = 自动化测试用例数 / 所有用例总数,这个比例越高,测试反馈越快,成本节约越多。
2、节省的时间成本 = 手工测试所花的时间 - 自动化测试所花的时间。
3、自动化测试的投入 = 开发脚本的投入 + 脚本维护的投入 + 工具价格(商业工具)。
4、自动化测试发现的缺陷数:每次回归测试时,自动化测试发现的缺陷数及遗漏数,反应了自动化用例的有效性。
5、自动化测试的投入产出比(ROI)= (手工测试的成本-自动化测试的成本) / 自动化测试的成本。
ROI是领导层最关注的指标,ROI为负值,表示自动化测试的成本未收回。ROI为正数,表示自动化测试的脚本已收回,且值越大越好。