报表系统的权限控制包含功能点和数据两方面的权限控制。功能点权限控制,是指登录用户对某一功能点有无访问权限的控制;数据权限控制,是指登录用户对数据的访问范围的控制。本文将对数据权限控制的测试进行详细的介绍。
首先,我们假设有销售业绩报表系统中预设有5个权限控制点:
All ---- 可以查看所有数据
Product Manager ---- 可以查看所管理产品的所有数据
Center Manager ---- 可以查看所管辖区域的所有数据
Team Lead ---- 可以查看所管理营业点的所有数据
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 |
了解Java报表工具就从这里开始
posted on 2014-12-25 13:59
season 阅读(174)
评论(0) 编辑 收藏 所属分类:
Java报表—技术知识