在Polarion里进行项目管理的时候,仪表盘并不只是放几个图表,而是要把需求、缺陷、测试、变更、评审和版本进度这些东西堆在一起显示,在面对“Polarion仪表盘怎么配置、Polarion仪表盘数据不更新怎么办”这些问题时,得先弄明白看板是给谁看的,项目经理要看进度,需求负责人要看覆盖率,测试负责人要看执行结果,质量负责人要看风险和缺陷闭环,Polarion通常是用LiveReport和Widget来做自定义报表和仪表盘的,用不同的组件把项目数据塞进去。
一、Polarion仪表盘怎么配置
在弄仪表盘之前,不建议一上来就放一堆图表,图表弄多了,管理起来也不一定会变清楚,比较省力的做法是把角色和指标先定下来,然后再选个顺眼的Widget,把数据范围和筛选条件配好。
1、确定仪表盘给谁看
把仪表盘按角色拆开来写比较好,比如弄成【项目总览仪表盘】、【需求管理仪表盘】、【测试执行仪表盘】、【缺陷跟踪仪表盘】、【变更控制仪表盘】,因为大家的关注点不一样,不能让所有人挤在一张大页面里。
项目负责人一般得看版本进度、没关的风险、延期的任务和缺陷趋势;需求负责人得看需求状态、评审完成率、需求测试覆盖率;测试负责人得看测试计划进度、失败用例、阻塞缺陷和回归结果,把这些指标先分一分,后面配置的时候才不会手忙脚乱。
2、新建LiveReport页面并把组件塞进去
在项目空间里面新建一个LiveReport Page,然后点编辑模式,从Widget那一块选表格、统计图、趋势图、查询结果、文本说明这些组件加进去,Polarion的LiveReport功能可以用来做自定义仪表盘和报表,Widget就是负责把数据换成不同的样子显示出来。
常见的组件可以放需求状态分布、缺陷按严重级别统计、测试执行通过率、没关的变更请求、任务燃尽图、迭代进度、需求到测试用例覆盖情况这些,图表不用弄得太好看,最好是每一个图表都能应付一个管理上的问题。
3、把查询条件和页面参数配好
仪表盘的数据都是靠查询条件捞出来的,可以用项目、工作项类型、状态、负责人、版本、迭代、严重级别这些字段来过滤,比如缺陷看板可以搜type:defect AND status:(open in_progress reopened),测试看板可以搜当前版本下面的Test Case和Test Run结果。
要是好几个Widget都要跟着版本或者模块变,就把页面参数配一下,让人在页面上选了版本、负责人或者模块以后,这几个组件就能一起跟着动,Polarion Widget SDK里面也提供了页面参数,能用在Lucene和SQL查询上,凑合着能做成可以重复用的动态报表。
二、Polarion仪表盘数据不更新怎么办
要是仪表盘数据不动了,先别急着觉得是系统坏了,大部分时候是查询条件、数据范围、权限、页面上下文或者缓存没弄对,排查的时候得先看“原始数据变了没有”,然后再看“仪表盘为什么没反应”。
1、看看工作项数据到底改了没
先把对应的工作项打开,确认状态、负责人、版本、字段值这些有没有保存成功,比如有个缺陷明明从Open改成Closed了,但是图表上还显示没关,这时候就要看这个缺陷是不是还漏在查询条件里,或者仪表盘统计的其实是别的项目、分支或者版本。
还有就是字段值容易搞错,比如仪表盘统计条件写的是fixVersion:V2.0,但是缺陷里面填的却是targetVersion:V2.0,虽然页面上看着都跟版本有关,但其实查询字段根本对不上,图表肯定就不会变了。
2、检查Widget的查询条件
很多时候数据不更新,是因为Widget里面的查询条件写死了,比如仪表盘名字写着“当前版本缺陷”,但是里面的查询还是固定指着老版本;或者是需求的生命周期流程改了,查询语句里还在搜旧的状态名字。
项目如果动过工作项类型、状态、字段ID、枚举值,仪表盘的查询就得跟着一起改,特别是那些自定义字段,一旦把字段ID写错了,图表不光是不更新,可能根本就抓不到对的数据。
3、看看页面参数和上下文
要是仪表盘用了页面参数,得检查参数值有没有传进Widget里面,比如页面上虽然选了V3.0,但是某个Widget没和版本参数绑在一起,它就还是显示默认的数据,结果就是页面切换了,图表却僵在那里。
如果用了Collection、Baseline或者特定的上下文,也得确认Widget现在读的是不是实时数据,Polarion Collections能把相关的LiveDoc和Work Item塞到特定的集合里,用在基线、发布范围和审计这些地方,要是Widget死死绑在一个固定的Collection或者Baseline上,它就不会跟着最新的工作项变了。
三、仪表盘出了问题怎么收拾和优化
仪表盘能出来数据只是刚开始,后面能不能长时间稳定、好不好维护、能不能用得上才是难办的,很多团队刚开始把仪表盘弄得很漂亮,过几个月字段改了、状态变了、版本换了,图表就慢慢全报废了。
1、把指标口径定死
每一个指标都得解释清楚,比如“没关闭的缺陷”里面到底算不算Open、Assigned、In Progress,还有Reopened算不算?“测试通过率”是用测试用例的个数来算,还是用测试执行记录来算?“需求覆盖率”是只要连了测试用例就算数,还是必须要测出通过的结果才算?
2、把关键字段硬塞进数据维护流程里
仪表盘不更新,有时候不是配置的问题,而是底下的数据根本没人去填,比如缺陷不写影响版本,测试用例不关联需求,变更请求不写关闭结论,这样的话仪表盘再怎么配也是算不准的。
3、隔一段时间复查一下仪表盘配置
项目的版本、状态流程、字段、角色变了以后,得定期去瞅瞅仪表盘,主要看查询条件还能不能用,Widget还能不能显示出来,页面参数还有没有效,权限会不会导致有些人看不到数据。
总结
Polarion仪表盘配置起来,核心就是先把角色和指标定下来,然后再用LiveReport页面、Widget组件、查询条件和页面参数把数据凑在一起,要是数据不更新了,就从原始工作项、Widget查询、字段ID、页面参数、权限、Collection和Baseline上下文这几个地方去对账,仪表盘到底有没有用,不在于图表多不多,而是指标口径得清爽、数据来源得稳定、出了错能马上找到地方改,把这些应付好了,Polarion仪表盘才能勉强把项目进度、质量风险和交付状态的日常管理撑起来。