APP下载

软件验收测试的研究与实践

2018-02-24杨晓燕宋彩霞

电脑知识与技术 2018年34期

杨晓燕 宋彩霞

摘要:软件测试是软件开发生命周期中最重要的任务之一,它是保证软件产品的质量、稳定性、可靠性的重要手段。软件验收测试的目的是确保系统正常工作并且确保应用程序能够满足客户的需求。该文探讨软件验收测试的策略,给出一个完整的软件验收测试流程。

关键词:软件验收测试;验收测试策略;测试流程

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2018)34-0232-02

随着时代和科技的不断发展,在大数据背景下,软件系统的多样性、复杂性和规模不断增加,出现了一个问题就是如何保证软件产品的质量、稳定性、可靠性[1]。而解决这一问题的关键就是软件测试。软件测试是软件开发生命周期中最重要的任务之一,很容易超过项目总工作量的一半。一个成功的测试方法可以节省大量的工作和提高产品质量,从而提高客户满意度和降低维护成本[2]。

1 软件验收测试的含义及目的

在软件产品上进行的测试称为软件测试。软件测试是一个过程,涉及,执行一个软件程序并发现该程序中的所有错误或bugs, 使其最终是一个无缺陷的软件[3]。任何软件的质量都只能通过测试(软件测试)来知道。具体来说,软件测试可以用来检查软件是否:

l满足设计阶段提到的所有要求。

l为不同的输入提供正确的输出。

l能够在规定的时间或可接受的时间内完成任务。

l能在不同的环境中运行。

在验收和单元测试过程中,要认识到其特殊性,它是以验证软件正确性为主的检测,而不是以发现当中的错误为主的检测[3]。

2 软件验收测试策略

测试策略在整个测试过程中扮演了一个有趣的角色,因为它有机会定义和解释测试活动。测试策略可以定义为描述软件开发生命周期中的测试方法的大纲。它由各种各样的软件测试用例与设计方法组成。它们被开发成一系列适当的步骤,这些步骤将最终促使软件测试的成功。软件验收测试策略主要由测试团队、项目经理、功能测试团队和软件工程师开发。一般的测试策略如下:

(1)单元测试

单元测试是指在最低級别或非常细粒度级别进行的测试。IEEE将单元测试定义为“对单个软件或硬件单元或相关单元组的测试,而不是完整的构建或系统测试”[2]。这些测试用于测试软件应用程序的最基本单元,它可以是模块、方法或组件。单元是基本模块(可以测试的代码行数最少)。这种方法用于持续的测试和修订。通常,开发人员编写这些测试并重构应用程序代码,直到通过所有单元测试。

(2)集成测试

集成测试是指将两个以上的模块组合在一起并作为一个整体进行测试。集成测试在单元测试之后进行。这可以采用自顶向下和自底向上的测试方法来完成。集成测试的主要目标是验证和查看当所有小模块组合在一起时所有软件模块是如何工作的。这种测试是在大型结构和接口上进行的。

(3)系统测试

顾名思义,系统测试是指把整个系统作为一个单元来测试。系统测试是为了测试整个系统的质量。在这里,功能性和非功能性属性,如可靠性、可维护性和安全性以及系统的需求规范起着非常重要的作用。所有的要求都要被检查。如果测试在这里失败,那么该系统将循环回到软件开发生命周期,从头开始执行。

3 完整的软件验收测试流程

软件验收测试流程,可以分为验收测试准备、执行验收测试、执行文档检查、产品移交4个过程,流程图如图1所示。

3.1 验收测试准备

提交采购的软件产品及技术文档。输入《需求规格说明书》、软件产品(含源代码)及技术文档。乙方协助甲方1部署相关程序,并现场演示通过。如功能演示不通过,则退回乙方进行修改。

3.2 执行验收测试

验收测试工程师根据《需求规格说明书》,在《验收测试报告》上编写验收测试用例,项目经理组织项目组人员或内外部专家对验收测试用例进行审核,并根据审核意见对验收测试用例进行修改,直至审核通过。

验收测试工程师根据《需求规格说明书》,对交付的软件产品或组件进行全面的验收测试,以确保产品符合需求。如果验收测试时发现工作成果存在缺陷,记录进《验收测试报告》并进行跟踪,直至问题解决。验收测试结束后,验收测试工程师出具《验收测试报告》。

3.3 执行文档检查

外包项目的文档检查可随同验收测试准备工作同步进行。项目经理组织项目组人员或内外部专家根据合同中确定的文档列表和检查标准,对供应商应当交付的成果进行检查,确保这些成果是完整、正确、专业的。

此阶段乙方需提供的工作产品如表1所示。

3.4 产品移交

验收测试通过后,乙方将产品移交给甲方的同时,需要给甲方员工进行产品培训。甲方的项目经理根据软件产品的使用范围及培训内容组织项目组及相关人员参加培训,乙方负责对培训情况进行记录。

验收测试通过后,甲方根据合同中规定的试运行要求,组织开展项目的试运行工作(合同中无相关要求的除外)。项目进入试运行后,乙方负责试运行期间的运维保障工作,将试运行期间出现的问题进行纪录。试运行没有问题,进行产品移交。

4 结束语

交付高质量的软件产品是任何项目的主要目标。这意味着测试在任何软件产品的开发中都扮演着非常重要的角色。软件的验收测试工作中包含了多方面的内容。验收前需要做测试准备,制定相应的计划。按照验收策略执行验收过程,在验收过程中执行文档检查。只有进行了全面的检测,才能促使软件的使用效果得到提升。

表1  乙方提供的工作产品

[序号 阶段产物 文档名称 1 项目计划 外包项目开发计划 2 需求 需求规格说明书(含非功能性需求) 3 设计 设计说明书 4 数据库设计文档 5 开发 系统程序源码 系统程序源码说明(含注释) 6 验收测试测试 项目验收测试申请表 7 外包项目测试方案、测试报告、性能测试报告 8 用户操作手册 9 管理员操作手册 10 部署 项目安装、部署手册 11 试运行 试运行报告 12 项目管理 项目周报 13 项目会议纪要 14 培训 培训材料 15 培训记录(培训签到表) ]

注释:

1.本文中的甲方是客户即是软件使用者,乙方是软件开发方。

参考文献:

[1] 王京. 大数据背景下软件测试技术研究[J]. 信息与电脑(理论版). 2018(7): 26-27.

[2] N. J, A. M-M, W. S. Guest Editors' Introduction: Software Testing Practices in Industry[J]. IEEE Software. 2006,23(4): 19-21.

[3] 焦安涛. 基于软件的验收测试工作[J]. 电脑迷. 2016(11): 26.

【通联编辑:代影】