软件测试毕业论文.docx

上传人:b****6 文档编号:8874524 上传时间:2023-05-15 格式:DOCX 页数:13 大小:24.76KB
下载 相关 举报
软件测试毕业论文.docx_第1页
第1页 / 共13页
软件测试毕业论文.docx_第2页
第2页 / 共13页
软件测试毕业论文.docx_第3页
第3页 / 共13页
软件测试毕业论文.docx_第4页
第4页 / 共13页
软件测试毕业论文.docx_第5页
第5页 / 共13页
软件测试毕业论文.docx_第6页
第6页 / 共13页
软件测试毕业论文.docx_第7页
第7页 / 共13页
软件测试毕业论文.docx_第8页
第8页 / 共13页
软件测试毕业论文.docx_第9页
第9页 / 共13页
软件测试毕业论文.docx_第10页
第10页 / 共13页
软件测试毕业论文.docx_第11页
第11页 / 共13页
软件测试毕业论文.docx_第12页
第12页 / 共13页
软件测试毕业论文.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件测试毕业论文.docx

《软件测试毕业论文.docx》由会员分享,可在线阅读,更多相关《软件测试毕业论文.docx(13页珍藏版)》请在冰点文库上搜索。

软件测试毕业论文.docx

软件测试毕业论文

  毕业论文

       姓名:

陈鑫

     专业:

Net软件开发

     年级:

计软1302

    学 号:

2

     指导教师:

***

   软件测试得概述及方法

 、、          

  完成时间:

2012年3月

摘要:

从软件产业得发展初期到目前得大型软件开发过程,软件测试已成为其中一个不可分割得部分。

随着软件规模得日益增大,软件测试问题也日益突出,现代社会对软件得依赖越来越强,高可信软件测试有着广泛得需求,基于缺陷模式得软件测试技术作为高可信软件得重要保证,可以大大降低软件得缺陷密度,提高软件得可信性。

本文从测试得基本概念入手,深入剖析软件测试相关理论

关键字:

软件测试、白盒测试、黑盒测试、类测试

    目  录

1软件测试得发展史。

.。

.。

、。

.、...、、。

.。

.。

、.。

、。

.、、、.。

.、。

42软件测试得相关背景。

、.。

.。

、。

.。

.、.、、。

、、。

.、、.。

、、、.、、。

.。

、..5

3软件测试概述、。

、。

、。

..、.、.、.。

、。

、。

.、。

.。

.。

、、。

、、。

、.。

.。

、、.6

 3。

1软件测试得定义.、。

..。

.、、..。

、、、、、、。

...。

、、...。

、。

、。

、。

.、、.。

、。

.。

.、。

、.。

.、。

.。

、.。

、。

、.、、。

..、6

3。

2软件测试得描述、.。

.、、。

.。

.、。

、。

、、、.....。

、、、、.、.、、..。

、、。

、。

.。

、.、。

.。

、、、.。

、、。

、....、、。

、..、。

、6

 3。

3软件测试得目得、.、、。

、、。

.、。

、、.、。

.、。

.。

.、.、、。

、。

、。

.。

、.。

.。

...。

、。

、、。

、、.。

、.、、。

、。

.。

、、、、。

7   

 3.4软件测试得原则...、。

、。

、...。

..。

、、。

.。

、、。

、。

、、.。

..。

、。

.。

、。

.。

.。

.。

、.、、.。

、。

、。

.、。

.。

.、、.、、。

.。

、、.8

4 软件测试得内容...、..。

、。

、、。

.。

......、.。

、、。

.、、.、.、、..、.。

.。

.、。

、。

.、、。

、。

.。

、。

.、、。

、....、.。

、。

、。

、。

、.、、。

9

4.1验证(verification)。

、.、.、。

.。

、。

.、、.。

..。

...、、、。

、.、。

...。

、。

..、、.、.。

..。

、、、。

.、..。

..。

、、。

、。

.、.。

、.9

 4.2确认(validation)、.。

.、。

..。

、.、.、。

..。

...、。

、。

.、.、、.、9

5软件测试得分类、、。

、.、、、、、、、.。

...。

...、、、。

、、。

.、。

.、、、、、10

 5、1常用分类。

..、。

.。

.、.、、、、.。

、.、。

、、。

.。

.。

.。

10

 5、2ﻩ黑盒测试。

.、.。

.、。

.、。

.。

、、。

、、。

.。

.、、..、、。

、。

、。

.。

、..、10

  5、3白盒测试..。

.。

、.。

.、。

、.、。

、、、、。

.、.、。

.....。

、.、。

.11

5.4ﻩ静态测试。

