1.浅谈自动化
自动化测试的价值
传统的商业模式以业务驱动产品,而现在则以技术驱动产品。特别是在敏捷模式下,产品迭代速度快,市场不断调整,客户需求不断变化。单纯的手工测试越来越无法适应整个变化的过程。QA 人员如何快速响应并保证产品在上线后质量能够满足市场要求(简单说,如何在上线一个新功能的同时快速对老功能进行回归测试,保证老功能不被新功能影响而出现严重的 Bug),如何通过技术手段提高测试效率?
显然,对于这些问题,采用自动化测试无疑是一个不错的选择。能够做到在保证产品质量的同时提升测试效率。
岗位要求
如今,对于软件测试工程师来说,仅仅会手工测试已经无法满足岗位要求,我们从招聘网上相应的岗位要求中可以看到,很多都需要要求懂自动化测试、有自动化测试的经验,我们在面试的过程中也会经常碰到相关的面试题,比如:你会自动化测试吗?在以往的工作经历中有自动化测试的经历吗?自动化测试如何落地?你们是怎么做自动化测试的呢?等一系列问题。
2.UI自动化的本质
UI:User Interface 用户界面
把手动测试的一系列动作转化成机器自动执行。
打开网站(比如:打开淘宝网站)
定位元素(比如:定位到搜索输入框)
操作元素(比如:在搜索框中输入秋装,点击搜索)
模拟页面动作(比如:下拉、上滑等)
断言结果:预期结果与实际结果比对,判断是否通过测试。
生成报告
场景:打开淘宝网站,在搜索框中输入内容,点击搜索,查看搜索结果和预期要搜索的结果是否一致。
PS:做自动化不能跨步走,要一步一步的执行,手工怎么执行自动化就怎么执行。
3.适合自动化测试场景
需求不会频繁变动:因为需求频繁变动,页面的功能就会频繁变动。(比如敏捷迭代项目,V1.0 版本已经上线了,后面只是在 V1.0 的基础上加一些新的功能,就可以对 V1.0 版本的老功能进行自动化测试)
UI比较稳定:因为 UI 自动化就是基于 UI。
项目周期较长
大量的回归测试任务:大量的重复的回归的测试任务,不断的迭代,需要回归老功能。
冒烟测试:针对本次迭代的新功能(核心的、主干的功能,大概 10%~20%)进行冒烟测试。如果冒烟不通过就不接受这个版本的测试。
冒烟测试知识点补充:
①冒烟测试指软件经过修改后,对其关键功能进行测试。
②为防止出现时间、人力资源的浪费,只有在通过冒烟测试后,系统方可进入全面测试阶段。
③冒烟测试用于确认是否让测试人员进入到对新版本的测试工作中。
④进行冒烟测试时,不需要返测上一版本中所有已知的缺陷。
回归测试:对老功能进行回归测试。
4.不适合自动化测试的场景
交互性太强的
视频播放器(无法判断正在播放的是什么、无法分析是蓝屏还是黑屏)
音频播放器
打电话
5.UI自动化测试设计原则
一个case完成一个功能点测试:一个自动化测试用例对应一条手工测试用例。
一个脚本是一个完整的场景(比如:打开淘宝网站,选择分类,添加某一个商品到购物车,支付,查看订单详情。)
脚本之间独立,不能有依赖(比如:有 10 个脚本,第 1 个脚本是登录,后面 9 个脚本依赖于登录,若第 1 个脚本失败,后面 9 个脚本就无法执行。)
设置合适的检查点:断言结果,检查预期结果与实际结果是否一致。
设计良好的框架(比如:unittest 框架)
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理