本人在公司一直从事自动化测试推进工作,最近在好友的邀请下去其就职的公司分享如何开展自动化测试!
希望能帮其解决如下几个痛点:
1.上线周期长;
2.测试时间紧张,上线信心不足,测试覆盖不全;
3.修改一个 BUG,也需要大量的人力去测试;
4.经常需要通宵,只有凌晨才敢上线。
在这里将分享的内容纲要分享一下,主要围绕其痛点关注的问题进行开展!(仅个人愚见,不喜勿喷)
也希望能够给有同样痛点的同学提供一点点思路!
1、手动测试和自动化测试 + 手动测试两种模式对版本质量有哪些提高
在 BUG 修复时:可以降低对相关功能影响;
功能重构时:可以显著提高测试效率,并且充分保障业务的一致性;
新功能上线时: 可以提高测试覆盖,降低意外发生;
对快速上线会比较有信心!
举例:昨天下班前一个上线版本,修改购物车中一个规格商品的问题,
导致一个爆款商品下单金额计算错误的 BUG;
如果购物车全场景手工测试的化,>1 个人天,修复上述问题到上线最快都要 1 天时间;
而开展有成效的自动化之后, 开发花了半个小时定位并修改规格商品的问题,半个小时左右 BUG 回归;
然后跑自动化用例,发现导致的爆款商品下单金额计算错误的 BUG,再修复爆款商品问题;
再次跑自动化用例通过,并上线,前后不到两个小时;
2、自动化测试用例一般在哪个阶段完成
新功能,在手工测试结束之后 或者 新功能上线之后 补充自动化用例;
已用例覆盖功能:可以同步进行 BUG 修复,逻辑微调;
3、自动化测试用例覆盖度到什么程度
建议重要等级 1 级的业务 全覆盖;主体的下单流程,所有涉及到用户金钱的用例;
重要等级 2 级 的业务 好实现的进行自动化;
以接口自动化优先保障后台业务的正确性,辅助 UI 测试保障前端重点业务逻辑,配合表数据校验;
这样自动化的回报会大于投入,过犹不及。
4、能否给出简单示例说明自动化测试中前置条件、操作步骤、预期结果和实际判断
前置条件:清理垃圾数据、开启活动、初始化库存 、生成预期结果 等
操作步骤:可以根据用户操作行为 进行组织,比较好理解 ;
结果判断:在操作过程中收集过程数据,在操作结束收集结果数据 跟 预期结果进行校对;
结果数据包括:页面展示数据、接口返回数据,redis 数据、数据库数据等;
5、自动化用例的管理和新增以及维护,怎么操作
使用 git 进行用例管理;
建议使用 sublime 进行用例维护;
使用 Jenkins 进行用例执行任务管理;
6、自动化用例设计工作量是怎么安排的
先摸索,再度量一个标准;
7、助力手工测试
自动化用例有一定的积累之后,可以有效的提高手工测试效率;
给手工测试做数据初始化;
帮助快速熟悉许久未接触的业务;
作为测试笔记使用;
快速回归修复的 BUG;
8、自动化框架 robot framework
pip install PyMySQL
pip install requests
sudo easy_install pip
sudo pip install robotframework
sudo pip install robotframework-ride # 可不装
sudo pip install robotframework-requests
sudo pip install robotframework-databaselibrary -i http://pypi.douban.com/simple
9、使用 sublime + robot framework assistant 开发调试
10、四层用例结构
接口资源层
接口关键字层
业务关键字层
用例层
11、使用 Jenkins 工程化
已实现项目自动编译、自动 docker 部署、自动分布式测试、自动优雅停机交替上线! 全程 30 分钟左右!
11、谁来写自动化用例
每个测试都要会写,测试结束,自己补充用例!