《移动互联应用与工程实践——基于供应链管理系统的测试》由会员分享,可在线阅读,更多相关《移动互联应用与工程实践——基于供应链管理系统的测试(26页珍藏版)》请在金锄头文库上搜索。
1、 毕业设计(论文)题目:移动互联应用与工程实践基于供应链管理系统的测试 专 业:移动互联应用技术 目录摘要5第一章 引言61.1软件测试的发展历史61.2软件测试的背景和意义61.3软件测试的理论基础71.3.1软件测试的定义71.3.2软件测试的目的81.3.3软件测试的内容8第二章 相关技术和工具介绍92.1相关技术介绍92.1.1白盒测试92.1.2黑盒测试92.1.3等价类划分102.1.4边界值分析法102.1.5因果图方法102.1.6错误推测法112.1.7灰盒测试112.1.8静态测试112.1.9动态测试112.1.10单元测试122.1.11集成测试122.1.12确认测试
2、122.1.13系统测试122.1.14验收测试132.1.15回归测试132.2相关工具132.2.1 LR13第三章 需求分析143.1需求分析143.2供应链管理系统的目的作用143.3供应链管理系统需求分析报告153.4功能点列表163.4.1登录界面163.4.2首页163.4.3个人收藏夹163.4.4采购管理173.4.5报账管理183.4.6物料管理183.4.7供应商管理183.4.8其他功能19第四章 项目软件测试的过程194.1测试计划194.1.1编写目的194.1.2项目背景204.1.3供应链管理系统的介绍204.1.4测试范围214.1.5测试方法及对应工具214
3、.1.6测试环境214.1.7各阶段完成准则214.2测试内容214.2.1UI测试214.2.2功能性测试234.3测试报告274.3.1编写目的274.3.2概述284.3.3测试环境284.3.4参考资料284.3.5缺陷报告284.3.6测试总结30第五章 结论与展望30参考文献31致谢31摘要随着中国IT行业的发展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。近年来,由于软件错误而造成经济损失,导致严重后果的事例屡见不鲜。因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重
4、要手段。 在软件行业日新月异的发展进程中,软件的品牌以及种类已经到了数不胜数的地步,而软件测试已成为其中一个不可分割的部分。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。本软件的开发过程完全遵循软件开发流程来完成的。经历了需求分析阶段,数据库设计阶段,界面开发阶段,编码阶段,最后通过软件测试,完成整个软件的开发。 关键字:软件测试、需求分析、测试方法第一章 引言1.1软件测试的发展历史20世纪60年代(软件工程建立前),为表明程序正确而进行测试。1972年在北卡罗来纳大学举行了首届软件测试正式会议。1975年Jo
5、hnGoodEnough和SusanGerhart在IEEE上发表了测试数据选择的原理的文章,软件测试被确定为一种研究方向。1979年,GlenfordMyers的软件测试艺术,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。.20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。.1983年,BillHetzel在软件测试完全指南中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20世纪90年代,测试工具盛行起来。1996年提出的测试能力成熟度TCM
6、M(TestingCapabilityMaturityModel),测试支持度TSM(TestabilitySupportModel)、测试成熟度TMM(TestingMaturityModel)。到了2002年Rick和Stefan在系统的软件测试一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。1.2软件测试的背景和意义 随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软
7、件质量问题已成为所有使用软件和开发软件的人关注的焦点。由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。如何防止和减少这些可能存在的问题呢?回答是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。1.3软件测试的理论基础 1.3.1软件测试的定义 软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目 的在于检验它是否满足规定的需求或弄清预期结果
8、与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)完全度(completeness)和质量(quality)的软件过程;是SQA(softwarequalityassurance)的重要子域。 (1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。1.3.2软件测试的目的 如果测试的目的是为
9、了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。在谈到软件测试时,引用GrenfordJ.Myers在TheArtofSoftwareTesting一书中的观点:(1)软件测试是为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅
10、凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。1.3.3软件测试的内容 验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Dotherightthing) 1.确定软件生存周期中的一个给
11、定阶段的产品是否达到前阶段确立的需求的过程; 2.程序正确性的形式证明,即采用形式理论证明程序符号设计规约规定的过程; 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。 确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Doitright) 1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性; 2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应
12、该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。第二章 相关技术和工具介绍2.1相关技术介绍1.从是否关心软件内部结构和具体实现的角度划分:白盒测试、黑盒测试、灰盒测试(按测试分类)2.1.1白盒测试又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。2.1.2黑盒测试又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数
13、据与输出数据的对应关系出发进行的测试。黑盒测试方法主要有等价类划分、边界值分析、因果图法、错误推测等,主要用于软件确认测试。2.1.3等价类划分 等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.2.1.4边界值分析法 边界值分析法:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.2.1.5因果图方法
14、 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).2.1.6错误推测法错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.其基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.2.1.7灰盒
15、测试是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。2.从是否执行代码角度:静态测试、动态测试2.1.8静态测试指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。2.1.9动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。3.从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试2.1.10单元测试又称模块测试,是针对软件设计的最小单位-程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。2.1.11集成测试又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上