硕士论文软件测试流程的理论与实践.docx

上传人:b****3 文档编号:12664247 上传时间:2023-04-21 格式:DOCX 页数:42 大小:267.75KB
下载 相关 举报
硕士论文软件测试流程的理论与实践.docx_第1页
第1页 / 共42页
硕士论文软件测试流程的理论与实践.docx_第2页
第2页 / 共42页
硕士论文软件测试流程的理论与实践.docx_第3页
第3页 / 共42页
硕士论文软件测试流程的理论与实践.docx_第4页
第4页 / 共42页
硕士论文软件测试流程的理论与实践.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

硕士论文软件测试流程的理论与实践.docx

《硕士论文软件测试流程的理论与实践.docx》由会员分享,可在线阅读,更多相关《硕士论文软件测试流程的理论与实践.docx(42页珍藏版)》请在冰豆网上搜索。

硕士论文软件测试流程的理论与实践.docx

硕士论文软件测试流程的理论与实践

 

软件测试流程的理论与实践

 

软件工程黄平华指导教师杜庆峰

 

【摘要】随着软件规模的不断扩大,软件设计的复杂程度不断提高,软件开发中出现错误或缺陷的机会越来越多。

同时,市场对软件质量重要性的认识逐渐增强。

所以,软件测试在软件项目实施过程中的重要性日益突出。

本文先介绍了NetMaster项目相关的背景,然后主要介绍了基于NetMaster的软件测试流程的制定,以及按照此流程的软件测试的实现,主要以NetMaster系统中的实时性能分析模块为例贯穿说明过程。

并根据具体实现过程中发现问题,解决问题的一些体会并加以总结。

【关键词】NetMaster,软件测试,TestDirector,缺陷

 

【abstract】Withtheenlargementofsoftwarescale,andtheincreaseofsoftwaredesigncomplexity,therearemoreandmoreopportunitiesbringingerrorsanddefectsinsoftwaredevelopmentperiod.Atthesametime,peoplepaymoreattentiontosoftwarequality,sosoftwaretestplayamoreimportantroleinthesoftwareprojectdevelopment.ThisthesisfirstintroducesomebasisknowledgeoftheNetMastersoftware,andsomeconditioninourcompany.SecondthereissomeintroductionabouttheestablishmentofsoftwaretestingflowbasedonNetMastersoftwareandthepracticeofthesoftwaretestingflowwhichusesRealTimePerformanceAnalysisModuleasthemainprocess.Thenthereissomeconclusionaboutsoftwaretestingaccordingtotheproblemsfoundintesting.

【keywords】NetMaster,softwaredesign,softwaredevelop,defects,TestDirector,softwaretesting

 

绪论

软件必需经过测试,测试是验证软件是否能达到期望功能的唯一有效的方法。

在软件业较发达的国家,软件测试不仅早已成为软件开发的一个有机组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。

作为软件工程中的重要一环,软件测试一直受到软件从业人员的关注,但是它的发展相对滞后。

软件测试有许多技术和方法,新的测试技术也在不断地研究和试用,但是在具体的测试过程中采用那一种测试技术和方法,又如何对测试过程进行裁减,怎样使项目或产品的目标同软件测试的目标结合起来,使测试的投入性价比更合理,这是值得研究和实践的问题。

测试流程是对测试过程的描述,测试流程的设计必须依附在软件开发流程之中,也就是说测试流程是个具有个性化的流程,需要针对项目或产品的目标,配合具体的规范、流程定制设计。

测试流程设计的原则是:

以项目或产品目标为导向,通过目标来决定测试过程,项目或产品的过程反过来决定项目或产品的质量。

1.相关背景介绍

1.1.测试现状分析

目前,有不少项目的测试处于相对比较混乱的状态,就其原因主要是测试过程不规范。

具体有以下几个方面的原因:

1.没有专门的测试部门,测试人员不足,测试人员的测试水平不足,在测试方面没有很多的经验。

具体地说是测试人员都没有专业的测试理论水平,更没有编程经验。

没有专业的测试理论水平,就需要另外花时间来培训相关理论水平。

没有编程经验,推行结构性测试就有一定困难。

同时,公司的产品是网络管理软件,所以测试人员也需要网络相关知识,但是有一部分测试人员网络知识相当薄弱,这给测试带来很大的困难。

2.同时另一方面,公司的流程不是很规范,有时是先编码再设计,这样就不能有完整的系统测试计划,集成测试计划,以及单元测试计划。

