八面玲珑-浅谈自动化测试


点击箭头处“蓝色字”,免费领测试技术及面试资料!

少年读书,如隙中窥月;中年读书,如庭中望月;老年读书,如台上玩月。皆以阅历之深浅,为所得之深浅耳。

浅谈自动化

Merry Christmas

不断发掘自动化测试对各个团队的附加价值,这样才能得到来自四面八方的支持

没有将自动化加入项目过程的自动化都达不到预期的效果

UI自动化框架

把UI自动化框架设计成一个拼图性质的架构。把每个特性都设计成一个独立的部分,然后组装成UI自动化框架: 

  • (appium/webdriver)底层操作封装特性 

  • Page Object特性 

  • 测试用例管理特性 

  • 测试执行引擎特性 

  • 测试报告管理特性 

  • 测试数据管理特性 

  • keyword特性

自动化原则:

  • 选择重点业务 

  • 选择较稳定的版本业务 

  • 目标是保证主要功能业务完整正常,而不是为了发现更多的bug 

  • 并不能减少人力成本,主要作用是加快测试反馈,提高测试质量 

  • 录制回放,关键字驱动,可视化等一般不是好的选择,因为他们会增加6.脚本维护的难度,增加维护成本 

  • 任何增加维护成本的自动化工作都是在耍流氓

如何减少自动化维护成本?

  • 清晰、方便的日志查看 

  • 清晰整洁的测试报告 

  • 快速的脚本调试 

  • 快速的错误定位方式:如截图、错误日志、录屏 

  • 严格的脚本规范 

  • 在策略上,脚本慢慢上,要非常稳定了才能上线到正式环境 

  • 定时开展培训分享工作,提升大家的能力。写UI自动化不只是工作任务,更是自我提升的过程 

  • 要有稳定的环境、稳定网络,可以进行网络监控、定时重启等等

UI自动化框架优化方案:(在不增加维护成本前提下)

  • UI自动化框架加入录屏模块 

  • UI自动化框架加入接口请求报错模块 

  • UI自动化框架加入接口流程对比模块 

  • UI自动化框架加入用例成功率、用例增长率等图表展示度量模块 

  • UI自动化框架加入web平台支持,如用例集管理,异步执行 

  • UI自动化框架加入监控核心场景的性能,如网络、启动速度、内存消耗等 

  • UI自动化框架加入报错时取内存快照、报错堆栈等信息 

  • 自动化测试环境一键搭建部署

UI自动化脚本可分为3种:

  • 监控脚本,监控服务器是否正常,监控每个页面是否能正常显示 

  • 主流程脚本,监控主流程是否能正常运行 

  • 模块脚本,优先级较低,一般也是重点业务模块先做

已经实现自动化的模块可以不做手工测试了吗?

为了不做手工测试,就要多加很多验证点,特别是UI的验证点。验证点越多,就会导致自动化越不稳定,自动化的维护成本就会越高, 

你对自动化的信心就会越低,自动化的成效也会越低。所以已经实现自动化的模块还是可能需要做手工测试。 

那么自动化测试的意义何在呢? 

  • 自动化用执行次数来增加价值,执行次数越多,自动化价值越大。比如执行5次刚好成本和价值等价,那么每多执行一次,自动化的价值就越多。 

  • 特别是那些需要重复进行UI操作,比如适配测试,需要适配几十个机型,是自动化去执行好呢还是一个个的手工执行好呢。 

  • 我们不使用自动化去保证UI的准确性,而是去进行逻辑功能的测试。比如QQ的登录功能,我们只要验证点击登录后打开了好友列表,就说明登录成功了。就是要怎么稳定怎么弄。 

  • UI自动化主要作用是保证业务流程的贯通 

  • UI自动化能够帮助我们确保不会出现一些死人的问题,比如登录不成功,页面打不开等等。

UI自动化公式:

自动化收益 = 有效迭代次数 x 手工测试成本 

自动化成本 = 脚本创建成本 + 维护次数 x 维护调试成本 + 脚本失败次数 x 脚本排错成本

其他

  • 测试工具、框架和自动化测试脚本本身的质量是最需要保证的,需要对测试工具、框架做单元测试 

  • 自动化可以模拟用户真实的场景,如让用户在一个页面等待10分钟或锁屏、解锁,该app是否还生存 

  • 把手工用例与脚本生成的用例文档进行对比,提示当前有哪些用例需要维护 

  • 在代码集成到主干之前或之后先执行自动化,只要用例失败(可以设阈值),则不能集成或回滚 

  • 持续集成并不能消除bug,而是让它们非常容易被发现和修复 

  • 自动化要集成到持续集成过程中,目的是加快测试反馈,降低测试引入、发现到修复之间的时间间隔 

  • 速度是评估测试价值的最重要考虑因素之一

        

加微信入测试群

JAVA开发3名 薪资自谈 10-30k

base:深圳 15大专之前三年以上经验

1,熟练使用java语言,具有扎实的java基础、良好的编程习惯及其代码规范。

2,熟练掌握Spring、SpringMVC、mybaits、等主流开源框架。

3,熟悉ORACLE数据库,熟练掌握SQL语句,并知悉SQL执行效率。了解数据库优化、SQL优化、查询性能等优化。

4,熟练使用SVN,git,Maven等开发及管理工具。

5,有互联网开发及其分布式项目经验,有大并发处理经验为佳。熟悉redis、Zoopeer、Dubbo、Nginx等技术。

6,熟悉使用TOMCAT服务器,熟悉JVM。

7,责任心要强,而且要有较强处理问题的能力及其良好的沟通能力。有敏捷开发经验为佳。

8,熟悉互联网架构为佳。

前端开发5名 薪资自谈 10-30k

外包岗位-深圳-南山-罗湖地区-外包到平安、顺丰、华商,薪资还比较可观。

功能岗位要求:

1、计算机专业或相关专业大学本科以上学历,3年以上工作经验;

2、精通W3C标准的网站构建,有构建高性能的Web应用的经验;

3、熟悉Web性能优化,有移动Web开发经验者优先;

4、熟悉Javascript、OOP及主流JS框架,有框架开发经验者优先考虑;

5、熟悉HTML5和CSS3等新技术。

6、具有良好的代码风格、接口设计与程序架构;

7、掌握至少一门服务器端编程语言;

8、对业界最新的前端技术和实现有浓厚的兴趣及深入的见解;

9、逻辑分析能力强,善于沟通,具备良好的沟通能力和团队协作精神。

欢迎自荐跟推荐~  需要的微信推送简历(推荐有奖励)


长按关注我们,免费领测试技术,面试资料!

·end

—如果喜欢,快分享给你的朋友们吧—

点个赞支持下作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值