![](https://i-blog.csdnimg.cn/blog_migrate/cd8bd195cf3929aac8a7c50fec796eb6.webp?x-image-process=image/format,png)
背景
一个产品在更迭发布了多个版本后,在每个版本、每个渠道上都积累了一定的用户,这时,当发布新产品时,会涉及到如何对现有用户进行软件升级的情况。当用户设置了自动升级,应该升级到什么版本,当用户手动点击升级,又升级到什么版本。当开发完成了对不同升级策略功能的开发后,测试如何来进行测试呢?
手工测试
如果采用手工测试,我们为了保证所有版本升级的正常,需要对所有可能的组合进行搭配测试,比如本地安装什么版本什么渠道的浏览器,手动升级是否正常,自动升级是否正常;当排列组合达到一定量时,折中的办法就是我们只能放弃测试所有的组合,而只测试主要版本升级策略的正常与否。
自动化测试
我们先来分析一下,整个升级策略涉及到的关键部分有哪些;
第一, 升级策略的获取;
第二, 升级结果的获取;
第三, 测试触发机制;
第四, 测试结果的收集。
升级策略的获取
因为浏览器代码中会有一份策略配置文件,故而我们可以通过读取配置文件的方式获取策略的配置,然后根据策略配置情况,生成要测试的Case,此处,我们可以使用边界值法,来自动组装用例,比如,配置文件中,大于2.0.0.0,小于3.0.0.0的产品,在客户端配置了自动升级时,自动升级到4.0.0.0版本,于是,测试代码可以以2.0.0.0及3.0.0.0为边界,生成对应用例;当然实际情况比这个例子要复杂很多。
升级结果的获取
通过上面用例的组装,当我们把一组输入确定的时候,如何获取程序升级结果的输出呢?由于用例的数目基本是全组合,量很大,为保证测试的速度,我们通过接口的方式或http请求的方式去获取特定组合输入得到的输出,然后跟前一步骤中的预期输出进行对比。
测试触发机制
为了保证整个流程的自动化,我们需要在升级服务器部署完成后,开始升级策略自动化测试的执行,那我们需要有一种可以通过远程触发的方式去启动测试脚本;同时测试脚本还要测试的是最新版本,因此,我们采用了在测试机器上启动http服务的方式来监听请求的发送;同时为了保证测试的产品是最新的,我们需要在测试前增加SVN更新的步骤,去获取最新的配置文件。
测试结果的收集
一切自动化测试都是为了有最终的测试报告,在升级策略测试中,我们涉及到两个部分,一个是配置文件是否配置正确,我们需要首先保证配置文件的正确性,此处,我们需要将解析后的结果,发送邮件给相关人,人工确认配置文件的正确性;
另一个当然是自动生成的用例执行后的结果情况,这封邮件,我们需要给出失败用例的情况
总结
上面对搜狗浏览器中升级策略自动化测试的整体流程作了详细的描述,如有任何疑问或想法欢迎将想法或疑问发送给我们。
如需转载该篇文章,请注明来自“搜狗测试”