一句话:提出访问控制树,用集合论规范可视化复杂访问控制,并生成自动化测试,兼作学习工具。
本文面向每月数百万访问量的大型国家电子健康门户,解决复杂访问控制结构难以系统测试与理解的问题。作者用集合论规范访问控制,并导出可视化的访问控制树:节点表示影响访问的属性,边为属性取值,叶为服务分组(scope)。基于该树生成抽象测试场景,再实现为自动化测试用例。论文展示的树含15个scope、105对抽象场景;完整树含66个scope、2000多对场景,最终有600多个自动化测试用例。人工执行一个测试约5分钟,自动化执行全部约1小时,加速超过40倍,并接入CI/CD。该树也可作为协作与学习工具。
We present our work on testing access control of large national e-health Internet portal which has millions of monthly visits. Our aim is twofold: (1) to improve testing by applying systematic and rigorous (semi-formal) approach and (2) to obtain holistic view of portal’s complex access control structure. Applying more rigorous approach facilitates reducing ambiguity while holistic picture aids on easier and often also faster comprehension of complex access control structure. We use set-theoretic approach for specifying access control. Then, from access control’s abstract set notations we derive a visual version in form of the access control tree. Nodes of the tree represent attributes that influence access while edges are values of those attributes. The leaf of the tree represents a scope which is a grouping of individual services. Access control tree presented in this paper has 15 scopes (leaves) which results in 105 pairs of abstract test scenarios. Complete version of the tree has 66 scopes that result in over 2000 pairs of abstract test scenarios. Abstract test scenarios are implemented into over 600 concrete and automated test cases. Manual execution test of one concrete test takes about five minutes while automated execution of all tests takes about one hour (thus achieving over 40 times speedup). These automated test cases run as a part of our CI/CD pipeline. Access control tree can also be used as a collaboration or learning tool, to get quicker familiarity with the solution.
DOI 原文 ·
@inproceedings{paperbot6504,
title = {Access Control Tree for Testing and Learning},
author = {Davrondzhon Gafurov and Arne Erik Hurum and Margrete Sunde Grovan},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678797}
}