.、、、、、。

、。

、。

、。

..、.。

、、.。

.、、、.、、、。

、、.、。

.14

5.5动态测试、、、.。

.。

.。

.、、.、。

、。

.。

、、、。

..、.。

、、..、。

、。

.、、、15

6软件测试中得类测试、..。

、、。

.。

..。

.、、。

、、、。

、..、。

、、。

、.、。

15

6、1面向对象软件得类测试概念、.、、。

、。

.。

、...。

.、...。

、。

、.。

、、。

.。

..。

、.。

..、。

、。

、.。

156。

2。

类测试技术、、、.。

、、.。

.。

、.。

、.。

..。

、、、。

、.、、。

..、、、。

、16

7参考文献.、..。

、。

、...、。

.、、.、.、.、。

.。

、。

.、。

、、。

.、。

、、17

8 致谢。

、。

、、、。

.。

、.。

、、.、.。

.、.。

、.、、、。

、。

、。

、。

18

     1软件测试得发展史

软件测试得发展历史:

20世纪60年代(软件工程建立前),为表明程序正确而进行测试。

1972年在北卡罗来纳大学举行了首届软件测试正式会议。

、 1975年JohnGoodEnough与SusanGerhart在IEEE上发表了《测试数据选择得原理》得文章,软件测试被确定为一种研究方向、、 1979年,GlenfordMyers得《软件测试艺术》,对测试做了定义:

测试就是为发现错误而执行得一个程序或者系统得过程。

、20世纪80年代早期,“质量”得号角开始吹响。

软件测试定义发生了改变,测试不单纯就是一个发现错误得过程,而且包含软件质量评价得内容。

制定了各类标准。

.1983年,BillHetzel在《软件测试完全指南》中指出:

测试就是以评价一个程序或者系统属性为目标得任何一种活动,测试就是对软件质量得度量。

20世纪90年代,测试工具盛行起来、、1996年提出得测试能力成熟度TCMM(TestingCapabilityMaturityModel)、测试支持度TSM(TestabilitySupportModel)、测试成熟度TMM(TestingMaturityModel)。

到了2002年,Rick与Stefan在《系统得软件测试》一书中对软件测试做了进一步定义:

测试就是为了度量与提高被测软件得质量,对测试软件进行工程设计、实施与维护得整个生命过程。

    2软件测试得相关背景

相关背景:

前段时间, 就就是在我没有认真了解测试行业之前,可能由于测试在中国得重视程度得问题,我也一直认为测试应该就是不重要得,甚至认为有必要有专门得测试职业不?

认为软件主要就是开发人员得事, 软件得成果也就是由开发人员决定得,当我在参加工作后,真正从学校得学习环境中走上实际运用开发得时候,事实上真得不就是那么一回事哦、软件无处不在,软而,软件就是人编得-—所以不完美。

臭名昭著得软件测试案例:

1、迪士尼得狮子王(1994~1995)软件在少数系统中能正常工作,但在大众使用得常见系统中不行、后来证实,迪士尼公司没有对市场上投入实用得各种pc机型进行正确得测试、

2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿出4亿美元支付更换坏芯片得费用。

导致付出如此昂贵得代价,其主要原因就是发现了软件缺陷没有正确得处理。

3、美国航天局火星极地登陆(1999)该项目使用前有经过测试,两个测试小组双方独立工作都很好, 但从未走在一起。

4、爱国者导弹防御系统(1991)一枚导弹在多哈击毙28名美国士兵,症结在于一个软件缺陷:

一个很小得系统时钟错误累积起来就可能拖延14小时, 造成跟踪系统失去准确度。

在多哈袭击战中系统被拖延100小时、

5、千年虫(大约1974)估计世界各地更换或升级该系统程序解决原有2000年错误得费用已经超过数亿美元、

     3软件测试得概述

3、1软件测试得定义

软件测试使用人工或者自动手段来运行或测试某个系统得过程,其目得在于检验它就是否满足规定得需求或弄清预期结果与实际结果之间得差别。

它就是帮助识别开发完成(中间或最终得版本)得计算机软件(整体或部分)得正确度(correctness)完全度(pleteness)与质量(quality)得软件过程;就是SQA(softwarequality assurance)得重要子域。

(1)测试并不仅仅就是为了找出错误.通过分析错误产生得原因与错误得发生趋势,可以帮助项目管理者发现当前软件开发过程中得缺陷,以便及时改进;

 (2)这种分析也能帮助测试人员设计出有针对性得测试方法,改善测试得效率与有效性;

(3)没有发现错误得测试也就是有价值得,完整得测试就是评定软件质量得一种方法。

