报表系统的权限控制包含功能点和数据两方面的权限控制。功能点权限控制,是指登录用户对某一功能点有无访问权限的控制;数据权限控制,是指登录用户对数据的访问范围的控制。本文将对数据权限控制的测试进行详细的介绍。
首先,我们假设有销售业绩报表系统中预设有5个权限控制点:
n All ---- 可以查看所有数据
n Product Manager ---- 可以查看所管理产品的所有数据
n Center Manager ---- 可以查看所管辖区域的所有数据
n Team Lead ---- 可以查看所管理营业点的所有数据
n Sales ---- 可以查看自身的所有数据
其次,我们需要测试的其中一份报表是
产品 |
区域 |
营业点 |
Jan-11 |
Feb-11 |
Mar-11 |
Apr-11 |
Total |
Iphone |
大中华 |
中国大陆 |
10 |
10 |
10 |
10 |
40 |
港澳 |
10 |
10 |
10 |
10 |
40 | ||
Subtotal |
20 |
20 |
20 |
20 |
80 | ||
美洲 |
美国 |
15 |
15 |
15 |
15 |
60 | |
加拿大 |
15 |
15 |
15 |
15 |
60 | ||
Subtotal |
30 |
30 |
30 |
30 |
120 | ||
Subtotal |
50 |
50 |
50 |
50 |
200 | ||
Ipad |
欧洲 |
英国 |
20 |
20 |
20 |
20 |
80 |
法国 |
20 |
20 |
20 |
20 |
80 | ||
Subtotal |
40 |
40 |
40 |
40 |
160 | ||
美洲 |
美国 |
25 |
25 |
25 |
25 |
100 | |
加拿大 |
25 |
25 |
25 |
25 |
100 | ||
Subtotal |
50 |
50 |
50 |
50 |
200 | ||
Subtotal |
90 |
90 |
90 |
90 |
360 | ||
Total |
140 |
140 |
140 |
140 |
560 |
表1
我们在设计测试用例和设计测试数据时,可以考虑从以下切入点设计:
1. 权限控制点与报表筛选信息粒度一致
这种情况适用于测试All、Product Manager、Center Manager、Team Lead权限。在这种情况下,我们可以用筛选信息来检查数据权限的控制。
¨ 对于拥有All权限的用户而言,他所能查看的应该是全部数据组合起来的报表,如,表1
¨ 对于拥有Product Manager权限的用户而言,他的权限点与报表中筛选信息“产品”相重合,因此他能查看的是某一产品的数据组合,如,表1黄色区域
¨ 对于拥有Center Manger权限的用户而言,他的权限点与报表中筛选信息“区域”相重合,因此他能查看到的是某一区域的数据组合,如,表2
产品 |
区域 |
营业点 |
Jan-11 |
Feb-11 |
Mar-11 |
Apr-11 |
Total |
Iphone |
美洲 |
美国 |
15 |
15 |
15 |
15 |
60 |
加拿大 |
15 |
15 |
15 |
15 |
60 | ||
Subtotal |
30 |
30 |
30 |
30 |
120 | ||
Ipad |
美洲 |
美国 |
25 |
25 |
25 |
25 |
100 |
加拿大 |
25 |
25 |
25 |
25 |
100 | ||
Subtotal |
50 |
50 |
50 |
50 |
200 | ||
Total |
80 |
80 |
80 |
80 |
320 |
表2
¨ 对于拥有Team Lead权限的用户而言,他的权限点与报表中筛选信息“营业点”相重合,因此他能查看到的是某一营业点的数据组合,如,表2黄色区域
2. 权限控制点与报表筛选信息粒度不一致
这种情况适用于测试Sales权限。Sales权限比报表中最小粒度的“营业点”还要小。因此,在准备这个测试用例的数据时,我们需要为同一个营业点准备不同Sales的源数据,也需要为同一个Sales在不同营业点准备源数据。
对于以上两种情况,拥有Sales权限的不同用户,可能查看到以下几种报表
¨ Sales A,仅服务于一个产品一个营业点
产品 |
区域 |
营业点 |
Jan-11 |
Feb-11 |
Mar-11 |
Apr-11 |
Total |
Iphone |
美洲 |
美国 |
10 |
5 |
2 |
1 |
18 |
¨ Sales B,服务于一个产品的多个营业点
产品 |
区域 |
营业点 |
Jan-11 |
Feb-11 |
Mar-11 |
Apr-11 |
Total |
Iphone |
美洲 |
美国 |
3 |
4 |
0 |
2 |
9 |
加拿大 |
0 |
5 |
4 |
3 |
12 | ||
Total |
3 |
9 |
4 |
5 |
21 |
¨ Sales C,服务于多个产品多个营业点
产品 |
区域 |
营业点 |
Jan-11 |
Feb-11 |
Mar-11 |
Apr-11 |
Total |
Iphone |
美洲 |
美国 |
0 |
1 |
2 |
1 |
4 |
加拿大 |
0 |
0 |
6 |
3 |
9 | ||
Subtotal |
0 |
1 |
8 |
4 |
13 | ||
Ipad |
美洲 |
美国 |
0 |
0 |
0 |
0 |
0 |
加拿大 |
0 |
0.75 |
2.5 |
4 |
7.25 | ||
Subtotal |
0 |
0.75 |
2.5 |
4 |
7.25 | ||
Total |
0 |
1.75 |
10.5 |
8 |
20.25 |