江南官网app 为船舶与海洋工程行业提供技术支持与动力,是船舶行业最大门户分类网站
全国: | 上海:
水上物流产品分类
主页 > 电气自动 > 公司要做软件自动化测试,该如何开展?
公司要做软件自动化测试,该如何开展?
来源:www.ascsdubai.com    时间:2022-05-29 19:25    点击:133   编辑:admin

先讨论要不要做,再讨论怎么做。

要不要做自动化自动化要不要做的问题,应该不是由某个角色决定的,而是由具体的软件产品特点、测试需求所决定的,同时自动化本身开展是有准入条件的。

自动化测试的目的不单纯是为了减少或者替代手工测试,而是为了测试人员能够做更多更有意义的测试(也包含手工测试)。 不是为了自动化而自动化,而是为了实现一套解决方案来解决问题从而开展某种自动化 ,肯定是解决某些测试过程中的问题而引入自动化测试。

同时自动化测试是有失败风险的,了解过几个失败的自动化案例,比如,团队人力充足,自动化测试非刚需的情况为了KPI等原因开展自动化;比如产品经常改动,就是做自动化;比如自动化框架或工具选择不当,用例难以维护、扩展等等,这也是比较常见的几种导致自动化失败的原因。

关于自动化的一些认识,可以看下我分享的一篇文章《何为自动化测试,为何自动化测试》。

如何做自动化测试自动化测试本质上只是区别于手工测试的一种测试执行手段。都是基于需求分析、测试设计的基础上开展的。

首先,根据产品的特点、架构,选择适合的自动化测试框架、工具。比如产品业务包含复杂的流程逻辑(含审批环节、多用户角色),需要进行完整流程的自动化测试。这时候需要选择什么样的方式开展(比如选择 关键字驱动➕数据驱动测试框架,使用Python基于robot framework)进行用例开发。

其次,自动化环境搭建,比如开发环境(如Python+pycharm)、执行环境(如 Jenkins持续集成)、维护环境(如 git)。

最后,用例开发、执行、维护。自动化用例的可维护性、可扩展性对自动化测试可持续性开展起着重要作用,这点在开展过程中需要格外注意。

和大家分享下在BAT里做自动化测试的工作经验。

曾经接触过PC浏览器和移动APP/WAP自动化测试。

PC浏览器这里首先依赖的是selenium强大的自动化测试功能。

这里的架构是Agent-Server结构,每个agent是一台电脑,上面装载了Chrome,Firefox,IE,还有phantomjs。由于我们使用的是selenium2,因此,除了Firefox,其他浏览器都需要driver,必须有driver,selenium才能操作浏览器进行自动化测试,而且随着浏览器的不断升级,这个driver也需要升级,才能操作最新的浏览器,否则会报错。这个driver可以定期到

npm.taobao.org

网站上下载。

selenium3进行了改动,Firefox也需要driver了。

自动化任务会发送给server,然后agent定时到server端拉取任务到本地,通过解析任务,将任务分解为一个个浏览器操作动作,然后操作selenium进行操作,并将每个动作结果记录到一个结果String中,整个操作执行完成之后,将结果String回报到数据库。如果任务执行失败,通常也会有现场截图做证明。这种自动化测试通常用于页面监控以及功能回归测试。

移动APP/WAP自动化测试此处针对安卓机,使用ADB命令的方式操作设备。

原理与上述PC浏览器相近,只不过一台电脑需要连接多台手机,电脑上安装了一个agent,用于接受任务,将任务解析为独立的adb命令之后,通过有线的方式来操作手机进行自动化测试。这个过程也是会把每步操作记录到结果String,然后对每个步骤进行截图保存证明。如果发现不符合预期的页面,就判断任务失败,并且报警。这个也是很适合APP类任务进行监控以及回归测试。这套操作利用quartz,能够实现定时执行,使连接了电脑的设备在夜间也能自动化运行,曾经帮助某APP在晚上11点发现了服务器挂掉的线上问题。

以上是我的浅见,欢迎各位在下方评论区给我交流点赞。

我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。

Baidu
map