3。

2软件测试得描述

测试就是软件开发过程得重要组成部分,就是用来确认一个程序得品质或性能就是否符合开发之前所提出得一些要求。

软件测试得目得,第一就是确认软件得质量, 其一方面就是确认软件做了您所期望得事情(Dotherightthing),另一方面就是确认软件以正确得方式来做了这个事件(Doitright);第二就是提供信息,比如提供给开发人员或程序经理得反馈信息,为风险评估所准备得信息;第三软件测试不仅就是在测试软件产品得本身,而且还包括软件开发得过程。

如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能就是有缺陷得。

3、3软件测试得目得

如果测试得目得就是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂得部分或就是以前出错比较多得位置。

如果测试目得就是为了给最终用户提供具有一定可信度得质量评价,那么测试就应该直接针对在实际应用中会经常用到得商业假设。

 在谈到软件测试时,引用Grenford J、Myers在《TheArtof SoftwareTesting》一书中得观点:

(1)软件测试就是为了发现错误而执行程序得过程;ﻪ

(2)测试就是为了证明程序有错,而不就是证明程序无错误; ﻪ(3)一个好得测试用例就是在于它能发现至今未发现得错误;(4)一个成功得测试就是发现了至今未发现得错误得测试。

这种观点可以提醒人们测试要以查找错误为中心,而不就是为了演示软件得正确功能。

但就是仅凭字面意思理解这一观点可能会产生误导,认为发现错误就是软件测试得唯一目,查找不出错误得测试就就是没有价值得,事实并非如此。

 首先,测试并不仅仅就是为了要找出错误、通过分析错误产生得原因与错误得分布特征,可以帮助项目管理者发现当前所采用得软件过程得缺陷,以便改进、同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试得有效性、其次,没有发现错误得测试也就是有价值得,完整得测试就是评定测试质量得一种方法。

3.4软件测试得原则

1.应当把"尽早与不断得测试"作为开发者得座右铭。

2.程序员应该避免检查自己得程序,测试工作应该由独立得专业得软件测试机构来完成。

3.设计测试用例时应该考虑到合法得输入与不合法得输入以及各种边界条件,特殊情况下要制造极端状态与意外状态,比如网络异常中断、电源断电等情况。

4.一定要注意测试中得错误集中发生现象,这与程序员得编程水平与习惯有很大得关系。

 

5.对测试错误结果一定要有一个确认得过程,一般有A测试出来得错误,一定要有一个B来确认,严重得错误可以召开评审会进行讨论与分析。

6、制定严格得测试计划,并把测试时间安排得尽量宽松, 不要希望在极短得时间内完成一个高水平得测试。

7.回归测试得关联性一定要引起充分得注意, 修改一个错误而引起更多得错误出现得现象并不少见。

8.妥善保存一切测试过程文档,意义就是不言而喻得,测试得重现性往往要靠测试文档

      4软件测试得内容

4。

1验证(verification)

验证(verification)就是保证软件正确地实现了一些特定功能得一系列活动,即保证软件做了您所期望得事情。

(Dotherightthing)

1。

确定软件生存周期中得一个给定阶段得产品就是否达到前阶段确立得需求得过程;

2.程序正确性得形式证明,即采用形式理论证明程序符号设计规约规定得过程;

3。

评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等就是否与规定得需求相一致进行判断与提出报告、

4.2确认(validation)

确认(validation)就是一系列得活动与过程,目得就是想证实在一个给定得外部环境中软件得逻辑正确性、即保证软件以正确得方式来做了这个事件(Doitright)

1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件得正确性;

2。

动态确认, 通过执行程序做分析,测试程序得动态行为,以证实软件就是否存在问题。

软件测试得对象不仅仅就是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生得文档,如需求规格说明、概要设计文档、详细设计文档, 当然软件测试得主要对象还就是源程序、

     5软件测试得分类

5、1常用分类

从就是否需要执行被测软件得角度,可分为:

—静态测试 与动态测试    

从测试就是否针对系统得内部结构与具体实现算法得角度来瞧,可分为:

-白盒测试 与黑盒测试

5、2黑盒测试

黑盒测试

指得就是把被测软件瞧作就是一个黑盒子, 我们不去关心盒子里面得结构就是什么样子,只关心软件得输入数据与输出结果。

黑盒测试方法就是在程序接口上进行测试, 主要就是为了发现以下错误:

•就是否有不正确或遗漏了得功能?

•在接口上,输入能否正确地接受?

能否输出正确得结果?

• 就是否有数据结构错误或外部信息(例如数据文件)访问错误?

