如题,目前一个子项目还是传统的 C/S 架构,server 端在云上,有前端 web 页面做中控,client 是运行在 windows 系统上的,目前支持 windows7 和 windows10
说一下目前这个子项目自动化测试的情况:
1.前端 web 网页独立的自动化测试
前端是基于 react 开发的,目前我们在用 codeceptjs+webdriverio 在做。
自动化 case 大概有三四百条,主要是 UI 自动化,校验一些页面的显示和简单功能的验证,web 端自动化 case 占比差不多有 80%。
自动化测试前先灌入提前准备好的假数据,通过自动化测试做一些 server 端的验收测试的工作。
这边用 Jenkins 做了 CI,投入的人力比较少,人力主要是维护自动化 case 了,手工测试基本都不需要。
2.server 和 client 联调的自动化测试
目前方案是这样的:
在 windows 系统中,内置一个 agent,这个 agent 是接受消息和校验 client 执行结果。
在 Ubuntu 中运行 web 端自动化,下发一些策略给 client,然后通过发消息给 agent,让 agent 通过一些校验判断 client 的策略是否执行成功,之后 agent 再返回结果给外面的 web 端自动化主进程。
目前 client 对于我们 QA 而言是黑盒的,这套联调自动化测试的方案缺陷很大,agent 只能用过一些简单的 windows 命令或接口来判断 client 是否执行成功。
只能测一些简单的业务,复杂的业务自动化完全帮不上忙。
自动化占比很低,自动化 case 执行效率也不高。
3.client 无自动化测试
client 目前发布基本都是人工手动测试,没有自动化测试。想推自动化测试也好久了,但是 windows 客户端目前没有啥好的解决方案,而且这部分人力投入太大,一直陷入这种多操作系统、多平台的反复验证,对人员和 team 的成长都不利。
----分割线----
这个 client 占用了大量的人力测试资源,不管是联调测试还是客户端自己功能验证都依赖于人工。
目前想进一步提高自动化效率,减少现有投入的资源,把人力解放出来坐一些更有意义的事情。
想问一些大佬和前辈在 windows 系统中有没有好的工具或者解决方案介绍。