李雪梅,高媛,杨立波
(1.太原大学计算机工程系,山西太原 030032;2.中北大学电子与计算机科学技术学院,山西太原 030051)
浅谈软件测试
李雪梅1,2,高媛2,杨立波1
(1.太原大学计算机工程系,山西太原 030032;2.中北大学电子与计算机科学技术学院,山西太原 030051)
软件测试是一个非常重要的阶段,也是非常复杂的过程,测试过程及方法灵活多变,没有固定可言。一个好的测试人员不仅能发现问题、从发现的问题中分析问题出现的原因,更应该能拟定软件测试计划、编制软件测试大纲、编写软件测试用例,从而提高了工作的效力,降低了开发产品的成本,更好的保证了软件的质量。
软件可靠性;软件质量;软件测试;测试用例;地铁通信网管
信息技术飞速发展的今天,软件产品应用到了社会的各个领域,于是软件产品的质量自然成为了人们关注的焦点。尤其是一些关键应用,如民航订票系统、银行结算系统、证券交易系统等,这当中如果使用质量有问题的软件,很有可能会造成灾难性的后果。于是软件危机便成为了整个计算机界最热门的话题。为了解决软件危机,软件从业人员、专家和学者做出了大量的努力,此时软件测试诞生了。
软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计的一组测试数据,并利用这些测试数据运行程序,以发现程序错误的过程。其目的在于发现错误,对已进行的测试过程的程度进行评估,而不是确认其正确性。下面通过举例来描述一下什么是软件测试以及如何进行软件测试。
1.1 软件测试对象
地铁通信网管系统。
这个系统提供地铁行车指挥、运营管理、行政办公等有关部门和有关工作人员使用的通信设施,以及支持这些设施所需的相关网络。工程还包括地铁通信网与电信局市话中继线联网工程,与供电、消防等指挥部门之间业务所需要的直通电话工程和沟通地面与地下之间的有线、无线传输通道等。
1.2 软件测试要求
要求接入到网管系统(NMS)的所有设备发生故障时网管工作站能够显示设备的故障告警,同时用户可以自行删除告警并且可查询操作日志。
(1)硬件说明。网管系统(NMS)可以安装在一台计算机上,也可按服务器和工作站分别安装,它们之间通过LAN连接。
表1 硬件说明
(2)软件说明。本系统开发语言为C++,数据库为MySQL,软件测试时需配置ODBC。
(3)系统设备连接。
表2 网管系统设备连接
(4)软件测试计划。
(5)软件测试设计。测试人员根据初步确定的测试需求开始编写测试用例,并组织评审。
在地铁通信网管系统中用到的测试用例有:触发基站告警;触发NMS服务器告警;删除告警;查询告警(如表3所示)。
表3 软件测试步骤
(6)搭建测试环境。当研发人员根据测试用例编码完成时,测试人员开始搭建测试环境,准备测试所需要的硬件资源和软件资源。
图1 测试组网图
(7)功能测试。根据提交的版本按照测试用例执行软件测试,同时对测试用例结果进行一一标记,测试成功则置为Pass,测试失败则置为Fail。测试中发现的不足提交TD库;待研发人员修改完缺陷,重新提交版本后,测试人员就可以执行回归测试,并修改TD库上问题单的状态,若修改成功则为Closed,未修改完全则为Fixed。
图2 测设计划模型
(8)软件测试报告。软件测试完成后应编写测试报告,报告包括测试覆盖的需求点、测试的轮次、测试时发现的缺陷分布、缺陷关闭分布、版本质量分析、测试总结等,并组织相关人员评审,确定版本能否发布。测试中发现的缺陷在TD中提交。
(9)软件测试验收。报告完成后由实际用户组织的一次验收测试,测试人员提供基本功能测试用例,然后由实际用户去执行功能是否通过。
软件测试是整个软件开发过程中非常重要的阶段[2],在整个测试过程中若能按测试的基本过程来进行,不仅能找出错误,而且能发现错误、分析错误、找到错误的分布特征和规律,从而帮助此项目管理人员发现当前所采用的软件在开发过程中的缺陷并改进,以便设计有针对性的检测方法,改善软件测试的有效性。即使测试没有发现错误,也是十分有价值的,因为完整的测试不仅能给软件质量进行一个正确的评价,而且是提高软件质量的重要方法之一。这样在测试完一个软件后,软件的质量就有所保障了。
[1]史济民.软件工程原理方法与应用[M].北京:高等教育出版社,2001.
[2]张海藩.软件工程导论[M].北京:清华大学出版社,1997.
[责任编辑:袁太生]
Discussion on Software Testing
LI Xue-mei1,2,GAO Yuan2,YANG Li-bo1
(1.Computer Engineering Department,Taiyuan University,Taiyuan 030032,China; 2.School of electronics and computer science and technology,North Central University,Taiyuan 030051,China)
Software testing is a very important stage,and it is also a very complex process.The testing process and its approach are rather flexible.There is no fixed method at all.A good test personnel can not only find problems and find the causes by analyzing them,but also be able to develop software testing plan,prepare software testing outline,and compile test cases for software testing,so as to improve the working efficiency,reduce the cost of product development,and ensure the quality of the software.
software reliability;software quality;software testing;cases for testing;subway communication network
TP311.55
A
1671-5977(2012)01-0125-03
2011-10-15
李雪梅(1981-),女,山西昔阳人,太原大学计算机工程系助教。