所以要想有规范的测试流程,就要有规范的软件开发流程。

要做到软件开发流程规范化,测试规范化,软件开发和测试无缝结合。

所谓的无缝结合就是把测试作为保证软件质量的,贯穿软件开发始终的活动。

从需求分析阶段制定出系统测试计划,到概要设计阶段制定出集成测试计划,再到详细设计阶段制定出单元测试计划,然后编码结束后执行单元测试,继而是集成测试,再到系统测试。

下图可以清晰地理解测试是如何贯穿在软件开发过程中的。

图1软件开发的瀑布式生命周期

对于一个企业如果在它还很小的时候要进行改革是很容易的,但是当它已经大到一定规模,那么它要改革就会瞻前顾后,就算做了改革的决定,它的改革也不敢有大力度,因为要考虑的问题太多了。

所以企业要在它还很年轻的时候就具有好的习惯,最好能为一种象早晨起来刷牙,洗脸一样的潜意识,非常自觉的行为。

3.另外,有很多自动化的测试工具,它们在很大程度上减少了人力,给企业带来很大的效率。

但是公司目前没有投入财力以及人力来购买及研究自动化工具,并最终投入使用。

我们可以根据产品的特点,公司的具体情况(财政方面,人力方面)来适当得选择合适的自动化测试工具。

比如可以考虑使用winrunner进行功能测试方面,使用junit进行单元测试。

但是单元测试应该由开发人员完成,并作为重要的文档保存起来。

所以测试必须与开发能够配合得非常好,也就是前面所提到得无缝结合。

因为要分清哪些是属于单元测试得内容,哪些不是,哪些问题的责任是开发人员,哪些是测试人员。

测试组将在时间允许的条件下深入学习使用winrunner,并就winrunner对公司产品的适用程度,可以解决多少问题,节省多少人力资源,哪些功能可以使用winrunner自动测试进行特别的分析,提供总结报告,然后决定是否使用winrunner来作为测试的辅助工具。

对于junit,测试组会做初步的研究。

同时目前公司使用TestDirector作为bug管理工具,实际上TestDirector的功能远远大于此,我们应该充分利用现有的资源,结合公司情况,把TestDirector和项目管理融合在一起。

把需求,设计等等内容加入到TestDirector。

1.2.NetMaster项目介绍

1.2.1.NetMaster简介

NetMaster系统系列软件改变了目前市场上国外原厂商提供的软件价格昂贵、使用不便、无汉化版本等缺点,在设计上特别考虑到中国人的需求,操作上非常的简单易用,让IT技术人员不用经过专业培训就能轻松的完成日常需求,让用户真正对网络有实时、准确的管理。

全套系统在操作上仿照Windows的操作风格,人人都能毫不费力的上手实用。

真正使网络和电灯一样实用易用。

1.2.2.NetMaster软件构架

NetMaster网络管理软件的体系结构如图2所示。

图2NetMaster网络管理系统体系结构

这是一种三层+分布式的体系结构。

该体系结构同时采用了类似于基于Web技术的综合网管系统的三层体系结构和类似于CORBA技术的分布式结构,从而可同时拥有CORBA技术的开放性、可移植性、可扩展性和三层体系结构的易获得性等优点。

管网(NetMaster)是一个通用的网络管理应用软件,同时网络管理系统平台和管理应用。

网络管理系统平台对应于服务层,包括服务和本地数据库;管理应用对应于应用层,包括网络管理应用前台及应用扩展接口。

管理应用前台及应用扩展接口是分布式的。

管理应用前台可图形化显示整个网络的拓扑图及网络设备的状态,用户通过与应用前台交互可完成系统配置和查看/修改设备信息等操作。

应用扩展接口可不断扩展以支持不同厂商的网络设备,通过该技术可很好的解决多厂商设备管理的问题。

服务层完成主要的业务操作,包括网络拓扑发现、周期性地通过SNMP/ICMP协议从远端设备的代理中获取设备的信息、对获得信息的处理、将处理过的信息通过RMI通知应用前台、以及进行数据库的操作等。

虽然目前电信管理网络(TMN)已在开发基于ODP/CORBA/TINA、ODMA和智能代理技术(IA)等体系结构的网络管理软件,但这种三层+分布式的体系结构已能够非常灵活的部署整个网络管理系统,应付千变万化的网络拓扑和用户需求。