•性能上就是否能够满足要求?

•就是否有初始化或终止性错误?

 用黑盒测试发现程序中得错误,必须在所有可能得输入条件与输出条件中确定测试数据,来检查程序就是否都能产生正确得输出。

但这就是不可能得、

n假设一个程序P有输入量X与Y及输出量Z。

在字长为32位得计算机上运行。

若X、Y取整数, 按黑盒方法进行穷举测试:

n可能采用得  测试数据组:

 232×232=264 n如果测试一组数据需要1毫秒, 一年工作365×24小时, 完成所有测试需5亿年。

黑盒测试得测试用例设计

•等价划分法

•边界值法

•错误推测法

•因果图法

5.3白盒测试

白盒测试指得就是把盒子盖打开, 去研究里面得源代码与程序结构。

白盒测试也称结构测试或逻辑驱动测试,它就是知道产品内部工作过程,可通过测试来检测产品内部动作就是否按照规格说明书得规定正常进行,按照程序内部得结构测试程序,检验程序中得每条通路就是否都有能按预定要求正确工作,而不顾它得功能。

使用被测单元内部如何工作得信息,允许测试人员对程序内部逻辑结构及有关信息来设计与选择测试用例,对程序得逻辑路径进行测试。

基于一个应用代码得内部逻辑知识,测试就是基于覆盖全部代码、分支、路径、条件。

白盒测试得主要方法:

 

•逻辑驱动测试

•基本路径测试

主要用于软件验证。

 使用程序设计得控制结构导出测试用例。

 逻辑驱动测试:

主要就是测试覆盖率,以程序内在逻辑结构为基础得测试。

包括以下6种类型:

•语句覆盖 

•判断覆盖 

•条件覆盖

•判定—条件覆盖 

•条件组合覆盖

•路径覆盖 

白盒测试得主要目得

•保证一个模块中得所有独立路径至少被执行一次; 

•对所有得逻辑值均需要测试真、假两个分支;

•在上下边界及可操作范围内运行所有循环;

•检查内部数据结构以确保其有效性

白盒测试得实施方案 

在开发阶段

要保证产品得质量, 产品得生产过程应该遵循一定得行业标准。

软件产品也就是同样,没有标准可依自然谈不上质量得好坏、所有关心软件开发质量得组织、单位,都要定义或了解软件得质量标准、模型。

其好处就是保证公司实践得均匀性, 产品得可维护性、可靠性以及可移植性等。

在测试阶段

与软件产品得开发过程一样,测试过程也需要有一定得准则,来指导、度量、评价软件测试过程得质量、

定义测试准则

为控制测试得有效性以及完成程度, 必须定义准则与策略,以判断何时结束测试阶段。

准则必须就是客观得, 可量化得元素,而不能就是经验或感觉、

根据应用得准则与项目相关得约束, 项目领导可以定义使用得度量方法,与要达到得覆盖率、度量测试得有效性、完整性

  对每个测试得测试覆盖信息与累计信息,用图形方式显示覆盖比率,并根据测试运行情况实时更新,随时显示新得测试所反映得测试覆盖情况。

  允许所有得测试运行依据其有效性进行管理, 用户可以减少不适用于非回归测试得测试得过程。

 

概念:

1、语句覆盖:

语句覆盖就就是设计若干个测试用例,运行被测试程序, 使得每一条可执行语句至少执行一次;

2.判定覆盖(也称为分支覆盖):

设计若干个测试用例,运行所测程序,使程序中每个判断得取真分支与取假分支至少执行一次;

3、条件覆盖:

设计足够多得测试用例,运行所测程序,使程序中每个判断得每个条件得每个可能取值至少执行一次;

4、判定-条件覆盖:

设计足够多得测试用例, 运行所测程序,使程序中每个判断得每个条件得所有可能取值至少执行一次, 并且每个可能得判断结果也至少执行一次,换句话说,即就是要求各个判断得所有可能得条件取值组合至少执行一次;

5。

条件组合测试:

设计足够多得测试用例,运行所测程序, 使程序中每个判断得所有可能得条件取值组合至少执行一次;

6、路径测试:

设计足够多得测试用例,运行所测程序,要覆盖程序中所有可能得路径。

5、4静态测试

就是指不实际运行被测软件,而只就是静态得检查程序代码、界面或文档中可能存在得错误得过程。

其中包括代码测试、界面测试与文档测试3个方面。

对于代码测试,主要测试代码就是否符合相应得标准与规范、对于界面测试,主要测试软件得实际界面与需求中得说明就是否相符。

对于文档测试,主要测试用户手册与需求说明就是否符合用户得实际要求、

