软件测试毕业论文之欧阳化创编.docx
- 文档编号:29503951
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:57
- 大小:190.93KB
软件测试毕业论文之欧阳化创编.docx
《软件测试毕业论文之欧阳化创编.docx》由会员分享,可在线阅读,更多相关《软件测试毕业论文之欧阳化创编.docx(57页珍藏版)》请在冰豆网上搜索。
软件测试毕业论文之欧阳化创编
摘要
时间:
2021.02.06
创作:
欧阳化
随着中国IT行业的发展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。
近年来,由于软件错误而造成经济损失,导致严重后果的事例屡见不鲜。
因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重要手段。
在软件行业日新月异的发展进程中,软件的品牌以及种类已经到了数不胜数的地步,而软件测试已成为其中一个不可分割的部分。
新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
本软件的开发过程完全遵循软件开发流程来完成的。
经历了需求分析阶段,数据库设计阶段,界面开发阶段,编码阶段,最后通过软件测试,完成整个软件的开发。
测试软件使用QucktestProfessional(QTP)软件,该软件是一个比较全面的,能对被测软件比较完美分析。
并且能从中测试出被测软件的一些列的问题。
而傻瓜进销存系统是一款提供进货、出货以及库存管理一款全方位软件,是做的比较好的一款软件,它的开发,不仅为使用商提供了极大的便宜,也使得办公的效率明显的得到提高。
傻瓜进销存项目简单实用为目标,以通用型为基础的进销存财务一体化管理软件,可以用最简洁的方法掌控货物与财务的变化,我承担的的工作就是对傻瓜进销存的采购和库存功能模块进行测试,傻瓜进销存的采购和库存方面包括供应商、采购入库、采购退货、库存查询、采购订单、采购入库查询、采购退货查询、调库管理、库存盘点、仓库资料、报溢管理、商品拆分管理、报损管理、商品合并管理。
关键字:
软件测试、需求分析、测试用例、QTP测试、
摘要1
第一章引言3
1.1软件测试的背景和意义3
1.2软件测试的理论基础3
1.2.1软件测试的定义3
1.2.2软件测试的目的3
1.2.3软件测试的内容4
第二章相关技术和工具介绍5
2.1相关技术介绍5
2.1.1白盒测试5
2.1.2黑盒测试5
2.1.3等价类划分5
2.1.4边界值分析法5
2.1.5因果图方法6
2.1.6错误推测法6
2.2相关工具介绍6
2.2.1QTP6
2.2.2LR8
第三章需求分析10
第四章项目软件测试的过程13
4.1测试计划13
4.1.1编写目的13
4.1.2背景13
4.1.3傻瓜进销存软件介绍13
4.1.4参考资料13
4.2测试内容13
4.2.1测试条件14
4.2.2测试资料14
4.2.3测试培训16
4.3测试设计说明17
4.3.1输入17
4.3.2输出17
4.3.3过程18
4.4评价准则18
4.5测试用例18
4.6测试总结32
4.7缺陷报告32
第五章项目自动化工具测试34
5.1用QTP进行功能测试34
第六章总结41
致谢42
参考文献43
第一章引言
1.1软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。
软件质量问题已成为所有使用软件和开发软件的人关注的焦点。
由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。
如何防止和减少这些可能存在的问题呢?
回答是进行软件测试。
测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。
新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
1.2软件测试的理论基础
1.2.1软件测试的定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)完全度(completeness)和质量(quality)的软件过程;是SQA(softwarequalityassurance)的重要子域。
(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
1.2.2软件测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
在谈到软件测试时,引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中的观点:
(1)软件测试是为了发现错误而执行程序的过程;
(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。
但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。
通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。
同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
1.2.3软件测试的内容
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
(Dotherightthing)
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
2.程序正确性的形式证明,即采用形式理论证明程序符号设计规约规定的过程;
3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
即保证软件以正确的方式来做了这个事件(Doitright)
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
第二章相关技术和工具介绍
2.1相关技术介绍
按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试;
2.1.1白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。
2.1.2黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。
2.1.3等价类划分
等价类划分:
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
2.1.4边界值分析法
边界值分析法:
边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
2.1.5因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).
2.1.6错误推测法
错误推测法:
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.其基本思想:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.
2.2相关工具介绍
2.2.1QTP
QTP是quicktestProfessional的简称,是一种自动测试工具。
使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。
因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等
1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如:
.NET的,Java的,SAP的,TerminalEmulator的等等,分别用于各自类型的产品测试。
默认提供Web,ActiveX和VB。
2)QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多(如相比SilkTest采用C语言)。
VBScript毕竟是一种松散的、非严格的、普及面很广的语言。
3)QTP支持录制和回放的功能。
录制产生的脚本,可以拿来作为自己编写脚本的template。
录制时,还支持一种lowerlevel功能,这个对于QTP不容易识别出来的对象有用,不过它是使用坐标来标识的,对于坐标位置频繁变动的对象,采用这种方式不可行。
另外,QTP的编辑器支持两种视图:
Keyword模式和Expert模式。
Keyword模式想法是好的,提供一个描述近似于原始测试用例的、跟代码无关的视图(我基本很少用,除了查看、管理当前test中各个action的完整流程),而Expert就是代码视图,一般编写脚本都在这个区域。
4)一个有用的工具:
ObjectSpy,可以用来查看Run-timeobject和Testobject属性和方法。
5)QTP通过三类属性来识别对象:
a)Mandatory;b)Assitive;c)Ordinalidentifiers。
大部分情况下,通过对象的一些特定属性值就可以识别对象(类型a)。
这些属性可以通过Tools->ObjectIdentification定义。
6)ObjectRepository(OR)是QTP存储对象的地方。
测试脚本运行后,QTP根据测试脚本代码,从这个对象库中查找相应对象。
每个Action可以对应有一个或者多个OR,也可以设置某个OR为sharable的,这样可以供其他Action使用。
注意,使用QTP录制功能时,默认将被测对象放在localOR中,可以通过Resources->ObjectRespository,选择Local查看。
7)说到QTP的要点,不得不说Action。
Action是QTP组织测试用例的具体形式,拥有自己的DataTable和ObjectRepository,支持Input和output参数。
Action可以设置为share类型的,这样可以被其他test中的Action调用(注意:
QTP是不支持在一个test中调用另外一个test的,只有通过sharableaction来调用)。
8)如3)所述,一个test中,多个action的流程组织,只有通过Keyword视图查看和删除,在Expert视图中没有办法看到。
9)调用Action可以通过菜单Insert->Callto***来实现。
QTP提供三种类型的调用方式:
a)calltonewAction,在当前test中创建一个新的Action;b)calltoCopyofAction;c)calltoexistingaction,调用一个re-usableaction,如果这个re-usableaction来自另外一个test,将以只读的方式插入到当前test中。
10)QTP提供excel形式的数据表格DataTable,可以用来存放测试数据或参数。
DataTable有两种类型:
global和local。
QTP为DataTable提供了许多方法供存取数据,在对测试代码进行参数化的时候,这些方法非常有用。
11)环境变量(EnvironmentVariables)。
在一个test中,环境变量可以被当前test中所有action共享。
环境变量也有两种类型:
buildin和userdefined。
用户自定义的环境变量可以指向一个XML文件,这样可以实现在众多test之间共享变量。
12)QTP可以引用外部的VBS代码库,通过Settings-》Resource加入,也可以ExecuteFile命令在代码中直接执行。
这种VBS库可以为所有action和test共享。
13)QTP默认为每个test提供一个测试结果,包括Passed,Failed,Done,Warning和information几种状态类型,可以进行对结果Filter。
但是,只能为每个test产生一个testingresult,不能为多个testing产生一个总的testingresult.
MercuryQuickTestProfessional甚至可以使新测试人员在几分钟内提高效率。
您只需通过按“记录”按钮,并使用执行典型业务流程的应用程序即可创建测试脚本。
系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。
用户可以在关键字视图中轻松修改、删除或重新安排测试步骤。
QuickTestProfessional也加快了更新流程。
当测试中应用程序出现变动(例如“登录”按钮重命名为“登入”)时,您可以对共享对象库进行一次更新,然后此更新将传播到所有引用该对象的脚本。
您可以将测试脚本发布到MercuryTestDirector,使其他QA团队成员可以重复使用您的测试脚本,从而消除了重复工作。
2.2.2LR
MercuryLoadRunner是一种预测系统行为和性能的负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
MercuryInteractive的LoadRunner能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
虚拟用户生成器用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。
.Controller用于组织、驱动、管理和监控负载测试。
.负载生成器用于通过运行虚拟用户生成负载。
.Analysis有助于您查看、分析和比较性能结果。
.Launcher为访问所有LoadRunner组件的统一界面。
LR在安装和卸载问题上的一点总结在安装Loaderunnner过程中也许你经常遇到,提示无法安装的情况,我也遇到过相关问题,于是查阅了相关资料,总结了一下,好东西不敢独享,拿出来和同行一起交流
(一)提示:
"thelinkfile....maybecorruptedorhasillegatedlinkstring"的,提示重复多次均无法安装。
原因:
你的Loaderunner的安装文件夹名写成中文了,造成Lr的安装教本无法识别路径,最终导致不断有这样的错误提示。
解决方案:
把安装文件的目录名改为非中文就可以了。
(二)没法完全卸载要想把LR的老版本完全卸载,正确的步骤是:
1.停止所有的运行的LR的进程和服务(includingtheController,VuGen,Analysis,ortheLoadRunnerAgentProcess/Service)2.备份已有的脚本,你的脚本有可能在你的默认安装路径下3.在控制面板的添加删除程序中,删除LR,并重启机器4.手动删除所有LR的文件夹,包括您的开始菜单里的LR快捷方式5.如果你的版本是6.0系列的,删除Borland文件夹(通常在C:
\BorlandorC:
\BDE目录下)6.搜索wlrun.*、vugen.*,除了安装文件夹中的文件,其他的都删除7.打开注册表,找到如果只安装了MI公司的LoadRunner这一个产品,请删除:
HKEY_LOCAL_MACHINE\SOFTWARE\MercuryInteractiveHKEY_CURRENT_USER\SOFTWARE\MercuryInteractive否则请删除:
HKEY_LOCAL_MACHINE\SOFTWARE\MercuryInteractive\LoadRunnerHKEY_CURRENT_USER\SOFTWARE\MercuryInteractive\LoadRunner删除所有和LR有关的数值,除了你的License2或License。
8.清空回收站实现以上步骤后,即可放心安装了,切记在重装后,一定要重启机器,因为一些必要信息要写入注册表。
(三)卸载后,执行安装过程时出现"licensesecurityviolation.Operationisnotallowed"提示信息,安装失败解决方案:
1.进入一台Loadrunner运行正常的电脑(安装路径要和你的相同)进入注册表,导出以下两个目录:
HKEY_CURRENT_USER\Software\MercuryInteractiveHKEY_LOCAL_MACHINE\SOFTWARE\MercuryInteractive2.回到刚才安装不成功的电脑,进入注册表导入刚才这两个文件。
3.再次执行安装。
建议:
如果有用Ghost提前做Ghost,或者为系统设置还原点
第三章需求分析
在目前超市中,商品的管理至关重要。
这里对商品的管理包括进、销、存3个方面。
可以建立一个超市进销存管理系统,对超市的管理者、营业员、库存管理员等减轻其工作量,便于经营管理。
功能需求:
①采购管理功能模块:
采购计划、采购订单、采购入库、采购退货、应付款、采购付款。
②销售管理功能模块:
库存查询、销售订单、销售出库、销售、顾客、销售出库查询、销售退货查询、历史查询、POS查询、积分兑现、积分兑现查询、积分兑现设置、应收款、销售收款。
③库存管理功能模块:
调库管理、库存盘点、库存查询、报溢管理、报损管理、商品拆分管理、商品合并管理、仓库资料、调库查询、变动库存查询、库存不足预警查询、报损报溢查询、商品拆分合并查询。
管理库存商品
▶实时性、准确性,任何时间都能看到准确的现库存数量▶方便准确的库存盘点,轻松查找数量不对的商品▶商品销售快速方便,打印美观的小票或单据,样式支持自定义
管理财务和欠款
▶欠款(即应收应付款)的管理一目了然,支持多票一次性付款▶支持期初欠款,支持预收预付款管理▶整体财务数据准确,支持财务交接班,查询统计方便直观
管理会员和营销
▶灵活设置会员等级,销售按等级折扣,自动跟踪历史价▶销售后自动计算会员积分,支持积分兑现,查看积分记录▶生日提醒、短信群发、优惠抹零等营销方式一应俱全
功能需求:
1
功能
精简版
标准版
增强版
基础平台
数据库平台
Access
小型数据库
Access
小型数据库
MSDE
大型数据库
数据安全
数据安全性
比较安全
比较安全
非常安全强力推荐
资料
供应商、客户、商品、仓库、商品分类、员工...等等
√
√
√
进销存
采购、销售、退货、库存调拨、报损报溢、库存盘点、库存预警
√
√
√
进销存
拆分、合并、交接班、分批盘点
1
√
√
营销促销
会员管理、生日提醒、短信群发、自动积分、自动折扣、积分兑现、优惠抹零、POS销售、历史价跟踪
√
√
√
可选功能
双单位管理、预付款管理、商品属性管理、序列号管理、订单管理
1
√
√
财务管理
进销存自动进入财务、现金银行、费用管理、明细查询、汇总查询
1
√
√
应收应付
对供应商预付、对顾客预收款、退预付款、使用预付款、预付款往来记录
√
√
√
预收预付
对供应商预付、对顾客预收款、退预付款、使用预付款、预付款往来记录
1
√
√
报表
销售曲线、销售排行、商品明细账、日月统计、进销存统计、营业员提成、自定义打印单、导出Excel...等
√
√
√
数据库
多仓库管理、多帐套、数据库自动备份、清空数据库、升级数据库
√
√
√
其他功能
多用户管理、菜单权限、业务权限设置、万能查询、万能汇总、商品图片
√
√
√
超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。
面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。
它最主要的特点是能够实时的和准确的控制店内的销售情况。
如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。
顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。
第四章项目软件测试的过程
4.1测试计划
4.1.1编写目的
通过测试,傻瓜进销存系统强大而完善的功能,描述需要测试的特性、测试的方法、测试环境的规划、测试用例的设计方法、明确测试策略。
4.1.2背景
说明:
a.本测试计划是为傻瓜进销存而规划的;
b.该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划之前必须完成的各项工作。
4.1.3傻瓜进销存软件介
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 毕业论文 欧阳 创编