并且这种体系结构较成熟,已被许多的网管软件采用(如Webnms和opennms等),有许多经验可以借鉴,从而能保证在短期内开发出稳定的软件系统。

1.2.3.NetMaster系统环境

Ø硬件要求

●IntelPentiumIII1GHZ或以上的处理器;

●256M或以上的内存;

●带有SVGA图形卡的1024*768显示器;

●剩余磁盘空间:

500MB以上;

●网络适配卡;

●光驱;

Ø网络环境

安装并配置了TCP/IP协议,需要管理的网络对象必须支持SNMP,同时能够完整的提供rfc_1213MIB信息,如果是交换设备,还应该提供bridgeMIB信息。

Ø操作系统

可选以下操作系统平台:

●MicrosoftWindowsNT4.0(Workstation或Server,ServicePack6);

●MicrosoftWindows2000(Professional或Server,ServicePack3);(推荐)

MicrosoftWindowsXP(Professional或Home);

Ø其他

MicrosoftInternetExplorer5.0及以上版本或NetscapeCommunicator4.0及以上版本,必须预先安装。

2.基于NetMaster的集成测试流程的建立

2.1.测试涉及的工作内容

测试主要分为以下几个方面:

针对公司现状(从规模,成本等角度考虑),测试部门包含的职责如下:

●测试方法的确定:

根据本项目的具体特点,主要采用功能测试方法对系统进行单元和集成测试(包括功能点、业务流、接口、页面规范)。

同时利用测试工具对系统进行了性能测试。

●寻找测试功能点并制定计划:

根据本项目的研发计划和需求分析制定出测试计划

●测试的设计与执行:

根据测试计划的安排设计测试用例,以及执行测试

●产生测试报告:

根据测试执行情况进行分析,产生测试报告

●测试问题的跟踪:

把在测试的执行过程中发现的问题输入到TestDirector,并且对问题进行跟踪

●配置管理:

协助软件测试做好配置管理工作,主要是对测试模块进行变更控制、版本标识和版本分布。

2.2.测试环境和开发环境总体图

测试不是一台pc,一个测试工程师就能完成的工作,它需要特殊的环境支持。

下图(图6)描述了公司基于NetMaster的测试环境。

图3测试环境图

2.3.测试流程描述

每个工作都应该按照一定的流程来完成,测试也不例外,下图(图3)描述了测试工作的流程:

图4测试流程图

2.4.BUG跟踪流程描述

测试的目的是发现问题,而且也一定会发现问题,对于发现的问题,也应该有很好的流程来跟踪以此保证它很好的解决。

下图(图4)描述了使用TestDirector进行BUG跟踪流程:

图5BUG跟踪流程图

2.5.验收的测试工作流程描述

对于产品发布前的每个功能的测试即验收测试,此测试是为了检查是否所有的需求都得到满足,下图(图5)描述了验收测试流程:

图6验收测试流程图

3.基于NetMaster的集成测试流程的实现

3.1.测试计划制定

3.1.1.资源列表

网路环境:

●100M局域网

●需要一台邮件服务器发送邮件

●需要一台TestDirector服务器进行web方式的bug管理和跟踪

●需要一台CVS服务器进行CVS配置管理

测试可用的设备:

名称型号

性能参数及配置

数量

备注

1、路由器

1.1

CISCO2620

可选广域接口WIC卡,10/100Base-T/TX

1

 ip:

10.0.3.1

1.2

CISCO1700

1

 ip:

10.0.2.1

2、二层交换机

2.1

Catalyst2900

24端口交换机,10BaseT/100BaseTX

3

一台未使用

ip:

192.168.100.50

ip:

192.168.100.40

2.2

Catalyst1900

1

未知ip

2.3

Catalyst2503

1

未使用

3、三层交换机

3.1

Catalyst3550

48个10/100端口和两个基于GBIC的千兆以太网接口

1

ip:

192.168.100.66

4、主机(装有agent)

4.1

ip:

192.168.10.3

4.2

ip:

192.168.100.12

4、主机(装有agent)

4.3

 

ip:

192.168.100.68

4.4

 

ip:

192.168.100.102

4.5

 

ip:

192.168.100.103

4.6

 

ip:

192.168.100.107

4.7

 

ip:

192.168.100.111

4.8

 

ip:

192.168.100.166

4.9

 

ip:

192.168.100.177

表格1测试可用设备

3.1.2.人力资源

