收藏 分销(赏)

软件测试毕业设计样本.doc

上传人:二*** 文档编号:4572038 上传时间:2024-09-30 格式:DOC 页数:37 大小:670.53KB
下载 相关 举报
软件测试毕业设计样本.doc_第1页
第1页 / 共37页
本文档共37页,全文阅读请下载到手机保存,查看更方便
资源描述
阜阳师范学院 本科毕业设计 题目:班级管理系统测试 学 号:姓 名: 年 级: 系 别: 专 业:完毕日期: 指引教师: 班级管理系统测试 姓名: 学号: 指引教师: 摘要 在软件生命周期各个阶段,均有也许会产生差错。虽然在每个阶段结束之前均有严格复审,以盼望能尽早发现错误,但是经验表白审查并不能发现所有差错。如果在软件投入生产性运营之前,没有发现大某些错误,则这些错误迟早会在运营过程中暴露出来,甚至导致严重后果,等到那时去改这些错误代价会很高。测试目就是在软件投入生产性运营之前,尽量地发现软件中错误,测试是对软件规格阐明、设计和编码最后复审,因此软件测试贯穿在整个软件开发期全过程。要对软件进行测试一方面要明白软件要实现功能,否则无法对软件进行测试。本文在分析软件测试办法、目、流程图等基本概念基本上,重点简介了对自己开发班级管理系统测试。 核心词:安装测试、功能测试、性能测试、单元测试 1. 软件测试概念 1.1软件测试定义 软件测试(Software testing)是软件生存期(Software life cycle)中一种重要阶段,是软件质量保证核心环节。通俗地讲,软件测试就是在软件投入运营前,对软件需求分析、设计规格阐明和编码进行最后复审活动。1983年IEEE提出软件工程术语中给软件测试下定义是:“使用人工或自动手段来运营或测定某个软件系统过程,其目在于检查它与否满足规定需求或弄清预期成果与实际成果之间差别”。这个定义明确指出:软件测试目是为了检查软件系统与否满足需求。 从顾客角度来看,普遍但愿通过软件测试暴露软件中隐藏错误和缺陷,因此软件测试应当是“为了发现错误而执行程序过程”。或者说,软件测试应当依照软件开发各阶段规格阐明和程序内部构造而精心设计一批测试用例(即输入数据及其预期输出成果),并运用这些测试用例去运营程序,以发现程序错误或缺陷。 1.2 软件测试目、原则、基本规定 1.2.1 测试目 1.检查开发出来软件与否符合顾客需求。 2.尽量多地发现程序中错误和缺陷。 1.2.2 基本规定(测试人员) 1.理解软件总体设计思路和详细设计过程 2.对整套软件数据流程要十分清晰 1.2.3 测试用例 由测试数据和相应预期成果构成。在测试之前,一定要设计好测试数据和相应预期成果,这是测试用例基本原则和进行有效测试最佳途径之一 1.2.4 测试原则 1. 依照测试数据来拟定预期输出成果。 2. 彻底检查每个测试成果(对的、错误),并对测试成果进行认真和仔细分析。 3. 对非法和非预期输入数据也要像合法和预期输入数据同样编写测试用例。 4. 以挑剔眼光来看待每个程序模块,不要设想程序中不会浮现错误。程序做了它不该做事情,虽然是对的,咱们也应当把它视为错误。 5. 程序模块经测试后,残存错误数目普通与已发现错误数目成正比例。也就是说,一种模块中发现错误越多,那么它也许残存错误数目也就越多,对这样程序模块,一定要进行严格和更彻底测试。 6. 要保存测试用例。 2. 软件测试办法 2.1 软件测试基本办法 软件测试办法和技术是各种各样。对于软件测试技术,可以从不同角度加以分类: 从与否需要执行被测软件角度,可分为静态测试和动态测试。从测试与否针对系统内部构造和详细实现算法角度来看,可分为白盒测试和黑盒测试。 2.1.1 黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具备功能,通过测试来检测每个功能与否都能正常使用,在测试时,把程序看作一种不能打开黑盒子,在完全不考虑程序内部构造和内部特性状况下,测试者在程序接口进行测试,它只检查程序功能与否按照需求规格阐明书规定正常使用,程序与否能恰本地接受输入数据而产生对的输出信息,并且保持外部信息(如数据库或文献)完整性。黑盒测试办法重要有等价类划分、边界值分析、因—果图、错误推测等,重要用于软件确认测试。 “黑盒” 法着眼于程序外部构造、不考虑内部逻辑构造、针对软件界面和软件功能进行测试。“黑盒” 法是穷举输入测试,只有把所有也许输入都作为测试状况使用,才干以这种办法查出程序中所有错误。事实上测试状况有无穷各种,人们不但要测试所有合法输入,并且还要对那些不合法但是也许输入进行测试。 2.1.2 白盒测试   白盒测试也称构造测试或逻辑驱动测试,它是懂得产品内部工作过程,可通过测试来检测产品内部动作与否按照规格阐明书规定正常进行,按照程序内部构造测试程序,检查程序中每条通路与否均有能按预定规定对的工作,而不顾它功能,白盒测试重要办法有逻辑驱动、基路测试等,重要用于软件验证。   “白盒”法全面理解程序内部逻辑构造、对所有逻辑途径进行测试。“白盒”法是穷举途径测试。在使用这一方案时,测试者必要检查程序内部构造,从检查程序逻辑着手,得出测试数据。贯穿程序独立途径数是天文数字。但虽然每条途径都测试了依然也许有错误。第一,穷举途径测试决不能查出程序违背了设计规范,即程序自身是个错误程序。第二,穷举途径测试不也许查出程序中因漏掉途径而出错。第三,穷举途径测试也许发现不了某些与数据有关错误。 2.1.3 ALAC(Act-like-a-customer)测试 软件有好多错误 图ALAC测试 客户普通会遇到错误只占很小比例 改进测试有效性,使测试针对哪些客户最容易遇到错误 图(1)   ALAC测试是一种基于客户使用产品知识开发出来测试办法。ALAC测试是基于复杂软件产品有许多错误原则。最大受益者是顾客,缺陷查找和改正将针对哪些客户最容易遇到错误。                                           2.2 单元测试基本办法   单元测试对象是软件设计最小单位——模块。单元测试根据是详细设计描述,单元测试应对模块内所有重要控制途径设计测试用例,以便发现模块内部错误。单元测试多采用白盒测试技术,系统内各种模块可以并行地进行测试。 2.2.1 单元测试任务   单元测试任务涉及:1 模块接口测试;2 模块局部数据构造测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块各条错误解决通路测试。   模块接口测试是单元测试基本。只有在数据能对的流入、流出模块前提下,其她测试才故意义。测试接口对的与否应当考虑下列因素:   1. 输入实际参数与形式参数个数与否相似和属性与否匹配;   2. 输入实际参数与形式参数量纲与否一致;   3. 调用其她模块时所给实际参数个数与否与被调模块形参个数相似;   4. 调用其她模块时所给实际参数属性与否与被调模块形参属性与否匹配;   5. 调用其她模块时所给实际参数量纲与否与被调模块形参量纲一致;   6. 调用预定义函数时所用参数个数、属性和顺序与否对的;   7. 与否存在与当前入口点无关参数引用;   8. 与否修改了只读型参数;   9. 对全程变量定义各模块与否一致;   10.与否把某些约束作为参数传递。   如果模块内涉及外部输入输出,还应当考虑下列因素:   1. 文献属性与否对的;   2. OPEN/CLOSE语句与否对的;   3. 格式阐明与输入输出语句与否匹配;   4. 缓冲区大小与记录长度与否匹配;   5. 文献使用前与否已经打开;   6. 与否解决了文献尾;   7. 与否解决了输入/输出错误;   8. 输出信息中与否有文字性错误; 检查局部数据构造是为了保证暂时存储在模块内数据在程序执行过程中完整、对的。局部数据构造往往是错误根源,应仔细设计测试用例,力求发现下面几类错误:   1. 不适当或不相容类型阐明;   2. 变量无初值;   3. 变量初始化或缺省值有错;   4. 不对的变量名(拼错或不对的地截断);   5. 浮现上溢、下溢和地址异常。   除了局部数据构造外,如果也许,单元测试时还应当查清全局数据对模块影响。 在模块中应对每一条独立执行途径进行测试,单元测试基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不对的比较和不恰当控制流导致错误。此时基本途径测试和循环测试是最惯用且最有效测试技术。计算中常用错误涉及:   1. 误解或用错了算符优先级;   2. 混合类型运算;   3. 变量初值错;   4. 精度不够;   5. 表达式符号错。   比较判断与控制流经常紧密有关,测试用例还应致力于发现下列错误:   1. 不同数据类型对象之间进行比较;   2. 错误地使用逻辑运算符或优先级;   3. 因计算机表达局限性,盼望理论上相等而事实上不相等两个量相等;   4. 比较运算或变量出错;   5. 循环终结条件或不也许浮现;   6. 迭代发散时不能退出;   7. 错误地修改了循环变量。 一种好设计应能预见各种出错条件,并预设各种出错解决通路,出错解决通路同样需要认真测试,测试应着重检查下列问题:   1. 输出出错信息难以理解;   2. 记录错误与实际遇到错误不相符;   3. 在程序自定义出错解决段运营之前,系统已介入;   4. 异常解决不当;   5. 错误陈述中未能提供足够定位出错信息。   边界条件测试是单元测试中最后,也是最重要一项任务。众所周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有也许发现新错误。 2.2.2 单元测试过程   普通以为单元测试应紧接在编码之后,当源程序编制完毕并通过复审和编译检查,便可开始单元测试。测试用例设计应与复审工作相结合,依照设计信息选用测试数据,将增大发现上述各类错误也许性。在拟定测试用例同步,应给出盼望成果。   应为测试模块开发一种驱动模块(driver)和(或)若干个桩模块(stub),下图显示了普通单元测试环境。驱动模块在大多数场合称为“主程序”,它接受测试数据并将这些数据传递到被测试模块,被测试模块被调用后,“主程序”打印“进入-退出”消息。   驱动模块和桩模块是测试使用软件,而不是软件产品构成某些,但它需要一定开发费用。若驱动和桩模块比较简朴,实际开销相对低些。遗憾是,仅用简朴驱动模块和桩模块不能完毕某些模块测试任务,这些模块单元测试只能采用下面讨论综合测试办法。   提高模块内聚度可简化单元测试,如果每个模块只能完毕一种,所需测试用例数目将明显减少,模块中错误也更容易发现。                                                    图(2) 2.3 综合测试基本办法 时常有这样状况发生,每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。重要因素是,模块互相调用时接口会引入许多新问题。例如,数据通过接口也许丢失;一种模块对另一模块也许导致不应有影响;几种子功能组合起来不能实现主功能;误差不断积累达到不可接受限度;全局数据构造浮现错误,等等。综合测试是组装软件系统测试技术,按设计规定把通过单元测试各个模块组装在一起之后,进行综合测试以便发现与接口关于各种错误。   某设计人员习惯于把所有模块按设计规定一次所有组装起来,然后进行整体测试,这称为非增量式集成。这种办法容易浮现混乱。由于测试时也许发现一大堆错误,为每个错误定位和纠正非常困难,并且在改正一种错误同步又也许引入新错误,新旧错误混杂,更难断定出错因素和位置。与之相反是增量式集成办法,程序一段一段地扩展,测试范畴一步一步地增大,错误易于定位和纠正,界面测试亦可做到完全彻底。下面讨论两种增量式集成办法。 2.3.1 自顶向下集成   自顶向下集成是构造程序构造一种增量式方式,它从主控模块开始,按照软件控制层次构造,以深度优先或广度优先方略,逐渐把各个模块集成在一起。深度优先方略一方面是把主控制途径上模块集成在一起,至于选取哪一条途径作为主控制途径,这多少带有随意性,普通依照问题特性拟定。以图(3)为例,若选取了最左一条途径,一方面将模块M1,M2,M5和M8集成在一起,再将M6集成起来,然后考虑中间和右边途径。广度优先方略则否则,它沿着控制层次构造水平地向下移动。依然如下图为例,它一方面把M2、M3和M4与主控模块集成在一起,再将M5和M6 和其她模块集成起来。   自顶向下综合测试详细环节为:   1. 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入所有桩模块用实际 模块代替;   2. 根据所选集成方略(深度优先或广度优先),每次只代替一种桩模块;   3. 每集成一种模块及时测试一遍;   4. 只有每组测试完毕后,才着手替代下一种桩模块;   5. 为避免引入新错误,须不断地进行回归测试(即所有或某些地重复已做过测试)。               图(3)   从第二步开始,循环执行上述环节,直至整个程序构造构造完毕。上图(3)中,实线表达已某些完毕构造,若采用深度优先方略,下一步将用模块M7替代桩模块S7,固然M7自身也许又带有桩模块,随后将被相应实际模块一一代替。   自顶向下集成长处在于能尽早地对程序重要控制和决策机制进行检查,因而较早地发现错误。缺陷是在测试较高层次模块时,低层解决采用桩模块代替,不能反映真实状况,重要数据不能及时回送到上层模块,因而测试并不充分。解决这个问题有几种办法,第一种是把某些测试推迟到用真实模块代替桩模块之后进行,第二种是开发能模仿真实模块桩模块;第三种是自底向上集成模块。第一种办法又回退为非增量式集成办法,使错误难于定位和纠正,并且失去了在组装模块时进行某些特定测试也许性;第二种办法无疑要大大增长开销;第三种办法比较切实可行,下面专门讨论。 2.3.2 自底向上集成   自底向上测试是从“原子”模块(即软件构造最低层模块)开始组装测试,因测试到较高层模块时,所需下层模块功能均已具备,因此不再需要桩模块。   自底向上综合测试环节分为: 1. 把低层模块组织成实现某个子功能模块群(cluster); 2. 开发一种测试驱动模块,控制测试数据输入和测试成果输出;   3. 对每个模块群进行测试;   4. 删除测试使用驱动模块,用较高层模块把模块群组织成为完毕更大功能新模块群。   从第一步开始循环执行上述各环节,直至整个程序构造完毕。   图(4)阐明了上述过程。一方面“原子”模块被分为三个模块群,每个模块群引入一种驱动模块进行测试。因模块群1、模块群2中模块均从属于模块Ma,因而在驱动模块D1、D2去掉后,模块群1与模块群2直接与Ma接口,这时可对Ma、D3被去掉后,M3与模块群3直接接口,可对Mb进行集成测试,最后Ma、Mb和 Mc所有集成在一起进行测试。 自底向上集成办法不用桩模块,测试用例设计亦相对简朴,但缺陷是程序最后一种模块加入时才具备整体形象。它与自顶向综合测试办法优缺陷正好相反。因而,在测试软件系统时,应依照软件特点和工程进度,选用恰当测试方略,有时混和使用两种方略更为有效,上层模块用自顶向下办法,下层模块用自底向上办法。   此外,在综合测试中特别要注意核心模块,所谓核心模块普通都具备下述一或各种特性:①相应几条需求;②具备高层控制功能;③复杂、易出错;④有特殊性能规定。核心模块应尽早测试,并重复进行回归测试。                    图(4)  2.4 确认测试基本办法    通过综合测试之后,软件已完全组装起来,接口方面错误也已排除,软件测试最后一步——确认测试即可开始。确认测试应检查软件能否按合同规定进行工作,即与否满足软件需求阐明书中确认原则。 2.4.1 确认测试原则   实现软件确认要通过一系列黑盒测试。确认测试同样需要制定测试筹划和过程,测试筹划应规定测试种类和测试进度,测试过程则定义某些特殊测试用例,目在阐明软件与需求与否一致。无论筹划还是过程,都应当着重考虑软件与否满足合同规定所有功能和性能,文档资料与否完整、精确人机界面和其她方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)与否令顾客满意。   确认测试成果有两种也许,一种是功能和性能指标满足软件需求阐明规定,顾客可以接受;另一种是软件不满足软件需求阐明规定,顾客无法接受。项目进行到这个阶段才发现严重错误和偏差普通很难在预定工期内改正,因而必要与顾客协商,谋求一种妥善解决问题办法。 2.4.2 配备复审   确认测试另一种重要环节是配备复审。复审目在于保证软件配备齐全、分类有序,并且涉及软件维护所必要细节。 2.4.3 α、β测试   事实上,软件开发人员不也许完全预见顾客实际使用程序状况。例如,顾客也许错误理解命令,或提供某些奇怪数据组合,亦也许对设计者自认明了输出信息困惑不解,等等。因而,软件与否满足顾客规定,应由顾客进行一系列“验收测试”。验收测试既可以是非正式测试,也可以有筹划、有系统测试。有时,验收测试长达数周甚至数月,不断暴露错误,导致开发延期。一种软件产品,也许拥有众多顾客,不也许由每个顾客验收,此时多采用称为α、β测试过程,以盼望发现那些似乎只有最后顾客才干发现问题。   α测试是指软件开发组织内部人员模仿各类顾客行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试核心在于尽量逼真地模仿实际运营环境和顾客对软件产品操作并尽最大努力涵盖所有也许顾客操作方式。通过α测试调节软件产品称为β版本。紧随其后β测试是指软件开发组织各方面典型顾客在寻常工作中实际使用β版本,并规定顾客报告异常状况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。 2.5 系统测试基本办法    计算机软件是基于计算机系统一种重要构成某些,软件开发完毕后应与系统中其他成分集成在一起,此时需要进行一系列系统集成和确认测试。对这些测试详细讨论已超过软件工程范畴,这些测试也不也许仅由软件开发人员完毕。在系统测试之前,软件工程师应完毕下列工作:  (1) 为测试软件系统输入信息设计出错解决通路;  (2) 设计测试用例,模仿错误数据和软件界面也许发生错误,记录测试成果,为系统测试提供经验和协助;  (3) 参加系统测试规划和设计,保证软件测试合理性。 系统测试应当由若干个不同测试构成,目是充分运营系统,验证系统各部件与否都可以正常工作并完毕所赋予任务。下面简朴讨论几类系统测试。 2.5.1 恢复测试   恢复测试重要检查系统容错能力。当系统出错时,能否在指定期间间隔内修正错误并重新启动系统。恢复测试一方面要采用各种办法逼迫系统失败,然后验证系统与否能尽快恢复。对于自动恢复需验证重新初始化(reinitialization)、检查点(checkpointing mechanisms)、数据恢复(data recovery)和重新启动 (restart)等机制对的性;对于人工干预恢复系统,还需估测平均修复时间,拟定其与否在可接受范畴内。 2.5.2 安全测试   安全测试检查系统对非法侵入防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。 2.5.3 强度测试   强度测试检查程序对异常状况抵抗能力。强度测试总是迫使系统在异常资源配备下运营。 2.5.4 性能测试   对于那些实时和嵌入式系统,软件某些虽然满足功能规定,也未必可以满足性能规定,虽然从单元测试起,每一种测试环节都包括性能测试,但只有当系统真正集成之后,在真实环境中才干全面、可靠地测试运营性能系统性能测试是为了完毕这一任务。性能测试有时与强度测试相结合,经常需要其她软硬件配套支持。 3. 软件测试误区 随着软件规模不断扩大,软件设计复杂限度不断提高,软件开发中浮现错误或缺陷机会越来越多。同步,市场对软件质量重要性结识逐渐增强。因此,软件测试在软件项目实行过程中重要性日益突出。但是现状是与软件编程比较,软件测试地位和作用,还没有真正受到注重,对于诸多人(甚至是软件项目组技术人员)还存在对软件测试结识误区,这进一步影响了软件测试活动开展和真正提高软件测试质量。 3.1 误区之一:软件开发完毕后进行软件测试 人们普通以为,软件项目要通过如下几种阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。因而,以为软件测试只是软件编码后一种过程。这是不理解软件测试周期错误结识。 软件测试是一种系列过程活动,涉及软件测试需求分析,测试筹划设计,测试用例设计,执行测试。因而,软件测试贯穿于软件项目整个生命过程。在软件项目每一种阶段都要进行不同目和内容测试活动,以保证各个阶段对的性。软件测试对象不但仅是软件代码,还涉及软件需求文档和设计文档。软件开发与软件测试应当是交互进行,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么测试时间将会很短,测试覆盖面将很不全面,测试效果也将大打折扣。更严重是如果此时发现了软件需求阶段或概要设计阶段错误,如果要修复该类错误,将会耗费大量时间和人力。 3.2 误区之二:软件发布后如果发现质量问题,那是软件测试人员错 这种结识容易打击软件测试人员积极性。软件中错误也许来自软件项目中各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,由于从主线上讲,软件测试不也许发现所有错误。从软件开发角度看,软件高质量不是软件测试人员测出来,是靠软件生命周期各个过程中设计出来。浮现软件错误,不能简朴地归结为某一种人责任,有些错误产生也许不是技术因素,也许来自于混乱项目管理。应当分析软件项目各个过程,从过程改进方面寻找产生错误因素和改进办法。 3.3 误区之三:软件测试规定不高,随便找个人都行 诸多人都以为软件测试就是安装和运营程序,点点鼠标,按按键盘工作。这是由于不理解软件测试详细技术和办法导致。随之软件工程学发展和软件项目管理经验提高,软件测试已经形成了一种独立技术学科,演变成一种具备巨大市场需求行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计办法都在不断更新,需要掌握和学习诸多测试知识。因此,具备编程经验程序员不一定是一名先进测试工程师。软件测试涉及测试技术和管理两个方面,完全掌握这两个方面内容,需要诸多测试实践经验和不断学习精神。 3.4  误区之四:软件测试是测试人员事情,与程序员无关 开发和测试是相辅相成过程,需要软件测试人员、程序员和系统分析师等保持密切联系,需要更多交流和协调,以便提高测试效率。此外,对于单元测试重要应当由程序员完毕,必要时测试人员可以协助设计测试用例。对于测试中发现软件错误,诸多需要程序员通过修改编码才干修复。程序员可以通过有目分析软件错误类型、数量,找出产生错误位置和因素,以便在此后编程中避免同样错误,积累编程经验,提高编程能力. 3.5 误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试 这是不注重软件测试体现,也是软件项目过程管理混乱体现,必然会减少软件测试质量。一种软件项目顺利实现需要有合理项目进度筹划,其中涉及合理测试筹划,对项目实行过程中任何问题,都要有风险分析和相应对策,不要由于开发进度延期而简朴缩短测试时间、人力和资源。由于缩短测试时间带来测试不完整,对项目质量下降引起潜在风险,往往导致更大挥霍。克服这种现象最佳办法是加强软件过程筹划和控制,涉及软件测试筹划、测试设计、测试执行、测试度量和测试控制. 4. 软件测试流程图 随着软件规模不断扩大,软件设计复杂限度也不断提高,软件开发过程中浮现错误或缺陷机会越来越多。因而,软件测试在软件项目实行过程中重要性日益突出,而软件测试是一种繁琐工作仅仅借助于人工测试是远远不够,还必要依托软件流程图,才干更好软件测试活动开展和真正提高软件测试质量。 设计&编码阶段测试工作流程 上一阶段 需求有关文档 概要设计 评 审 详细设计 单元测试方案 编 码 单元测试 测试抽检 单元测试报告 进入下一阶段 集成测试方案 自动测试方案 抽象出验证原则 以模块为单位,不断循环 5. 软件测试实行和软件测试报告 5.1单元测试 1)单元是软件系统构成某些,它具备如下特点: ⒈ 它是由程序员负责完毕工作。 ⒉ 有一份详细阐明书,它涉及:输入定义,输出定义,数据库定义,接口阐明。 ⒊ 它是一种可辨认和可见程序构成某些,并容易结合程序。 ⒋ 能单独编译、汇编、测试。 ⒌ 它是程序必要某些。 2)私有单元与公开单元 从概念上可将单元分为私有单元与公开单元两类。私有单元是非正式、变化、模糊、不完整、混乱、独立、不协调。公开单元是正式、固定、详细、完整、条理、联系、协调。单元是私有即未通过严格测试,尚未交付使用单元。单元是公开即已经严格测试及确认,可以与别单元结合或调用单元。单元测试目和效果是将私有单元转化公有单元,且使用至少费用和最有效办法完毕从私有到公有转化。 3)单元测试目的 单元测试目的是证明程序有错误,而不是证明程序没有错误。测试可以由程序员自己进行,也可以由进行独立测试,即由非程序员进行测试。但独立测试对单元级测试会有一定困难,还要制定详细目的和办法。如在目的制定期,还可分为重要目的,次要目的和辅助目的以及程序员和她们保证部门共同实行对单元测试。 重要目的:与否实现阐明书规定,文档与否完整而故意义,测试筹划遵守与否严格,错误与否完全改正了。 次要目的:设计风格与否保持统一。 辅助目的:如错误类型记录,办法有效性,它们会为管理员提供信息。 4)单元测试组织 单元测试是程序或软件测试基层工作,由于单元是整个程序基本构成,其质量直接影响程序更大成分甚至全局。在单元测试时应一方面提供下列文档并按步进行: ⒈ 提供正式阐明书。 ⒉ 制定单元测试筹划和文献。 ⒊ 先测试可测试代码。 ⒋ 程序员先测试私有单元再进行正式单元测试。 ⒌ 验收和条件验收(进度和质量间冲突)。 单元测试后可进行程序元素测试,即对由单元构成各种程序进行测试。 5)单元测试环境 单元测试是在一定环境下进行,这些环境可以是真实也可以是模仿。 ⒈ 真实环境。真实环境是单元程序实际使用,这只有在很少数环境状况下能提供,如单元程序属于一类嵌入性模块。 ⒉ 模仿环境。模仿环境是单元测试惯用,模仿环境可以在程序开发初期进行,并运用工具对单元程序进行测试和排错,工具自身也是一种模仿环境。但所有采用模仿办法对单元进行测试,存在缺陷是某些真实难以实现,从而失去真实性,可采用办法进行回归测试,从而发现单元测试模仿办法也许浮现不精确,甚至错误之处。 6)单元测试办法 ⒈ 静态测试。采用人工阅读、分析、检查程序源代码方式,来发现程序错误,它根据提供单元测试对象文档,从功能和构造两方面来对程序进行检查,并且着重于程序构造检查。在静态文档是重要根据,但在检查程序同步也是对文档实行检查过程,在继续对程序检查中又会发现文档中存在问题和不确切,甚至错误之处。 ⒉ 动态测试 采用机器运营实例方式来发现程序错误。它根据提供单元测试对象文档,从功能和构造两方面来对程序进行检查,并着重于程序功能检查。还可尽量运用辅助测试工具,进行语法检查、报表生成、数据构造、算法对的性等检查。普通采用静态测试和动态测试互相结合、互相补充对单元测试是必要,特别不要轻视静态测试,它有助于提高人们程序设计水平和严谨工作态度。 ⒊ 复审。复审是保证测试质量重要手段,由程序员参加复审小组对文档、测试过程和成果应进行按筹划检查并验证其对的性,因而应事先制定复审筹划,规定审查内容和方式。复审方式和级别亦可以依照状况和需要有所区别 5.2 集成测试 集成测试又称整体测试或结合测试,是软件测试中一种重要环节。 ⒈ 集成测试任务 集成测试是已完毕程序元素级测试条件下证明程序元素间一致性。集成是指取出一组程序元素,把它们集成为一种更大自身无矛盾元素。而整体测试就是要检查结合过程中错误,证明程序元素一致性。整体测试不同于对普通元素测试,是对正在结合元素测试,即对结合过程测试。 ⒉ 集成测试条件 集成测试前提是: (1) 所有被结合子元素已通过测试,子元素自身一致和对的。 (2) 研究子元素间直接或间接一致性。 (3) 测试和排错交替进行,获得一种互相一致子元素结合。 (4) 对新元素进行测试。 (5) 重复上述过程,直到完毕整个系统测试和结合。 ⒊ 集成测试技巧 集成测试将对结合元素间调用关系、数据依赖和元素接口进行测试,它可以应用下述技术: (1) 调用图/树准备。涉及每个元素和每个更低元素所做各次调用,并且用图型表达出来,以便于理解元素间调用关系。 (2) 数据依赖图准备。所有数据分析是整体测试一某些,它运用数据字典,拟定数据依赖关系。为了测试全程数据,可运用所谓数据依赖图,它描绘出程序元素所引用各种数据,并扩大到该元素下层元素影响数据,以阐明程序元素与数据元素之间依从关系。 (3) 加工依赖图。研究加工对数据对象变化,加工依赖图涉及了各种加工对所有元素操作关系。 (4) 接口和接口原则。接口控制文档记录了元素之间接口信息,它应遵守严格接口原则。接口原则规定:数据项传送方式、数据对象按类型调用顺序规定、元素格式规定以及其他规定。 ⒋ 集成测试内容 (1) 程序元素中数据项相容性,它涉及了数据项表达范畴相容性、类型相容性、表达方式一致性、重要数据量范畴或个数相容性、数据对象顺序对的性、传递办法对的性、参数使用合理性等。 (2) 对调用图使用中,应精确记录有关信息,以检核对调用图途径覆盖状况。 (3) 在尽量避免设计多入口和多余口程序元素同步,应对此类元素进行认真测试,检查多入口元素每个入口点,并验证选用入口对的和途径覆盖。多余口有时是有必要,但是也应在整体测试中对其进行测试。 ⒌ 集成测试策落 集成测试可以采用如下: (1) 自顶向下。自顶向下集成测试是从程序顶部开始,把顶部元素作为单元进行测试,它所调用子程序可设成虚元素,即一种简朴代替元素,当测试完毕后,再以真实元素加入,并重新进行对加入后整个元素测试;重复上述过程,直到所有测试完毕加入元素及其整体为止。 (2) 自底向上。自底向上集成测试是从程序构造底层开始,把被集成元素逐级进行合并测试,直到顶层元素。 (3) 随机测试。 随机测试是对系统进行整体测试一种办法,但不是唯一办法,它是在事先未做周密分析和筹划条件下,运营和执行某一类程序,或运用现成随手可得程序加载到系统并执行,从而进行随机测试,以求发现程序某些错误,这种测试是正式测试前先导性测试,当发现某些错误并排除后再进行正式测试。随机测试有助于拟定整体程序框架,如测试程序与否能完毕输入、存储、控制和输出基本功能。 5.3 系统测试 系统测试是软件测试中最后、最完整测试,它是在元素级测试和整体基本上进行,它是从全局来考虑软件系统功能和性能规定。 (1) 系统测试任务。 (2) 完毕系统功能验证。它由软件人员和质量保证人员共同研究进行。 (3) 完毕系统验收测试。它由顾客或顾客代表在正式制定验收测试筹划状况下进行。 (4) 系统测试筹划。测试筹划制定是执行功能测试和验收测试基本保证,它们必要有正式测试文档,没有正式文档就不会有正式测试。测试文档应当是有规范且内容丰富资料,普通包括三大某些: A 某些:综述某些,涉及:词汇集,各种阐明书,测试设计原则和商定,测试运营顺序、办法、图表等。 B 某些:测试数据库和代码某些,涉及测试数据库文档和交叉引用索引,测试数据库生成程序,驱动程序和装配生成程序,测试配备阐明书,测试硬件和软件工具,验证硬、软件,支持性工具等。 测试筹划应自顶向下设计,并且文档化。 C 某些:实际测试阐明书,涉及:测试构造与范畴构成,典型测试集构成,预测试设计和记录,测试筹划和生产率。 系统测试实行 系统测试实行普通按下述环节进行: (1) 功能测试。通过大量精心测试实例对系统功能做全面系统测试。 (2) 性能测试。用特定测试实例验证系统性能规定。 (3) 背景测试。用实际负载代替无负载状况测试,即真实运营环境测试。 (4) 配备测试。提供所有逻辑式物理设备,在指令设备组合状况下,实现所有功能测试。 (5) 繁忙测试。系统所有资源处在高度繁忙状况下一种“破坏”性测试,以验证系统可靠性。 (6) 恢复测试。测试系统对故障恢复能力,测试故障后整体和控制可恢复性。 (7) 安全性测试。测试系统对错误操作或非法顾客恶意破坏安全保证可靠限度。 其中功能测试、性能测试和繁忙测试对于所有系统都是必要,其他测试同样也是需要,但依照系统不同规定,也许会更有侧重。 系统测试涉及功能测试和验收测试两种测试,其中功能测试是一种按测试筹划和测试文档严格进行过程,而验收测试则是一种具备合同执行和法律意义活动。为顺利进行系统测试普通需要在测试文档指引下,先进行必要测试,并在测试前组织测试人和见证人班子,测试指挥人和见证人是测试核心人员。 软件测试是软件开发重要构成环节,没有测试就没有合格和高质量软件,而软件测试投入,涉及人员和资金投入是巨大,并且具备很高组织管理和技术难度,如何组织测试人员队伍和如何设计和积累测试实例等,但又是必要进行和完毕重要工作。 5.4 测试报告 测试报告是测试阶段工作总结,测试报告内容重要涉及: ·引言。 简介测试目、范畴、测试角度和原则、测试成果概要。 ·测试筹划和配备。涉及系统配备、运营配备、测试原则和评价等。 ·接口测试。描述对系统接口测试和成果。 ·功能测试。描述对系统各种功能测试和成果。 ·开发测试。涉及正常数据和过载数据测试,以及在错误数据下测试和成果。 ·交付使用准备。涉及交付使用软件目录,留待解决问题,质量检查成果,对测试成果进行归纳,给出系统可接受限度。 ·附录。涉及参照文献、异常状况小结、测试数据等。 6. 班级管理系统测试 咱们对软件进行测试一方面明白软件要实现功能,按照软件测试文档进行否则无法对软件进行测试。班级管理系统实现功能: 1)学生信息管理,涉及: ① 学生信息录入、修改、删除。 ② 学生信息查询:学号、姓名。 2)学生成绩管理,涉及: ① 学生成绩查询、添加、修改、删除。 ② 计算班级每门课最低分、最高分、平均分、每个学生总分。 ③ 计算班级每门课先进率和先进人数(>90)、良好率和良好人数(>75)、不及格率和不及格人数。 3) 课程管理,涉及: ① 课程表查询 ② 课程添加、删除、修改 现以班级管理系统成绩评估为例进行测试。 6.1 应用程序测试 界面是软件与顾客交互最直接层,界面好坏决定顾客对软件第一印象。并且设计良好界面可以引导顾客自己完毕相应操作,起到向导性作用。同步界面犹如人面孔,具备吸引顾客直接优势。设计合理界面能给顾客带来轻松愉悦感受和成功感觉,相反由于界面设计失败,让顾客有挫败感,再实用强大功能都也许在顾客畏惧与诸东流。班级管理系统登录界面和主界面就是很和谐界面,如下所示: 6.1.1 易用性测试 按钮名称易懂,用词精确,放弃模楞两可字眼,要与同一界面上其他按钮易于区别,能 望文知意。抱负状况是顾客不用查阅协助就能懂得该界面功能并进行有关对的操作。如班级管理系统模块成绩评估是一种非常易用如上所示:顾客输入学号单击“记录”可以查询自己各科成绩和总分,当选种单选框“科目”一门课和在“级别”单选框可以计算先进人数和先进率、平均分、最低分、最高分等。 6.1.2 规范性测试 普通界面设计都按Windows界面规范来
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服