培训教材2-软件单元测试.ppt
《培训教材2-软件单元测试.ppt》由会员分享,可在线阅读,更多相关《培训教材2-软件单元测试.ppt(54页珍藏版)》请在三一办公上搜索。
1、软件测试理论单元测试,课程内容,1.为什么做单元测试2.单元测试的概念和内容3.如何做单元测试4.单元测试的难点和对策,程序员的难题,开发的模块出现问题,很难定位,已经熬了几个通宵了!,怎么办?,刚改正了一个BUG,过没几天,又发现了新问题!,程序总在出问题,联调了几个月,还是问题不断!,高质量的程序,高质量的程序取决于以下几个方面:1.高质量的设计2.规范的编码3.有效的测试,程序员的职责,我是程序员,除了编码我还需做些什么?,程序员的职责,传统的开发观念?1.开发人员的任务是完成编程,让系统正确运行起来。2.程序调试通过任务就完成了。3.自信自己的程序不会出错。,实际:1.开发人员的任务是
2、完成程序,直到交付和维护。2.人的失误是不可避免的,无论多小心,都会有错误。,小插曲,你以前做过程序开发工作么?你是怎样自测的?效果如何?,现实中的发现,编码阶段引入的缺陷远远多于其它阶段系统测试发现的缺陷大多数是编码缺陷测试版本频繁,测试和项目进度被无休止的拖延。Why?,开发部的压力,现状:一个承担多个角色的团队,参与或部分参与高层设计;承担低层设计;程序实现;承担低层测试;,设计,编码,测试,开发部的测试,效果不好:为什么?没有时间测试不知道怎样测试不好组织缺乏方法和工具这种情况下,往往把单元测试的任务堆积到系统测试阶段,问题,如果把单元测试的任务堆积到系统测试阶段,将会怎样?大量的故障
3、堆积在项目中后期:项目后10%的工作,占用了项目90%的时间。故障难以定位故障飘忽不定开发、测试人员疲于奔命,软件缺陷的修复费用,单元测试(why),最高的成本收益比减少联调和后续测试的时间BUG更容易定位更有信心去修改老代码,业界平均水平,商业软件单元测试工作量/总工作量=8.3%编码工作量/总工作量=16.6%军工软件单元测试工作量/总工作量=10.1%编码工作量/总工作量=18.1%,业界标杆,单元测试(25%)审查评审(20%)设计(17%)编码(14%)需求(7%)系统测试(4%)计划和跟踪(4%)发布后缺陷0.06 Defects/KLOC单元测试发现的缺陷密度:31 defect
4、s/KLOC,主题内容,1.为什么做单元测试2.单元测试的概念和内容3.如何做单元测试4.单元测试的难点和对策,单元是什么?,(IEEE)软件单元指软件设计说明中一个可独立测试的元素,是程序中一个逻辑上独立的部分,它不能再分解为其他软件成分。(实践中)软件单元指软件源代码中单个的函数,源文件或类。,单元测试是什么?,单元测试,对单个的软件单元或者一组相关的软件单元所进行的测试,是代码级的测试。Unit:函数,源代码文件,类把测试比作是清洗一台机器:系统测试就是清除机器外面的尘土。集成测试就是保证机器各个部件的接头处干净。单元测试就是清洗各个零件的内部。,单元测试,应用,输入,潜在错误,对象,单
5、元测试,测试一个类,That is easy!,单元测试原则,应该尽早地进行软件单元测试。应该保证单元测试的可重复性。尽可能地采用测试自动化的手段来支持单元测 试活动。,单元测试内容,单元功能测试单元接口测试单元局部数据结构测试单元中重要的执行路径测试单元的各类错误处理路径测试单元边界条件测试,单元测试内容,开发测试,设计评审,代码走查,单元测试,集成测试,面向单元的白盒测试(单元覆盖率测试),狭义的单元测试内容,面向单元的黑盒测试(单元功能测试),内存和运行错误分析(内存泄漏、越界,异常),代码运行性能profile(函数效率和瓶颈分析),单元测试(who),单元测试可以是开发者本人执行,也
6、可以是独立的专业测试人员执行。两者各有优势。建议开发人员必须完整地做单元测试,同时测试人员针对重点模块实施独立的单元测试。,主题内容,1.为什么做单元测试2.单元测试的概念和内容3.如何做单元测试4.单元测试的难点和对策,单元测试过程,单元测试过程包括8个活动:确定单元测试计划确定待测特性制订单元测试规程设计测试套件构建测试套件执行测试套件检查终止条件评估测试结果,确定单元测试计划,确定单元测试范围尽可能争取完全地覆盖(原则上应该做到完全覆盖)参考:通常以下情况必须安排单元测试:a)新模块b)新增代码比例超过20c)核心模块,确定单元测试计划,单元测试充分性要求例如:语句行覆盖率=100%;分
7、支覆盖率85%测试覆盖率要求是测试充分性的一个方面,除此之外,在单元测试中还应考虑每个软件特性的测试覆盖,如函数性能。,确定单元测试计划,确定终止条件 确定单元测试过程的正常终止条件。该终止条件应该包括了对测试充分性要求的满足。(100%代码行覆盖,85%分支覆盖)识别可能造成单元测试过程异常终止的条件(如发现重大的设计错误、到达进度期限等)。,确定单元测试计划,确定单元测试资源估算进行测试活动所需的资源。应考虑测试人员、硬件、通信或系统软件、测试工具和其它资源。识别需要进行准备或申请的资源(如定制的测试工具),并做出相应的安排。指明总体进度计划基于资源和项目计划等方面的要求,确定单元测试活动
8、的总体进度计划。,确定待测特性,研究待测特性要从研究单元的需求开始功能需求、非功能需求(如性能或设计约束等)、与待测单元相关的任何使用或操作过程单元的状态识别针对状态机测试单元的数据特性识别单元的输入输出数据分析以上研究分析对于制定单元测试方案和指导测试用例的设计很重要待测特性分析过程中还有可能发现单元需求上的缺陷。,制定单元测试规程,输入单元测试计划、待测特性分析结果、项目总体进度计划识别可重用技术(待查)通过待测特性分析,可从用例库中识别出可以重用的测试用例和测试规程,以减少重复工作。资源详细列举单元测试所需资源,包括人员、设备、工具、环境等,进度计划详细的进度计划,包括风险分析和应对措施
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 培训教材 软件 单元测试
链接地址:https://www.31ppt.com/p-6559649.html