测试人员3人,开发人员7人

3.1.3.测试使用的软件及工具

分类

工具

产商/自产

版本

缺陷跟踪

TestDirector

MercuryInteractive

7.2

配置管理工具

CVS

共享免费软件

1.3

功能性自动测试工具

Winrunner

MercuryInteractive

7.0

其他网络管理软件

HPOpenView

HP

B.06.31

其他网络管理软件

SnifferPro

MercuryInteractive

7.2

其他网络管理软件

CommView

e

4.0

表格2测试工具

3.1.4.任务与分工

第一阶段测试:

里程碑任务

工作

日期

衡量标准

测试环境的搭建

测试环境的搭建

2004-2-19

2004-3-8

新的项目加入TestDirector

测试环境可用

功能测试

功能测试

2004-3-9

2004-3-10

2004-3-11

完成功能测试

测试报告

编写测试报告

2004-3-10

2004-3-12

出具测试报告

表格3实时性能分析第一阶段测试时间安排表

第二阶段测试:

图表7实时性能分析测试时间安排表

里程碑任务

工作

日期

衡量标准

功能测试

功能测试

2004-3-15

2004-3-16

2004-3-17

完成功能测试

测试报告

编写测试报告

2004-3-16

2004-3-18

出具测试报告

表格4实时性能分析第二阶段测试时间安排表

3.2设计测试

本阶段为根据需求分析文档,概要设计以及详细设计文档来设计测试用例。

对于每一个模块的测试,首先要根据需求分析要有哪些需要测试的功能点,然后写出测试用例来覆盖所有要测试的功能点,有可能某些测试用例可以同时测试多个功能点,这样是最好的了可以同时检查多个功能点是否正确的实现。

还有测试用例不是越多越好,首先设计多余的测试用历史要人力成本的,其次执行重复的测试用例也是要人力成本的。

下面以NetMaster系统中的实时性能分析模块来分析测试的设计。

3.2.1.实施性能分析界面相关设计

图8实时性能分析配置界面

图9实时性能分析图表界面

3.2.2.实时性能分析模块的测试功能点:

引用编号

功能

类别

R1

进入实时性能分析窗口

显式

R2

退出实时性能分析窗口

显式

R3

选择snmp采样间隔

显式

R4

画出snmp实时性能分析图

显式

R5

添加性能指标

显式

R6

删除性能指标

显式

R7

添加的性能指标之间单位相同

隐式

R8

可添加的最大指标为4个

隐式

R9

添加的性能指标的互异性

隐式

R10

性能分析图表中的纵坐标值急剧改变时,纵坐标的刻度变化

隐式

R11

性能分析图表中的指标和对应颜色曲线一致

显式

R12

性能分析列表中的目标数据详细信息是否正确

显式

R13

退出实时性能分析图表窗口

显式

R14

实时性能分析图表只支持单视图

隐式

表格5实时性能分析测试功能点

3.2.3.实时性能分析测试用例:

模块名称:

实时性能分析

编写人:

黄平华

案例编号:

V1.9.3_RTPA_1

编写日期:

2004-2-20

案例描述(测试目的):

通过菜单项,测试是否正常进入实时性能分析窗口,正常退出实时性能分析窗口。

.

交叉引用功能:

R1

BugID:

步骤ID

测试步骤/数据

预期结果(输出结果)

实际结果

(“测试通过”、“测试异常”、“异常终止”)

F001

用户点击”性能分析”->”实时性能分析”菜单

实施性能分析窗口显示在屏幕上,且所有SNMP设备,端口,指标树正确显示在左边,并检查左边的滑动条是否正常工作。

F002

用户点击窗口中的关闭按钮

实施性能分析窗口及其对应的实施性能分析图表窗口都关闭

 

模块名称:

实时性能分析

编写人:

黄平华

案例编号:

V1.9.3_RTPA_2

编写日期:

2004-2-20

案例描述(测试目的):

1.测试未添加任何指标,系统的反应。

2.关闭实时性能分析图表窗口

3.并且验证对于单视图的限制.

交叉引用功能:

R3,R4,R5,R12,R13,R14

BugID:

步骤ID

测试步骤/数据

预期结果(输出结果)

实际结果

(“测试通过”、“测试异常”、“异常终止”)

F001

用户点击”添加”按钮

弹出”请选择性能指标”的提示信息

F002

用户选中左边的任意设备的任何一个性能指标

