文档库

最新最全的文档下载
当前位置:文档库 > 面向用户需求的软件测试方法

面向用户需求的软件测试方法

面向用户需求的软件测试方法

叶婷

(广州思谋信息科技有限公司,广州市从化鳌头镇黄罗村上一队30号101,510940)

摘要:随着社会上软件数量的不断增多,软件系统的功能稳定性、系统可靠性、功能的健全性、系统的健壮性等属性信息逐渐被用户及相关单位所重视。如何得到满足用户需求的软件测试有效信息,是摆在众多学者面前的研究课题。本文从软件测试用户需求入手,以实现满足用户需求的软件测试结果为目标,给出了一种面向用户需求的软件测试方法。对用户需求进行了形式化定义,对以用户需求为软件测试驱动力的软件测试流程及方法进行了详细阐述。本文的研究成果对软件测试相关工作人员具有一定的借鉴价值。

关键词:软件测试;用户需求;形式化定义;测试流程

1 引言

随着社会职能化的不断发展,基于各种软件操作系统和各种硬件平台软件的应用软件发展迅速[1]。软件的使用可以提高社会的智能化水平,提高人类的工作效率,改善人民的生活质量。软件的发展将对我国十三五任务的完成提供信息化保障。随着社会上软件数量的不断增多,软件系统的功能稳定性、系统可靠性、功能的健全性、系统的健壮性等属性信息逐渐被用户及相关单位所重视。如软件的稳定性不高,则会在系统运行中出现各种各样的故障,造成软件性能下降,工作任务不能顺利完成。如果软件功能不健全,则在进行软件任务执行时,所发挥的作用不到位,不能达到软件应用的原始目的[2]。鉴于以上的背景,如何得到满足用户需求的软件测试有效信息,是摆在众多学者面前的研究课题。

本文从软件测试用户需求入手,以实现满足用户需求的软件测试结果为目标,给出了一种面向用户需求的软件测试方法。对用户需求进行了形式化定义,对以用户需求为软件测试驱动力的软件测试流程及方法进行了详细阐述。本文的研究成果对软件测试相关工作人员具有一定的借鉴价值。

2 基本概念及定义

本小节对软件测试的概念进行介绍,给出了软件的形式化定义,并给出了用户需求的形式化定义。

2.1 软件测试介绍

软件测试是指对一个目标软件进行基于原始代码的综合分析,分析的项目包括软件功能分析、软件合理性分析、软件可靠性分析、软件稳定性分析等,但不限于这些方面。通过对这些方面的分析,得到相关测试结果,形成报告的过程。

软件测试一直是国内外学者的研究热点,其理论较为丰富。如基于语义的缺陷模式软件测试技术[3],其理论思想是建立一个语义本体,用本体来统一软件中的基本术语,这样在进行软件测试时,可以消除软件术语的二义性,提高软件测试的精度。如基于网络代理的软件测试方法[4],其主要理念是通过建立代理机制,构建一个第三方的软件测试机构,用户通过网络进行软件测试。这种方法给出了进行软件测试的一种途径。为了提高用户满意率,本文面向用户需求进行软件测试,这样按照用户的要求进行测试,不做多余的工作,可最大限度的提高软件测试效率,缩小软件测试周期,提高客户满意度。

2.2 相关定义

本小节给出用户需求及应用软件的形式化定义。定义1给出了用户需求的形式化描述。

定义1(用户需求)。六元组Userdemand =(No, Infor, W, K, H, G)为一个用户需求,其中,

(1) No唯一标识了一个用户需求;

(2) Infor代表了这一用户的基本信息,如姓名、工作单位、邮箱、电话等;

(3) W标识了用户对软件稳定性提出的要求;

(4) K标识了用户对软件可靠性提出的要求;

(5) H标识了用户对软件合理性提出

的要求;

(6) G标识了用户对软件功能性提出的要求。

定义1给出了用户需求的形式化描述,由定义1可知,本文把用户对软件的测试需求信息形式化为四个方面,分别为软件的功能性测试需求;软件的可靠性测试需求;软件的合理性测试需求;软件的稳定性测试需求。当然,用户的测试需求不限于这四个方面,本文给出的方法可以扩展到其他维度的用户软件测试需求。定义2给出了应用软件的形式化定义。

定义2(应用软件)。四元式App=( No, I, D, W)称为一个应用软件,其中,

