APP下载

信息安全软件测试的复用测试用例技术的研究与应用

2020-01-18刘睿张彤丁慧

电子技术与软件工程 2019年24期
关键词:测试用例用例软件测试

文/刘睿 张彤 丁慧

1 软件测试

信息安全保密产品是组成信息安全工程中的核心,其主要任务是确保信息快速传递与处理,并确保数据的安全和保密,对用户的数据和网络完全与运行提供保障。为保证信息系统安全,需用自主研制的安全保密产品,而自主研制的安全产品的好坏主要取决于开发活动如何开展。测试是其生命周期中一个非常关键的环节,关乎软件的安全和质量,是不可缺少的一部分,其是确认整个提供的功能是否正确,以及功能是否实现,对软件各个部分进行检验,保证软件的质量与运行。

软件测试的流程主要有需求解析、测试安排、测试用例计划、测试境况建设、测试运行、测试汇报总结、缺陷改良、软件评价、测试总结。软件测试基本流程图如图1所示。

2 测试用例

测试用例是软件测试的核心,是测试执行的最基础的凭据。测试用例设计指的是软件测试全部的行为过程,属于合理性的组织归纳。软件测试具有计划性、流程性以及组织性,对软件测试用例进行设计,目的是使软件测试的行为可以改变成可管理的形式。在软件质量管理当中,软件测试是十分实际的行为,但是用时较多。考虑用时的因素,软件测试活动需要进行量化加强,进一步实现管理层对测试流程的掌握,测试用例实际上也是测试活动中比较量化的方式之一。

软件测试是无法实现穷举测试,在较大数据量中选取可以用于测试的数据,并且数据需要具有特殊性、代表性,这样的测试可以节省大量的测试成本。软件测试中,测试用例的主要作用有四点,首先,对测试用例进行计划,并实施测试,可以避免测试的盲目性,提高工作效率;其次,使用测试用例,可以突出软件测试的重点,明确软件测试的目的;然后,更新软件版本之后,仅需要对保存测试用例进行测试即可,可以缓解工作强度,减少项目的时间;最后,复用化、通用化的功能板块,有助于软件开发,测试用例也可以促进软件测试的进行,并在测试用例的细化过程中提高测试效率。

3 复用测试用例

3.1 测试需求与测试用例的关系

基于软件需求设计测试用例时,需要软件测试用例覆盖全部测试需求。软件测试用例与软件需求非一一对应的关系,一个软件需求可以对应一条测试用例,也可对应多条测试用例,反之,一条测试用例可以关联一个测试需求,也可关联多个测试需求,具体关系如图2所示。

如图2可以看出,测试用例与测试需求之间密切联系,通过软件需求可以确定测试用例。因此,为了覆盖全部的软件需求,引入测试用例,将软件需求以规格化的方式表示出来,以便测试当中,根据测试用例的要求,验证各个测试需求。

软件测试用例的计划,大部分是根据测试人员的专业技术与经验,由于测试用例的编写人员不一,在编写格式中也存在差异,造成测试存在盲目性;且测试用例占整个测试成本的50%,若在每次需求评审后,根据实际场景重新设计测试用例,缺少全局性的考量,尤其针对具有大量相同或相似的场景的产品,严重加大了开发成本,也无法保证测试用例的质量。针对以上问题,引入复用软件测试用例技术,建立复用测试用例流程,在实际测试中该技术提高测试效率,保证测试质量。

3.2 测试用例复用

软件测试过程中有很多可复用的资源,这些资源如果得到很好的管理,在同产品或近似的跨平台项目进行测试时,均可重复利用。常用的测试资源主要包括测试的计划、测试的工具、测试的说明、测试的数据、测试的成果以及测试用例等。复用资源可应用在同一测试产品的不同测试阶段、不同项目或回归测试中,但测试资源具有不完整性,需要通过一定的测试经验进行补充。测试资源还存在抽样程度的差异,抽样程度偏低,则容易形成规范性的说明,而抽象程度偏高,则仅能利用文字进行表述。

图2:需求与用例的关系图

可复用测试用例主要特征有通用性、独立性、粗粒度、易维护性,详细说明见表1。

4 测试用例复用应用

4.1 测试用例库建立

测试用例是软件测试的执行基础,是软件测试的核心。测试用例库的功能完善,是为了加强测试用例的种类划分与归档,有助于统一管理、储存、修护测试用例的实现。测试用例库的建立,不仅仅可以实现测试用例管理的工作量的减轻,而且可提高测试效率,通过简单的检索条件查找到所需的测试用例,缩短测试用例的设计周期。测试用例库当中,主要存在测试用例序列号、测试作用、测试流程、前提要求、用例分类、预期成果、实际结果、测试结论等要素。表2为基于航盾测试产品的测试用例库表模板。测试用例库应具有文档编制说明,对用例库的历史变更进行记录,每次修改后应奖文档版的本号进行记录,方便追踪与查阅,累积下来的数据,可以在后续测试相关工作中,提供数据依据与帮助,实现测试用例库的文档管理。

表1:可复用测试用例特征

表2:为基于航盾测试产品的测试用例库表模板

图3:生成复用测试用例基本框架

4.2 生成复用测试用例过程

软件系统存在多样化的操作方式,而测试用例进行复用时也存在风险。关于这一问题,采用复用测试用例相关过程模型,如图3所示,生成复用测试用例流程中的主要步骤,分别为测试层次划分、公共需求、测试用例设计、测试用例评审以及和生成测试用例库五个步骤。根据待测系统的需求,从用户层、应用层、功能层进行测试层次划分;通过已经划分完的结果,对系统需求规格进行分析,并分析出公共需求,寻找复用的时机;通过公共需求的分析结果进行测试用例的分类与设计,并在其中引入可复用测试用例;建立专家组,评审测试用例,保障测试用例能够完整的笼罩公共需求,;最后,测试用例信息归纳记录到测试用例库当中。

4.3 复用测试用例流程

图4:复用测试用例流程

复用测试用例过程,主要有用例的确定、用例的选取、用例的改善以及服用用例。如图4。为验证该流程的应用性,基于航盾信息安全系列产品的涉密载体全生命周期管理信息系统进行测试,该系统包括按用户层、应用层、功能层划分为安全管理员、审计管理员、系统管理员、控制台、客户端、打印、刻录、录入、复印、磁介质管理、存储介质管理、载体归属转换、文件/光盘闭环和载体借用管理14个模块,建立用例库,共计用例574条;新项目提交测试申请包含19个测试需求,根据复用测试用例的过程模型确定用例,从测试用例库中选取136条作为复用用例,修改为当前项目所需用例后,执行复用用例。论证复用测试用例流程的有效性,且测试周期由之前1个月减少到10天,大大减少了测试周期,提高测试效率。

5 结束语

测试用例复用是提高软件测试效率和改善软件质量的一项重要技术。本文针对软件复用测试用例技术进行分析,并逐一分析软件测试、测试用例以及复用测试用例,设计复用测试用例流程,并基于航盾信息安全产品进行了测试验证其有效性,且缩短了软件测试周期,降低了测试成本,保证了软件的质量要求。基于复用测试用例是新的研究实践领域,在实际测试中,测试用例库的数据需要一定的数量,才能供给有效复用,这需要对复用测试用例库的长期维护与修订,需要测试人员具有较强的专业技能和实践经验,同时其查找可复用的测试用例具有一定的困难,因此复用测试用例库的维护与查找元素的定义均可作为为未来课题的研究方向。

猜你喜欢

测试用例用例软件测试
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
EXCEL和VBA实现软件测试记录管理
基于混合遗传算法的回归测试用例集最小化研究
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究