该性能指标显示选中

F003

用户点击”添加”按钮

该性能指标出现在性能指标列表,且该性能指标数据信息包括设备信息,端口信息以及具体指标名称,并且与左边所选对比,是否完全对应

F004

用户选择snmp采样间隔选项

指定的snmp采样间隔选项显示在下拉框

F005

用户点击”确定”按钮

1.弹出新窗口;

2.开始画实时性能分析图表,且实时性能分析图表窗口被适当加亮

3.同时实时性能分析配置窗口的确定按钮是灰色,并且点击后不会弹出另一个实时性能分析图表窗口

F006

用户点击实时性能分析图表中的关闭按钮

实时性能分析图表关闭

模块名称:

实时性能分析

编写人:

黄平华

案例编号:

V1.9.3_RTPA_3

编写日期:

2004-2-20

案例描述(测试目的):

(重复测试snmp采样间隔)用户添加一个性能指标,选择snmp采样间隔下拉框,画出实时性能分析图表

交叉引用功能:

R3,R4,R5

BugID:

步骤ID

测试步骤/数据

预期结果(输出结果)

实际结果

(“测试通过”、“测试异常”、“异常终止”)

F001

用户选中左边的一个性能指标

该性能指标显示选中

F002

用户点击”添加”按钮

该性能指标出现在性能指标列表

F003

用户选择snmp采样间隔选项

指定的snmp采样间隔选项显示在下拉框

F004

用户点击”确定”按钮

弹出新窗口,并开始画实时性能分析图表

F005

用户选择另一个”snmp采样间隔”选项

指定的”snmp采样间隔”选项显示在下拉框

F006

用户点击”确定”按钮

弹出新窗口,并开始画实时性能分析图表

画出的实时性能分析图表采集点的密集程度与F004中的不同

模块名称:

实时性能分析

编写人:

黄平华

案例编号:

V1.9.3_RTPA_4

编写日期:

2004-2-20

案例描述(测试目的):

用户添加多个性能指标,以及对于同一个性能指标不能添加多次

交叉引用功能:

R5,R8,R12

BugID:

步骤ID

测试步骤/数据

预期结果(输出结果)

实际结果

(“测试通过”、“测试异常”、“异常终止”)

F001

用户选中左边的任意设备的任意一个性能指标

该性能指标显示选中

F002

用户点击”添加”按钮

该性能指标出现在性能指标列表,且该性能指标数据信息包括设备信息,端口信息以及具体指标名称,并且与左边所选对比,是否完全对应

F003

用户选中左边的一个未选的性能指标

该性能指标显示选中

F004

用户点击”添加”按钮

该性能指标出现在性能指标列表,且该性能指标数据信息包括设备信息,端口信息以及具体指标名称,并且与左边所选对比,是否完全对应

F005

重复F003,F004操作3次

在第三次点击“添加”时,弹出”最大只可选择4个性能指标”的提示信息

F006

用户选中左边的一个已经添加的性能指标

该性能指标显示选中

F007

用户点击”添加”按钮

弹出”该性能指标已经在列表中”的提示信息

模块名称:

实时性能分析

编写人:

黄平华

案例编号:

V1.9.3_RTPA_5

编写日期:

2004-2-20

案例描述(测试目的):

1.(测试异常情况)性能指标列表中没有任何性能分析指标,点击”确定”按钮

2.用户添加性能指标,删除性能指标,选择snmp采样间隔,画出实时性能分析图表

交叉引用功能:

R5,R9

BugID:

步骤ID

测试步骤/数据

预期结果(输出结果)

实际结果

(“测试通过”、“测试异常”、“异常终止”)

F001

性能指标中没有任何指标

“确定”按钮是灰色的,点击后没有反应

F002

用户选中左边的一个性能指标

该性能指标显示选中

F003

用户点击”添加”按钮

该性能指标出现在性能指标列表

F004

用户选中左边的一个未选性能指标

该性能指标显示选中

F005

用户点击”添加”按钮

该性能指标出现在性能指标列表

F006

重复F004,F005操作

F007

用户选中性能分析列表中的一个性能指标

该性能指标显示选中

F008

用户点击”删除”按钮

该性能指标从性能指标列表中删除

F009

重复F007,F008操作

F010

用户点击”确定”按钮

弹出性能分析图表窗口,并且二个性能指标曲线

F011

用户选中性能分析列表中的剩下2个性能指标

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1