测试跑完以后,如果结果只是存在自动化工具、Excel文件或个人手里,那么需求追踪和版本审核就会连不上。想要搞明白在Polarion里怎么把测试结果写回去,或者同步失败时又该怎么排查,得先把三种情况分开来看:手工测试在线填、离线表格传回、自动化结果导入。Polarion这个平台,既允许在线做测试,也支持把测试用例导出成Excel再把结果传回来,另外还能接收xUnit格式的自动化测试结果。
一、Polarion怎么回写测试结果
在往回写结果之前,先得让当前的Test Run、测试用例和版本范围都固定下来,不能把不同迭代、不同分支的结果导进同一条测试运行记录里,那样的话通过率和失败原因全都会搅和在一起。
1、在线填写手工测试结果
先进入对应的Test Run,把要跑的测试用例打开,在界面里一条一条地填上实际结果,同时把状态改成通过、失败或是阻塞,失败的步骤得加上说明文字,有必要的时候再关联上缺陷单或者传个截图。在Polarion里,需求可以一路追到测试用例,再往下还能追到具体的测试记录。
2、通过Excel回传离线结果
如果测试人员不能一直在线操作,就可以从Test Run里把Excel导出来,在这份表格里填好每条用例和步骤的结果,然后再把它导回到原来的Test Run里面。回传的时候,可别改动用例的标识、列的布局和一些必填字段,不然系统也许就没法把结果对应到原先的记录上了。Polarion的REST接口也提供了导入Excel测试结果的功能。
3、导入自动化测试结果
在持续集成的流程里,可以把测试结果整理成xUnit XML格式,然后导进Polarion。按照官方自动化测试指南的说法,外部测试工具跑完以后,需要把结果文件放到一个Polarion能读到的地方,之后系统的任务会去查有没有新的XML文件,并为那些有效的测试结果新建一条Test Run。
4、接口回写时固定对象关系
如果通过REST接口来写回结果,那就要把项目ID、Test Run ID、测试用例ID还有迭代号都搞清楚。Polarion的REST接口既可以导入Excel格式的结果,也可以导入xUnit格式的,还支持去创建或更新Test Records和Test Step Results。
二、Polarion测试结果同步失败怎么排查
碰到同步失败的时候,先别急着重导一遍。应该先去判断一下结果文件到底生没生成,然后再检查文件格式、对象的对应关系、账号权限,以及后台服务这些地方。
1、先看结果文件是否完整
自动化的任务一结束,先得确认xUnit XML已经生成了,而且文件不是空的,也没在拷贝过程里被弄坏。用手工表格往回传的时候,要检查一下Excel有没有保存好,列的名字还有用例的标识是不是被改动过。
2、检查Test Run是否选错
同一个项目里,很可能同时有好几个Test Run,比如冒烟测试的、回归测试的,还有发布验证的。要是把结果传到了错误的地方,在页面上看起来就像是没同步,实际上它已经跑到另一条记录里去了。排查的时候,先对一下项目名称、测试运行的名称、版本,还有执行的时间。
3、检查账号权限
用来回写结果的账号,至少得有查看项目、更新测试记录,以及写入结果的权限。如果是自动化平台用的专门服务账号,那还得查查这个账号是不是被禁用了,密码到没到期,访问令牌失没失效。
4、检查接口和后台任务
要是通过REST接口来同步,得先确认管理员已经把REST功能给启用了。Polarion的REST接口默认是关着的,必须在系统配置里打开,然后才能调。要是通过共享目录来导xUnit的结果,那还得去检查一下监听任务是不是在跑,目录能不能访问到,任务有没有成功读到那个文件。
三、Polarion测试结果同步后怎么复核
结果写回成功,仅仅说明接口这次没有报错,可不代表统计出来的口径就完全对了,所以还得再去检查一下数据是不是真的落在了该落的地方。
1、抽查测试记录
随机挑几条通过、失败和阻塞的用例打开,看看执行状态、步骤结果、执行时间和执行人对不对。对失败的用例,还要看相关的缺陷单是不是已经关联上了。
2、核对汇总数字
把自动化平台和Polarion两边的用例总数、通过数、失败数,还有跳过的数量放一起比一比。要是总数对不上,就先查看是不是有用例名称映射没成功、出现了重复导入,或者结果文件里少了东西。
3、保留导入记录
每次做同步的时候,都要把Test Run的名字、构建号、分支、结果文件名、导入时间,还有执行账号这些信息记下来。往后要是趋势图忽然波动,就能很快判断出到底是代码本身变了,还是同步的范围发生了变化。
4、避免盲目重复导入
同一个结果文件要是被重复导进去,就可能造成测试记录多出来,或者统计数字乱掉。发现异常以后,正确的顺序是先去翻导入日志和Test Run的记录,然后再决定要不要重新跑一次。
总结
总结起来,Polarion里写回测试结果的常用办法,主要有在线填写、Excel回传、xUnit文件导入,还有REST接口写入这几种。而排查同步失败的问题,重点就是看结果文件完不完整、Test Run是不是选对了、账号权限够不够、接口有没有开,以及后台任务正不正常。只要把测试运行、构建版本和导入的记录都固定下来,后面再做评审的时候,就能清楚地讲明每一条结果是从哪来的,又到底写到了哪里去。