仵松颀 李争平
摘 要:为了在早期发现软件里存在的缺陷,文中在对测试技术进行大量研究的技术上,设计了基于武警救援系统的软件测试策略,选取了适合有效的测试方法和测试类型,执行了规范的测试流程,实现了对武警救援系统从单元到系统级别的全面测试,测试缺陷得到及时处理,为后续其它同类软件测试提供了参考与借鉴。
关键词:软件测试;测试策略;测试过程;缺陷;救援系统;软件测试
中图分类号:TP274文献标识码:A文章编号:2095-1302(2019)04-00-03
0 引 言
近年来,随着互联网行业的不断发展,软件的使用已成为人们普遍的生活方式[1]。为了证实程序按预期的设想实现,通常开展软件测试,软件测试从为了表明软件是正确的正向性测试,发展到如今测试不单纯是一个发现错误的过程,而是从软件质量[2]的角度来测试,因此基于武警救援系统的软件测试十分重要[3]。
1 武警救援系统简介
武警救援系统是一款便于移动终端使用的救援管理软件,Android客户端提供了检伤分类、护士工作站、医生工作站、转运监护、移动GIS和检查检验功能模块,如图1所示。Web端主要用于系统的管理和维护,由管理员模块、医生工作站和护士工作站等组成。该软件正确、可靠地运行对救援工作的顺利开展具有重要意义。
2 软件测试策略选择
2.1 软件测试技术研究
2.1.1 概述
软件测试是寻找软件中缺陷的工作,是软件产品开发过程的重要组成部分,它是软件开发生命周期中一项非常重要且复杂的工作,对软件可靠性[4]保证具有极其重要的意义。研究软件测试技术,熟悉每项技术的特点,可以较好地选择适用于被测对象的软件测试策略。
2.1.2 黑盒测试技术
黑盒测试[5]通常基于需求和功能进行测试,一般指配置项(子系统)测试、系统测试等。常用的黑盒测试方法有功能分析法、等价类划分法、边界值法、错误推测法、功能图分析法、场景设计法等。
2.1.3 白盒测试技术
白盒测试通常基于代码的内部逻辑知识,往往要求对语句、分支、路径、条件进行覆盖,一般指单元测试、集成测试。常用的白盒测试方法有逻辑驱动覆盖测试、基本路径测试、便捷测试等。
2.1.4 静态测试
静态测试依据设计文档进行,测试对象是源码,但不实际执行被测程序。代码审查测试设计的检查单时,执行测试依据检查表进行,通过阅读、讨论和争议对程序源码进行分析;代码走查测试用例,执行测试时人充当计算机,使用事先设计的测试用例对程序功能和逻辑进行分析和检查。
2.1.5 动态测试
动态测试需要运行被测程序,分析程序运行的真实情况,要求生成测试用例和测试数据来运行程序,测试质量依赖于测试用例和测试数据。动态测试包括单元测试、集成测试、配置项测试、系统测试。
2.2 测试策略选择
软件测试开展前需要确定测试策略、回归策略、测试需要的技术或方法、受控制的测试工作产品,列出清单;确定每个测试项的测试充分性要求,根据被测软件的重要性、测试目标和约束条件确定每个测试项应覆盖的范围及范围要求的覆盖程度;计划测试环境如何部署。
根据武警救援系统软件的关键等级和应用领域,静态测试主要开展文档审查和代码审查,动态测试利用测试工具进行软件单元测试,采用一次集成的方式进行配置。系统测试重点关注不同用户角色的工作流程、软件运行强度、服务器端负载能力等。
3 软件测试的实施
软件测试过程包括测试策划、测试设计和实现、测试执行、测试总结等关键活动,如图2所示,详细流程如图3所示。
3.1 建立测试计划
测试策划包括对软件测试工作进行整體规划,建立软件测试计划,其基本策划内容如图4所示。
在武警救援系统软件规格说明形成后,建立系统测试和配置项测试计划,软件设计和编码阶段结束后,建立代码审查计划和单元测试计划,定义选择的测试方法、测试工具、人员需求、责任矩阵、评审要求、交付物等。
3.2 编制测试说明
测试设计与实现的核心工作是设计测试用例、形成测试说明,是执行软件测试的基础,如图5所示。
设计测试用例需要考虑测试工具软件、测试环境等因素,用例的要素包括:
(1)编写人员、编写时间、审核人员;
(2)测试用例标识、测试用例说明、前置条件;
(3)测试输入、预期输出、通过准则、结束条件。
按测试计划编制了武警救援系统软件单元测试说明(含代码审查)、配置项和系统测试说明,设计了功能测试、性能测试、人机交互界面测试、强度测试、安全性测试、余量测试、恢复性测试、互操作性测试、数据处理测试等类型的用例,主要采用了等价类划分、边界值分析、因果图等测试方法,共设计单元测试用例677个,配置项和系统测试用例926个,形成代码审查检查单12份。
软件测试说明通过评审后,就进入软件测试的执行环节,主要活动如图6所示。
按照代码审查检查单的项目,对全部软件代码进行审查,提出21个问题单;单元测试使用VestCast工具软件,用例一次性通过621个,5个用例删除,51个经修改后执行通过,提出46个问题单;配置项和系统测试用人工方法和自动测试方法进行,提出27个问题单。测试原始记录格式规范,管理严格,包括测试用例标识、样本标识、测试结果和发现的缺陷。
测试过程发现的软件缺陷由测试组记录并提交给软件开发组,开发组对问题进行分析和分类,并给出处理意见,对于要修改的问题,进行影响分析,修改后的软件或文档提交给测试组进行回归测试。测试组分析更改的内容,修改或补充测试用例,执行软件回归测试流程,直至所有问题得到解决或达成一致处理意见。缺陷跟踪和处理流程如图7所示。
3.3 测试结果
软件测试执行结束后,需对测试工作进行总结,形成测试报告,主要活动如图8所示。
武警救援系统软件测试工作由5人承担,共用576人时,审查文档7份、有效代码57 304行,形成测试文档6份,发现重要缺陷7个,一般缺陷72个,建议项15个,所有问题均得到了处理。
4 结 语
本文在对软件测试技术进行研究的基础上,针对武警救援系统的特点,选择有效的软件测试策略,详细描述了测试计划建立、测试说明编制、测试执行、测试总结等过程实施方法。通过开展软件测试,提早发现该系统潜在的软件缺陷,提高软件后继上线应用的稳定性和可靠性,并对同类型软件测试方法的研究提供了参考实例,具有一定的示范价值。
参 考 文 献
[1]王蓁蓁.软件测试理论初步框架[J].计算机科学,2014,41(3):12-16.
[2]沈国华,黄志球,谢冰,等.软件可信评估研究综述:标准、模型与工具[J].软件学报,2016,27(4):955-968.
[3]陆阳,岳峰,张国富,等.串并行软件系统测试资源动态分配建模及求解[J].软件学报,2016,27(8):1964-1977.
[4]潘正辉.软件测试中可靠性模型的设计[J].电子技术与软件工程,2018(4):34.
[5]宁丹.输入输出的黑盒测试用例集约简技术探究[J].信息与电脑(理论版),2015(11):51-52.
[6]韓韬.软件测试策略和测试方法的应用[J].信息记录材料,2018,19(11):97-98.
[7]侯可佳,白晓颖,周立柱.一种基于多约束组合的多租户系统配置测试技术[J].计算机学报,2016,39(2):237-252.
[8]王哲,罗真,任吉媛,等.测试环境数据安全管理技术的应用[J].电子技术与软件工程,2019(5):213.
[9]梁凡,宋晓秋.基于二组合的测试用例集生成及精简方法研究[J].计算机工程与设计,2014(5):1662-1666.
[10]章晓芳,陈林,徐宝文,等.测试用例集约简问题研究及其进展[J].计算机科学与探索,2008(3):235-247.