软件测试模板论文.docx
- 文档编号:24082203
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:21
- 大小:34.27KB
软件测试模板论文.docx
《软件测试模板论文.docx》由会员分享,可在线阅读,更多相关《软件测试模板论文.docx(21页珍藏版)》请在冰豆网上搜索。
软件测试模板论文
沈阳理工大学高等职业技术学院
软件测试(论文)
题目:
________软件测试__________
系别:
_信息工程系__________
专业:
计算机科学与技术______
学生姓名:
_______________
指导教师:
__孙承福____________
年月日
摘要
随着中国IT行业的发展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。
近年来,由于软件错误而造成经济损失,导致严重后果的事例屡见不鲜。
因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重要手段。
在软件行业日新月异的发展进程中,软件的品牌以及种类已经到了数不胜数的地步,而软件测试已成为其中一个不可分割的部分。
新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
本软件的开发过程完全遵循软件开发流程来完成的。
经历了需求分析阶段,数据库设计阶段,界面开发阶段,编码阶段,最后通过软件测试,完成整个软件的开发。
测试软件使用QucktestProfessional(QTP)软件,该软件是一个比较全面的,能对被测软件比较完美分析。
并且能从中测试出被测软件的一些列的问题。
而傻瓜进销存系统是一款提供进货、出货以及库存管理一款全方位软件,是做的比较好的一款软件,它的开发,不仅为使用商提供了极大的便宜,也使得办公的效率明显的得到提高。
傻瓜进销存项目简单实用为目标,以通用型为基础的进销存财务一体化管理软件,可以用最简洁的方法掌控货物与财务的变化,我承担的的工作就是对傻瓜进销存的采购和库存功能模块进行测试,傻瓜进销存的采购和库存方面包括供应商、采购入库、采购退货、库存查询、采购订单、采购入库查询、采购退货查询、调库管理、库存盘点、仓库资料、报溢管理、商品拆分管理、报损管理、商品合并管理。
关键字:
软件测试、需求分析、测试用例、QTP测试、
Abstract
Softwaretestingsoftwaredevelopmentprocessisanimportantpartofaprocedureisusedtoconfirmthequalityorperformanceisinlinewiththeproposeddevelopmentbeforesomeoftherequirements.Thepurposeofsoftwaretestingistoensurethatthequalityofsoftware.Beforeandaftertogothroughthefollowingmajorcomponents:
needsanalysis→testplandesign→→testtesttesttheimplementationofenvironmentalstructures→→testrecords→defectmanagementsoftware→assessment→RTM.BlackBoxTestingwillbetestedasitsnamesuggestsisthesystemasablackboxfromtheoutsideworldtoenter,andthenoutput.Baiheceshithroughtheprogram'ssourcecodefortestingwithouttheuseofuserinterface.BaiheceshiProductsareawareoftheinternalworkprocesses,productspassthetesttodetectwhetherinternalactioninaccordancewiththeprovisionsofthenormalspecification,inaccordancewiththeinternalstructureofthetestingprocedures.Greyboxtesting,andBlackBoxTestingisbetweenBaiheceshibetweenthetwo,grayboxtestofconcernfortheimportationofthecorrectnessofoutput,butalsoconcernedaboutinternalperformance.
ShiKaifoodandbeverageadministrativesystemisdividedintofourmajorfunctionmodule,.suchas:
frontdeskopen,theintercalateofopen,analysewithfinancialinquiry,systemmanagement.Itcanhelpthefoodandbeverageenterprisetodealwiththeroutinebusine,standardizethemanagementandefficientconvenient,foodandbeverageofhygienemanageenvironment,maximumreducefoodandbeveragemanagetheoperationcost;Improvebenefitofmanaging.
Keywords:
testingsoftwaretestingtestingmethodtestingprocesswhiteBoxTestingBlackBoxTestinggrayboxtestingsoftwaredevelopment.
目录
摘要II
AbstractIII
第一章引言1
1.1软件测试的背景和意义1
1.2软件测试的理论基础1
1.2.1软件测试的定义1
1.2.2测试任务2
1.2.3软件测试的目的2
1.3软件测试流程3
1.4软件测试的内容4
第二章相关技术和工具介绍6
2.1相关技术介绍6
2.1.1黑盒测试6
2.1.2白盒测试9
2.1.3灰盒测试12
2.1.4基于风险的测试12
2.1.5基于模型的测试13
2.1.6等价类划分13
2.1.7边界值分析法13
2.1.8因果图方法13
2.1.9错误推测法14
2.2相关工具介绍14
2.2.1QTP14
2.2.2LR16
第三章总结19
致谢20
第一章引言
1.1软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。
软件质量问题已成为所有使用软件和开发软件的人关注的焦点。
由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。
如何防止和减少这些可能存在的问题呢?
回答是进行软件测试。
测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。
新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
1.2软件测试的理论基础
1.2.1软件测试的定义
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Dotherightthing),另一方面是确认软件以正确的方式来做了这个事件(Doitright)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件质量是由几个方面来衡量的:
1、在正确的时间用正确的的方法把一个工作做正确(Doingtherightthingsrightattherighttime.)。
2、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。
3、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Qualityisdefinedasconformancetorequirements,notas“goodness”or“elegance”.)。
四、质量也代表着它符合客户的需要(Qualityalsomeans“meetcustomerneeds”.)。
作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。
只有这些问题都解决了,软件产品的质量才可以说是上去了。
1.2.2测试任务
测试人员在软件开发过程中的任务:
1、寻找Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
1.2.3软件测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
在谈到软件测试时,引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中的观点:
(1)软件测试是为了发现错误而执行程序的过程;
(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。
但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。
通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。
同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
1.3软件测试流程
一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:
需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.
在进行有关问题阐述前,需要先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施、管理等。
测试流程就是指从软件测试开始到软件测试结束经过的一系列准备、执行、分析的过程。
测试流程并不是只存在于有完整测试团队的公司,它分布在每一个对软件执行测试的公司中,哪怕这个公司只有一个测试人员。
制定合理的测试流程需要考虑的因素很多,毕竟它是大家进行测试工作的依据,又需要理清和需求人员、开发人员、市场人员等多方人员的关系,而且公司不同侧重点又有所不同。
制定测试流程首先要清楚自己所在的公司正处在什么发展阶段,是处在最初的创业期还是已经度过了创业期希望通过测试来提高产品质量,以便取得更多的业务创造更大的效益。
为什么制定流程时要这么重视公司的发展情况呢。
其实公司的情况和制定测试流程有非常大的联系,公司的情况直接决定着公司对产品的要求,而测试部门一般来说是产品投入市场的最后一个关口,这也就等于公司的发展情况决定了公司对测试部门的要求。
开发软件前要先了解软件的需求,制定测试流程前当然也要了解清楚公司对测试部门的需求。
了解了公司的情况和要求后,就要根据这些要求结合制定者的测试知识和经验,制定即符合公司要求又能起到软件测试目的的软件测试流程。
当然这样做并不是说让软件测试向公司的一些不利于开展软件测试工作的现实情况妥协,只是根据公司的实际情况制定一些可以马上改变公司测试工作现状的流程。
制定软件测试流程要明确测试部门的职责。
经常会有测试人员抱怨自己在公司里就是一个打杂的,什么工作都要做,其实这就是职责不明确引起的问题,这样会很大程度打击测试人员的工作积极性影响工作情况进而影响大家对软件测试工作的看法。
制定软件测试流程不光要制定软件测试部门内部的工作流程,更要制定与开发部门、需求部门等外部部门的接口工作的流程,一旦项目在进度、功能上有了变化要及时和测试部门沟通,不要让测试部门成为最后一个知情人。
制定合理的软件测试流程是一门很深的学问,它需要制定者有丰富的软件测试理论知识,软件测试执行经验、管理经验以及沟通能力等等多方面的经验能力,还需要许多测试人员经过长时间的实践来验证完善。
1.4软件测试的内容
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
(Dotherightthing)
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
2.程序正确性的形式证明,即采用形式理论证明程序符号设计规约规定的过程;
3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
即保证软件以正确的方式来做了这个事件(Doitright)
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
第二章相关技术和工具介绍
2.1相关技术介绍
软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。
但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。
因此,这里只讨论几种常用的软件测试方法:
2.1.1黑盒测试
1、黑盒测试的定义
黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。
整个测试基于需求文档,看是否能满足需求文档中的所有要求。
黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过使用整个软件或某种软件功能来严格地测试来检测每个功能是否都能正常使用,而并没有通过检查程序的源代码或者很清楚地了解该软件或某种软件功能的源代码程序具体是怎样设计的。
测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。
在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。
“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
通常测试者在进行测试时不仅使用肯定出正确结果的输入数据,而且还会使用有挑战性的输入数据以及可能结果会出错的输入数据以便了解软件怎样处理各种类型的数据。
2、分类
侧重于软件功能的黑箱测试方法主要有:
功能测试(FunctionalityTest),可接受性测试(AcceptanceTest),用户界面(Userinterface或UI)测试,Adhoc一般指‘探讨或开放’型测试,边界条件测试(BoundaryCondition),性能测试(PerformanceTest),回归测试(RegressionTest),强力测试(StressTest),配置和安装测试(ConfigurationandSetupTest),兼容性测试(ComparabilityTest),国际化支持测试(InternationalSufficiency)以及本地化语言测试(Localization)。
功能测试:
验证测试软件功能能否正常按照它的设计工作。
看运行软件时的期望行为是否符合原设计。
比如,测试MicrosoftExcel插入->符号的功能包括测试能够在MicrosoftExcel所选单元格中正确地插入符号并且显示正确符号?
能否正确显示使用不同的字体的符号?
可接受性测试:
是在把测试的版本交付测试部门大范围测试以前进行的对最基本功能的简单测试。
因为在把测试的版本交付测试部门大范围测试以前应该先验证该版本对于所测试的功能基本上比较稳定。
必须满足一些最低要求。
比如不会很容易程序就挂起或崩溃。
如果一个新版本没通过可测试性的验证,就应该阻拦测试部门花时间在该测试版本上测试。
同时还要找到造成该版本不稳定的主要缺陷并督促尽快加以修正。
用户界面测试:
分析软件用户界面的设计是否合乎用户期望或要求。
它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息(Menu和Helpcontent)等方面的测试。
比如,测试MicrosoftExcel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。
‘探索或开放’型的测试:
不是按部就班的按照一个又一个正式的测试用例来进行,也不局限于测试用例特定的步骤。
这种测试是测试人员在理解该软件功能的基础上运用灵活多样的想象力和创造力去模拟用户的需求来使用该软件的多种功能。
通常涉及很多的测试用例或者通过更复杂的步骤来使用该软件。
边界条件测试:
是环绕边界值的测试。
通常意味着测试软件各功能是否能正确处理最大值,最小值或者所设计软件能够处理的最长的字符串等等。
性能测试是:
通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。
或者执行同样任务时新版本不比旧版本慢。
一般还检查系统记忆容量在运行程序时会不会流失(memoryleak)。
比如,验证程序保存一个巨大的文件新版本不比旧版本慢。
回归测试:
根据修复好了的缺陷再重新进行的测试。
目的在于验证以前出现过但已经修复好的缺陷不再重新出现。
一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。
通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。
因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。
所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。
因此应当鼓励对所有回归测试用例进行自动化。
强力测试:
它通常验证软件的性能在各种极端的环境和系统条件下是否还能正常工作。
或者说是验证软件的性能在各种极端环境和系统条件下的承受能力。
比如,在最低的硬盘驱动器空间或系统记忆容量条件下,验证程序重复执行打开和保存一个巨大的文件1000次后也不会崩溃或死机。
集成与兼容性测试:
验证该功能能够如预期的那样与其他程序或者构件协调工作。
兼容性经常意味着新旧版本之间的协调,也包括测试的产品与其它产品的兼容使用。
比如用同样产品的新版本时不影响与用旧版本用户之间保存文件,格式,和其他数据等操作。
装配/安装/配置测试:
验证软件程序在不同厂家的硬件上,所支持的不同语言的新旧版本平台上,和不同方式安装的软件都能够如预期的那样正确运行。
比如,把英文版的MicrosoftOffice2003安装在韩文版的WindowsMe上,再验证所有功能都正常运行。
国际化支持测试:
验证软件程序在不同国家或区域的平台上也能够如预期的那样运行,而且还可以按照原设计尊重和支持使用当地常用的日期,字体,文字表示,特殊格式等等。
比如,用英文版的WindowsXP和MicrosoftWord能否展示阿拉伯字符串?
用阿拉伯版的WindowsXP和阿拉伯版的MicrosoftWord能否展示阿拉伯字符串?
又比如,日文版的MicrosoftExcel对话框是否显示正确翻译的日语?
一旦来说执行国际化支持测试的测试人员往往需要基本上了解这些国家或地区的语言要求和期望行为是什么。
本地化语言测试:
要验证所有已计划要发布的不同语言版本软件如预期的那样被正确地翻译成当地语言。
这类测试一般包括验证菜单,对话框,出错信息,帮助内容等所有用户界面上的文字都能够显示正确翻译好的当地文字。
3、黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
4、黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
2.1.2白盒测试
1.定义白箱测试或白盒测试(White-boxtesting或glass-boxtesting)也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
“白盒”法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
但即使每条路径都测试了仍然可能有错误:
1)穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
2)穷举路径测试不可能查出程序中因遗漏路径而出错。
3)穷举路径测试可能发现不了一些与数据相关的错误。
白盒测试是通过程序的源代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 模板 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)