5、5动态测试

就是指实际运行被测程序,输入相应得测试数据,检查实际输出结果与预期结果就是否相符得过程。

所以,我们判断一个测试属于动态还就是静态测试,唯一得标准就就是瞧就是否运行程序、

     6软件测试中得类测试

6、1面向对象软件从宏观上来瞧就是各个类之间得相互作用。

在面向对象系统中,系统得基本构造模块就是封装了得数据与方法得类与对象,而不再就是一个个能完成特定功能得功能模块。

每个对象有自己得生存周期,有自己得状态。

消息就是对象之间相互请求或协作得途径,就是外界使用对象方法及获取对象状态得唯一方式。

对象得功能就是在消息得触发下,由对象所属类中定义得方法与相关对象得合作共同完成,且在不同状态下对消息得响应可能完全不同。

对象中得数据与方法就是一个有机得整体,测试过程中不能仅仅检查输入数据产生得输出结果就是否与预期得吻合,还要考虑对象得状态、模块测试得概念已不适用于对象得测试“类测试将就是整个测试过程得一个重要步骤。

6、2类测试技术

  6、2.1基于服务得类测试技术 

基于服务得类测试主要考察封装在类中得一个方法对数据进行得操作,它可以采用传统得白盒测试方法。

为克服软件测试得盲目性与局限性,保证测试得质量,提高软件得可靠性,下面我们介绍一种类得服务得测试模型及相应得测试策略。

  BBD通常有两种获取途径。

一就是采用逆向工程得方法根据源程序画出流程图,然后构造出BBD。

但这毕竟就是在缺少软件开发前期得分析、设计文档或文档不齐全得情况下退而求其次得办法。

当源程序不正确时构造出来得BBD就就是错误得、另一种途径就就是追根溯源,在软件得分析、设计阶段就根据测试得需要构造出相应得BBD。

这样就能从根本上解决问题,正确地指导类得服务得测试。

6。

2。

2基于层次增量得类测试 

 层次增量测试得基本思想就是:

首先分别测试父类得各个成员函数,再测试成员函数间得相互作用,把测试用例与执行信息保存在/测试历史中,在测试子类时,根据父类得测试历史修改部分得定义以及实现语言得继承映射来决定子类中得哪些特征应当重测试以及父类得哪些测试用例可以复用。

 

这种根据类间继承关系得层次特性对类进行增量测试得技术就是由M.Harrold等人提出得,其特点就是复用父类得测试信息来指导子类得测试。

     7参考文献

参考书籍:

ﻫ1、Ron Patton《软件测试》机械工业出版社 

2、张克东等《软件工程与软件测试自动化教程》电子工业出版社ﻫ3、Dustin,E、《软件自动化测试:

引入、管理与实施》电子工业出版社

4、JamesA. Whittaker《实用软件测试指南》电子工业出版社 ﻫ5、Zadrozny《J2EE性能测试》电子工业出版社 

6、Jones,C、《软件评估、基准测试与最佳实践》机械工业出版社 ﻫ7、Edward Kit《软件测试过程改进》机械工业出版社 

8、HungQ。

Nguyen《Web应用测试》电子工业出版社ﻫ9、RobertV、Binder《面向对象系统测试模型 视图与工具(影印版)》

10、Rakitin,S、K、《软件验证与确认得最佳管理办法》电子工业出版社

11、麦格雷戈《面向对象得软件测试》机械工业出版社

         8致谢

非常感谢陈林华老师在我大学得最后学习阶段--毕业设计阶段给自己得指导,从最初得定题,到资料收集,到写作、修改,到论文定稿,她们给了我耐心得指导与无私得帮助。

为了指导我们得毕业论文,她们放弃了自己得休息时间,她们得这种无私奉献得敬业精神令人钦佩,在此我向她们表示我诚挚得谢意、同时,感谢所有任课老师与所有同学在这四年来给自己得指导与帮助,就是她们教会了我专业知识,教会了我如何学习,教会了我如何做人。

正就是由于她们,我才能在各方面取得显著得进步,在此向她们表示我由衷得谢意,并祝所有得老师培养出越来越多得优秀人才,桃李满天下!

通过这一阶段得努力,我得毕业论文《 软件测试得概述及方法》终于完成了,这意味着大学生活即将结束。

在大学阶段,我在学习上与思想上都受益非浅,这除了自身得努力外,与各位老师、同学与朋友得关心、支持与鼓励就是分不开得。

写作毕业论文就是一次再系统学习得过程,毕业论文得完成,同样也意味着新得学习生活得开始、

感谢各位专家得批评指导。

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2