您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 第05-1章 单元测试
1软件测试技术主讲人:刘伟2单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程3软件测试生命周期4软件测试的过程被测模块单元测试设计信息集成测试被测模块单元测试被测模块单元测试测试过的模块确认测试系统测试软件需求其它系统元素装配好的软件确认的软件可运行的软件5单元测试:UnitTesting目标:检验程序最小单元有无错误(接口、数据结构、边界、覆盖、逻辑)检验单元编码与设计是否吻合时机:编码完成后,首先要实施的测试方法:静态测试、白盒测试责任:开发工程师6集成测试:IntegrationTesting目标:检验组成系统的模块接口有无错误代码实现的系统设计与需求定义是否吻合时机:主要的单元测试完成后,经常与单元测试同步进行方法:黑盒测试责任:开发工程师、测试工程师7系统测试:SystemTesting目标:检验组成整个系统的代码、以及系统的软硬件配合有无错误代码实现的系统与用户需求是否吻合检验系统的文档等各种是否完整、有效模拟验收测试的要求,检查系统是否符合用户的验收标准8系统测试:SystemTesting时机:多数集成测试完成后方法:黑盒测试责任:测试工程师9系统测试:SystemTesting(稳定期测试)目标:度量是否可以结束测试时机:传统的系统测试完成后方法:黑盒测试责任:测试工程师10验收测试:AcceptanceTesting目标:使客户验收签字系统是否符合事先约定的验收标准时机:系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用方法:黑盒测试责任:产品经理或其他高级经理、开发工程师、测试工程师、用户11回归测试:RegressionTesting目标:验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。时机:每次错误修改之后,或者版本更新之后方法:白盒测试/黑盒测试责任:开发工程师、测试工程师12缺陷跟踪:DefectTracing目标:确保所有发现的错误被正确记录、分发、评估、关闭、统计时机:从错误发现开始到错误关闭为止,每次错误状态修改之后方法:缺陷跟踪系统责任:开发工程师、测试工程师、测试经理、用户13单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程14什么是单元测试单元测试——最小粒度的测试检验程序最小单位有无错误。一般在编码之后,由开发人员完成。单元:软件开发中的最小的独立部分C语言中的单元:函数或者是子过程C++语言中的单元:类15测试的目的1、软件测试是为了发现错误而执行程序的过程。2、测试是为了证明程序有错,而不是证明程序无错。3、一个好的测试用例在于他能发现至今未发现的错误。4、一个成功的测试是发现了至今未发现的错误的测试。16单元测试的主要目的验证代码是与设计相符的;跟踪需求和设计的实现;发现设计和需求中存在的错误;发现在编码过程中引入的错误。17单元测试尽早发现错误18对单元测试的错误认识单元测试浪费了太多的时间;单元测试仅仅是证明这些代码做了什么;很棒的编程人员的工作不需要单元测试;不管怎样,集成测试将会抓住所有的bug;单元测试的成本效率不高。19单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程20单元测试的重点测试所有的循环测试所有的基本路径测试条件语句测试数据结构测试异常情况和出错处理21单元测试环境桩(Stub)模块驱动(Driver)模块22单元测试分析从五个角度来考虑23角度1、模块接口检查进出模块的数据是否正确Checklist:模块的实际输入与定义的输入是否一致(个数、类型、顺序)模块中对于非内部/局部变量是否合理使用使用其他模块时,是否检查可用性和处理结果使用外部资源时,是否检查可用性并及时释放资源(内存、文件、硬盘、端口等)其他24角度2、局部数据结构检查局部数据结构能否保持完整性Checklist:变量从来没有被使用(可能别的地方使用了错误的变量名)变量没有初始化错误的类型转换数组越界非法指针变量或函数名称拼写错误(使用了外部变量或函数)其他25角度3、独立路径检查由于计算错误、判定错误、控制流错误导致的程序错误Checklist:死代码错误的计算优先级精度错误(比较运算错误、赋值错误)表达式的不正确符号(、=、=、==、!=)循环变量的使用错误(错误赋值)其他26角度4:出错处理检查内部错误处理设施是否有效Checklist:是否检查错误出现(资源使用前后、其他模块使用前后)出现错误,是否进行错误处理(抛出错误、通知用户、进行记录)错误处理是否有效(在系统干预前处理、报告和记录的错误真实详细)其他27角度5:边界条件检查临界数据是否正确处理Checklist:普通合法数据是否正确处理普通非法数据是否正确处理边界内最接近边界的(合法)数据是否正确处理边界外最接近边界的(非法)数据是否正确处理其他28单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程29单元测试技术静态分析技术白盒测试技术30静态分析定义:不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态测试技术。方法:走读:WalkThrough审查:Inspection评审:Review31静态分析-走读定义:开发组内部进行的,采用讲解、讨论和模拟运行的方式进行的查找错误的活动。经验:限时:避免跑题参加人员:经验丰富的开发人员、和本模块相关的开发人员、本项目组的新人)由本模块的开发者进行讲解、回答问题并记录检查要点:逻辑错误、代码标准/规范/风格32静态分析-走读走读过程步骤1:计划走读会议步骤2:评审产品步骤3:进行走读步骤4:解决缺陷步骤5:记录走读步骤6:返工产品33白盒测试覆盖率统计程序插桩变异测试、其他测试方法驱动+桩……34单元测试用例设计定义:依据模块的内部结构,设计测试用例的过程。主要采用白盒测试技术,关注逻辑覆盖原则:1、保证没有死代码(保证一个模块中的每个独立路径都可能被使用到)2、保证对所有的逻辑值都测试true和false3、在上下边界和合法的范围内运行所有的循环4、确保内部数据结构的有效性和完整性35单元测试用例设计思路为系统运行设计用例为正向测试设计用例为逆向测试设计用例为满足特殊需求设计用例为代码覆盖设计用例为覆盖率指标完成设计用例36单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程37单元测试过程测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪针对测试目标,规定测试任务、资源分配、人员角色、进度安排等。根据测试计划,设计测试用例,包括:测试步骤、测试场景、测试代码、测试数据(包括预期结果)。根据测试计划,配置测试环境,并手动或者自动执行测试设计。根据测试计划,忠实地记录测试执行的过程和结果。分析测试记录,如果发现与预期结果不同,确定并重现缺陷。检查测试设计是否全部执行完毕,缺陷是否全部关闭。记录、分发、评估、关闭缺陷报告。分析测试过程和缺陷报告,评估测试质量和测试效果,给出是否通过测试的建议。38相应过程的测试文档测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪测试计划文档测试用例文档测试记录文档缺陷跟踪报告测试总结报告
本文标题:第05-1章 单元测试
链接地址:https://www.777doc.com/doc-3392492 .html