需求、缺陷和测试用例一旦进入评审环节,要是有些字段还允许随便改动,就很容易出现状态已经批准了,结果版本号、负责人或者风险说明却被误改的情况。要在Polarion里搞清楚怎么给字段设权限,以及为什么改完权限之后却没起作用,首先得把Work Item的字段权限和LiveDoc文档的字段权限区分开,然后再去确认这些配置是针对哪个项目、哪些角色和哪个流程阶段的。Polarion既可以让你把状态字段和自定义字段设成只读,也支持把它们完全隐藏起来,跟LiveDoc相关的那些配置,都放在Permission Management里面的Documents区域。
一、Polarion怎么设置字段权限
设置字段权限的时候,最好不要针对单个用户去一条一条地配置,而是优先按照角色和用户组来统一维护。Polarion允许你先按业务职责把用户加进不同的User Group,然后再给这些用户组分配全局角色和项目角色,这样一来,研发、测试、质量人员还有项目管理员的权限,管起来就方便多了。
1、先确认字段属于哪类对象
如果想要限制需求、缺陷、任务或者测试用例里的字段,就要去Work Item相关的权限设置里面操作;如果要限制的是LiveDoc文档的状态、版本、Owner或者风险评估这些字段,那就应该进到【Administration】→【Permission Management】→【Documents】里。不同版本的界面叫法可能稍微有些不一样,但是对象类型这一项一定不能弄错。
2、设成只读或者隐藏
找到那个要设置的字段以后,根据你实际的使用场景来决定权限。如果已经评审完了,但大家还需要查看这个字段的内容,只是不能再去修改它,那就可以把它设成只读;如果是那些不想让普通用户看到的内部字段,干脆就把它藏起来。按照Polarion官方的说明,LiveDoc是能够按流程阶段来锁定字段的,比方说文档一旦批准了,就不允许再修改版本、负责人和风险评估,也能限制质量评估字段,只让质量负责人去编辑。
3、按角色来控制范围
普通的项目成员只保留查看的权限就行,把编辑的权限留给质量负责人或者项目管理员。因为一个用户可能会同时属于好几个用户组,所以在做配置的时候,要去检查一下是不是有别的角色又顺手把编辑能力给放开了。Polarion既支持用户同时加入到多个User Group里面,也支持直接给某个人单独分配项目角色。
4、结合流程阶段来设置
字段到底要不要锁定,不一定从头到尾都一个样。我们可以按照文档或者工作项当前所处的阶段,给它套用不同的Custom Set。比如在草稿的阶段就让它允许编辑,等通过了评审就改成只读,再到正式批准以后,只把修改的权限留给很少的几个角色。
二、Polarion字段权限修改后为什么没生效
权限设置明明已经改过了,可是字段还能被编辑,碰到这种情况,大多数时候并不是系统没有保存成功,而是配置的位置、角色的来源或者流程的条件没对上号。
1、配置的对象选错了
需求上的字段和LiveDoc文档里的字段,用的本来就不是同一个配置入口。要是你修改的是Documents那边的权限,但实际操作的时候碰的却是Work Item里的字段,那页面上的表现当然就不会有什么变化,反过来的情况也一样。
2、项目级的配置把全局的设置给盖掉了
Polarion里面的权限,很可能同时存在着全局和项目这两种级别的设置。如果某一个项目单独配置过权限,那你就得回到这个项目的Administration页面里面去检查,不要光盯着全局的那些设置看。
3、用户身上还有别的角色
当一个用户被加到了好几个不同的组里时,权限的来源是会互相叠加的。管理员觉得已经把编辑的权限给收回来的,可这个用户说不定还靠着另外一个项目角色、用户组,或者是被直接单独授权过,继续保留了编辑的能力。Polarion的用户组这个机制,是允许组授权和直接给个人的授权同时存在的。
4、Custom Set的条件没被触发
如果字段的权限是跟着状态或者流程阶段来变化的,那就得保证当前这个工作项或者文档,确实已经进到了那个对应的状态里面。比如规则是写在Approved阶段的,可对象现在还停在Draft状态,字段当然就不会被锁住了。
三、Polarion字段权限修改后怎么复核
权限被调整过了以后,可别光用管理员的账号去测试。管理员手里的权限通常都比较高,是很难反映出普通用户在实际操作时候的真实情况的。
1、用普通账号重新登进去试一遍
找一个普通研发人员的账号,再找一个质量人员的账号,分别去跑一遍验证,看看页面上的字段是不是能看得见、能不能编辑,保存以后会不会跳出来报错。不同角色的账号都要这样测一次。
2、去查一下用户组和项目角色的分配情况
进到用户管理还有项目权限的页面里,把测试账号当前属于哪些组给确认清楚,看一看还有没有什么临时的角色没有被收回去。如果是比较老的版本,在用User Group功能改完访问权以后,还要检查一下SVN Access File有没有跟着同步过来。Polarion 19.1的文档里提到过,在早期User Group功能变更了访问权以后,得去【Administration】→【User Management】→【Roles】里面同步一下SVN Access File。
3、检查一下通过接口写入的权限
有时候页面上看着已经是只读的了,可是外部的脚本或者集成工具还是能把字段的值给改掉,这种时候就要继续查一下REST API那头的权限了。Polarion的REST操作,会同时检查用户有没有用到这个接口的权限,以及有没有改动这个具体对象的权限,要是权限不够,就会返回一个403的错误。
4、把权限的矩阵给保存下来
把字段的名称、对象是什么类型、对应的角色、适用的流程阶段,还有到底是设成只读还是隐藏,全都整理成一张表格。以后不管是调整流程、复制项目,还是给软件版本升级,都可以照着这张表,一项一项地去核对,免得权限的配置慢慢就失去了控制。
总结
在Polarion里怎么去给字段设置权限,还有改完之后为什么看着没生效,最要紧的就是把对象的类型、项目的范围、角色的来源,还有流程所处的阶段这些东西放在一起看。设置的时候,先弄清楚字段是属于Work Item还是LiveDoc,再按角色去配只读或者隐藏;改完以后,记得拿普通账号来验证,同时去检查用户组、项目角色、Custom Set和接口的写入权限。这样弄下来,字段权限才能真正被用来控制评审过后的修改范围。