(1) No唯一标识了这个软件;

(2) I代表了此软件的基本信息,如开发商信息、代码行数、代码列数、开发与运行环境、支持的硬件设备等;

(3) D代表了这一软件的代码信息;

(4) W代表了这样软件的说明文档。

定义2给出了应用软件的形式化定义,由定义2可知,本文把应用软件形式化为一个包含代码和说明文档的有机的整体。本节给出的用户需求及应用软件的形式化定义将为下一步进行基于用户需求的软件测试提供前提条件与知识铺垫。下面给出面向用户需求的软件测试方法研究。

3 面向用户需求的软件测试

本节给出面向用户需求的软件测试技术的实现方法。首先给出面向用户需求的软件测试方法的基本思想。

3.1 测试方法实现思想

本文提出的方法是基于用户需求的,所以首先要明确用户对软件测试的基本需求是怎样的。在这一过程中,需要从用户提供的需求信息中,提炼出用户需求形式化定义中的各个属性的参数值。然后,对用户需求的各个属性进行赋值,完成用户需求的形式化建模。其次,用同样的方法对应用软件形式化定义中的各个元素进行赋值。再次,根据用户对软件提出的测试要求,逐个对软件进行测试。最后形成满足用户需求的个性化定制的软件测试报告。这一思想的优越性在于,软件测试工作种类较多,如果不明确用户的测试需求范围就会陷入到工作范围扩大的境地,对于用户来讲,可能会造成软件测试时间延长,软件测试结果不满意。对测试机构来讲,可能会造成测试资源的浪费及测试成本的增多。所以本文的方法起到了约束测试工作范围的目的。下面给出面向用户需求的软件测试算法。

算法3:软件测试算法

输入:用户需求R;应用软件S。

输出:软件测试结果。

第一步:对用户需求进行形式化赋值。新建一个用户需求的形式化描述Userdemand =(No, Infor, W, K, H, G)和一个应用软件的形式化描述App=( No, I, D, W)。

第二步:遍历用户需求R的各个信息。从R中提取出用户的基本信息,如姓名、工作单位、邮箱、电话等;用户对软件稳定性提出的要求;用户对软件可靠性提出的要求;用户对软件合理性提出的要求;用户对软件功能性提出的要求。

第三步:根据第二步得到的信息,对用户需求的形式化描述Userdemand =(No, Infor, W, K, H, G)中的各个元素进行赋值,并随机产生一个未使用的数据赋值给参数No。

第四步:遍历应用软件S的各个信息。从S中提取出此软件的基本信息,如开发商信息、代码行数、代码列数、开发与运行环境、支持的硬件设备等;软件的代码信息;软件的说明文档信息。

第五步:根据第四步得到的信息,对应用软件S的形式化描述App=( No, I, D, W)中的各个元素进行赋值,并随机产生一个未使用的数据赋值给参数No。

第六步:遍历用户需求的形式化描述Userdemand中的用户需求对软件测试的各个需求元素。假设当前元素为Userdemand.G,则遍历应用软件S的代码段App.D。

第七步:经过测试,若软件通过测试则向用户反馈测试通过的信息,若测试不通过,则总结出现的问题,形成报告反馈给用户。

4 结语

为了提高软件测试的效率,改进服务测试服务的用户满意率,本文从用户需求角度出发,提出了一种软件测试技术。文章对用户需求、应用软件进行了形式化定义,对面向用户需求的软件测试方法的思想及流程进行了详细描述,此文对软件测试工作人员具有一定借鉴意义。下一步的工作主要是对软件测试的用户需求进行细化。

参考文献:

[1] 董娜娜. 软件测试自动化技术应用研究[J]. 电子测试[J]. 2010,18(11):59-61.

[2] 马玉春, 汪文彬, 李应勇. 基于TCP 客户机的计算机监控系统测试软件的设计[J]. 软件, 2014,21(4):22-25.

[3]王雅文. 基于缺陷模式的软件测试技术研究[D]. 北京邮电大学, 2009.

[4] 石红霞. 软件测试运行规划及自动化测试工具的研究[D]. 成都理工大学, 2011.

作者简介:叶婷(1992-),广东人,主要从事系统集成、双软资质获取、高新科技企业资质获取、软件研发及著作权申报技术支持服务工作。