针对自研自用型软件的验收测试过程调整
2018-11-29李军锋田立军
李军锋,田立军
(91404部队,秦皇岛 066000)
0 引言
计算机软件在我们的工作、生活等各方面中所占的比重越来越大。在此基础上,各类型科研团队在研发过程中或结束后,会产生大量自用型软件,用于软件产品的辅助开发、能力验证或者支撑特定团队的自用需求等各方面。从项目进度、用户要求等方面考虑,这类软件往往只需要证明软件满足设计需求,无功能、性能指标等缺失且运行稳定即可,并不关注测试过程是否全面正规。对这类自研自用型软件进行验收测试,完全按照正规的软件验收测试过程开展工作,测试资源、工作效率等方面往往不能满足需求,因此需要有针对性的调整软件验收测试过程。
1 正规的软件验收测试过程
1.1 软件验收测试定义
关于软件验收测试的定义目前有很多种不同的说法,比较常用的是列入百度百科、科普中国的词条描述:
验收测试是部署软件之前的最后一个测试操作,在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预定要求那样工作。
1.2 软件验收测试过程
软件验收测试过程一般包括:测试需求分析、测试策划、测试设计与实现、测试执行、测试总结共5个阶段。各个阶段包含的评审活动通常有:测试需求评审、测试策划评审、测试设计与实现评审、测试就绪评审、测试执行中期评审、回归测试就绪评审、回归测试执行评审及测试总结评审共8项。
1.3 软件验收测试特点
对于正规的软件验收测试,当前绝大多数的定义、流程和标准基本都将其作为系统测试的延续,遵循“5个阶段8项评审”过程,其特点是:
(1)优点:相关标准体系成熟、工作过程规范、测试产品齐全;
(2)缺点:测试周期长、阶段评审管理活动工作量大、各种标准要求的工作产品多,往往是“系统测试”的重复,未根据用户的具体需求和实际项目状况,制定有效的实施策略,资源耗费和效率需求不成正比。
2 自研自用型软件验收测试过程
结合软件测试工作实践经验,对正规软件验收测试的过程进行调整,以便在有限的资源条件下,最大化提高工作效率,调整的基本原则如下:
(1)不违背软件测试基本流程对应的工作内容要求。即需求分析、测试策划、测试设计与实现、测试执行、测试总结五个阶段可以合并删减,但主要工作仍旧要覆盖;
(2)减少评审活动。不否认评审管理活动等对测试工作质量的保证有着积极的作用,但相应地也耗费着人力资源、时间资源,影响着测试效率,所以在不影响测试质量的前提下,对过程评审管理活动进行适当的精简;
(3)减少测试工作阶段产品。传统的软件测试形成的技术类工作产品包括:软件测试需求、测试大纲、测试说明、测试记录、测试问题单、软件测试报告,测试人员在文档准备上消耗的时间不在少数。但各方最终关心的只是测试大纲和测试报告,有些过程工作产品也就稍显鸡肋。
综上,在这里将测试过程的5个阶段调整合并为软件验收测试策划与设计、验收测试执行、验收测试总结3个阶段,如图1所示。
图1 软件验收测试过程调整
2.1 软件验收测试策划与设计
将软件测试需求分析、测试策划、测试设计与实现三个阶段合为一体,在不改变验收测试大纲其他涵盖内容,主要包括:软件概述、测试方法策略、测试环境、评判标准等的情况下,重点改进测试项描述章节。如图2所示。
图2 软件验收测试大纲测试项描述要素
其中:
(1)软件需求:对应软件需求阶段,详细列举软件的功能、性能、接口等需求;
(2)测试输入:对应测试设计与实现阶段,合理采用各类软件测试方法,针对软件具体需求设计测试输入,相当于同时完成了部分测试用例设计工作;
(3)预期输出:对应测试设计与实现阶段,依据每项测试输入,制定评判准则的同时逐项列举测试的预期输出。
以一个简单的温湿度环境监控状态显示软件为例,原理为通过前端传感器采集所处环境温湿度数据上报至状态监控显示软件,不考虑传感器可承受的环境限制及前端采集程序,状态监控显示软件主要需求如下:
(1)温度状态监控显示范围[-40℃,50℃],温度低于-40℃时,报低温告警,对应状态灯蓝色闪烁,温度高于50℃时,报高温告警,对应状态灯橙色闪烁;
(2)湿度状态监控显示范围[20%,80%],湿度低于20%时,报湿度过低告警,对应状态灯蓝色闪烁,湿度高于80%时,报湿度过高告警,对应状态灯橙色闪烁;
(3)温湿度正常范围内时,对应状态等为绿色;
(4)无法收到温湿度数据时,对应状态参数显示“--”,对应状态灯为红色;
(5)状态显示精度:温度0.1,湿度1%,超范围温湿度值显示“--”。
按以上照精简的方式,可形成如表1为主要内容的测试项描述。
以上测试项描述示例中,采用功能分解、等价类划分、边界值分析、猜错方法设计测试输入,覆盖了温湿度状态监控显示软件的所有需求,测试项描述形成的整个过程涵盖了测试需求分析、测试策划、测试设计与实现阶段的工作内容。在实际操作过程中,应根据情况调整表格要素,如加入对应需求的标识、所属的测试类型等。
表1 温湿度状态监控显示软件验收测试项描述示例
2.2 软件验收测试执行
验收测试执行主要过程同正规的软件测试执行阶段,如图3示,不同的是取消了测试说明文档,在验收测试大纲中预先明确测试中止或终止条件,限定软件状态的判定方式和回归测试轮次的情况下,直接在大纲测试项描述的基础上增加一列,记录实际测试结果作为原始测试记录。若存在软件问题,则出具软件问题报告单,待整改完毕后进行回归测试,直到软件问题处理完毕或得到用户认可,不影响验收合格结论后,进入验收测试总结阶段。
图3 软件验收测试执行过程
2.3 软件验收测试总结
验收测试总结阶段总体来说无需调整,主要工作为梳理测试过程和结果、编制软件验收测试报告、针对软件需求以列表的形式逐项说明测试情况及达标情况等。本阶段工作已有不少成熟的标准文件可作为直接的指导依据,也可在参照相关标准的基础上结合实际情况进行总结,这里不再赘述。
3 结语
时间就是一切,如何在不改变最终目标的情况下,利用有限的时间和资源产生最大的工作效益是各行各业都应该重视的问题。就测试过程中的技术工作及其评审活动而言,本文提出的调整后的软件验收测试过程,在不违背软件验收测试基本工作流程要求且能保证测试质量的前提下,测试阶段由5个降为3个,减少了40%,评审活动由8次降为3次,减少了62.5%,进一步细化后可形成针对这类自研自用型软件的验收测试规程,能够大幅度提高此类软件的验收测试效率。