软件测试毕业论文
下载后可任意编辑 摘要 随着中国IT行业的进展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。近年来,由于软件错误而造成经济损失,导致严重后果的事例屡见不鲜。因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重要手段。 在软件行业日新月异的进展进程中,软件的品牌以及种类已经到了数不胜数的地步,而软件测试已成为其中一个不可分割的部分。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和进展,由此软件测试技术职业也同步完善和健全起来。本软件的开发过程完全遵循软件开发流程来完成的。经历了需求分析阶段,数据库设计阶段,界面开发阶段,编码阶段,最后通过软件测试,完成整个软件的开发。 测试软件使用Qucktest Professional(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.1 QTP6 2.2.2 LR8 第三章 需求分析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(software quality assurance)的重要子域。 (1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; (2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性; (3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。 1.2.2 软件测试的目的 假如测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。假如测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会常常用到的商业假设。在谈到软件测试时,引用Grenford J. Myers在《The Art of Software Testing》一书中的观点: (1)软件测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误; (3)一个好的测试用例是在于它能发现至今未发现的错误; (4)一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采纳的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。 1.2.3 软件测试的内容 验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程; 2.程序正确性的形式证明, 即采纳形式理论证明程序符号设计规约规定的过程; 3.评市、审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行推断和提出报告。 确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right) 1.静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性; 2.动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。 软件测试的对