测试计划与软件缺陷第1章识别和描述缺陷_2上一章内容回顾•什么是软件•软件测试的产生、意义和概念–软件测试的产生–软件测试的意义–软件测试的定义–软件测试的目的–软件测试的现状与前景–测试与调试的区别•软件测试员必备的素质2/23本章学习目标•掌握识别和描述缺陷的方法3/23内容进度•缺陷的识别•再现与优化缺陷•怎样有效记录缺陷4/23缺陷的识别•什么是缺陷(defect)?–不满足用户确定需求–缺陷就是人们通常所说的bug5/23缺陷的识别•产生缺陷的原因是什么?–人员(用户、设计、开发、测试、技术支持等)之间的沟通交流不够,交流上有误解或者根本不进行交流–文档不完善甚至没有文档(尤其是国内中小软件企业)–需求不断的变化–参与人员的过度自信–程序设计本身有错误–软件复杂度大,缺陷很难避免(例如Windows、Word)–工期短,任务重,时间压力大–软件开发工具与系统软硬件的支持6/23缺陷的识别•软件技术人员发现了问题,判断这个问题是否是缺陷的依据是什么?–通过参考文档来确认缺陷•需求规格说明书•概要设计、详细设计•用户手册•…–通过了解软件行业标准、行业背景(或参考同类典型软件)来发现缺陷–通过沟通来确认和识别缺陷(问开发人员、问需求人员、问用户……)7/23缺陷的识别小结•什么是缺陷•产生缺陷的原因•判断缺陷的方法8/23内容进度•缺陷的识别•再现与优化缺陷•怎样有效记录缺陷9/23再现与优化缺陷•再现(又叫重现)与优化缺陷的必要性–备注:优化缺陷并不是指优化缺陷本身,而是优化缺陷的再现步骤–为什么要再现与优化缺陷?–关于软件中“随机”出现的缺陷如何处理?10/23再现与优化缺陷•再现与优化缺陷的方法–不要想当然的接受任何假设–查找依赖关系和竞争条件的问题–与压力和负荷相关的边界条件软件缺陷、内存泄漏和数据溢出缺陷的发生有一定的前提条件(清空缓存)–状态缺陷仅在特定软件状态中显露(顺序)–考虑资源依赖性,内存、网络、硬件共享的相互作用–关注硬件的失效问题,硬件可能不按照预定方式工作(硬盘坏道)–关注软件的失效问题,对缺陷的修改可能会引发新的缺陷–从阅读缺陷报告入手,提高编写缺陷报告的能力(借鉴别人)11/23再现与优化缺陷小结•再现与优化缺陷的必要性•再现与优化缺陷的方法12/23内容进度•缺陷的识别•再现与优化缺陷•怎样有效记录缺陷13/23怎样有效记录缺陷•保证重现缺陷–判断一个缺陷报告撰写好坏的简单方法:让非缺陷报告撰写者(技术人员)依据缺陷报告重现缺陷,如果能简单、迅速的重现缺陷,表明缺陷报告较好。14/23怎样有效记录缺陷•分析故障——使用最少步骤重现缺陷–减少开发人员重现缺陷的时间–使开发人员更准确的定位缺陷15/23怎样有效记录缺陷•包含所有重现缺陷的必要步骤–测试人员假定常用的操作步骤开发人员不一定熟悉,省略了必要的步骤常常造成开发人员无法重现缺陷。16/23怎样有效记录缺陷•方便阅读•举例:–概述:使用“记事本”仅保存“联通”二字后再打开该文件,出现乱码。–描述步骤:1.点击“开始”-―程序”-―附件”-―记事本”打开记事本软件;2.仅输入“联通”二字后,点击“文件”-―保存”;3.在打开的“另存为”对话框中保存文件后退出(文件名、保存位置任意);4.打开保存的文件,出现乱码,不是“联通”二字。17/23怎样有效记录缺陷•一个缺陷一个报告,为什么呢?•举例(一个缺陷报告中两个缺陷):–概述:使用“记事本”仅保存“联通”二字后再打开该文件,出现乱码,而且“另存为”对话框中默认文件后缀写成了“.txk‖。–描述步骤:1.点击“开始”-―程序”-―附件”-―记事本”打开记事本软件;2.仅输入“联通”二字后,点击“文件”-―保存”;3.在打开的“另存为”对话框中保存文件后退出(文件名、保存位置任意),默认文件后缀应该是“.txt‖,实际写成了“.txk‖;(假设)4.打开保存的文件,出现乱码,不是“联通”二字。–这样有什么不良后果?–答案:步骤3出现的缺陷对于开发人员而言容易修复,而步骤4出现的缺陷可能很难修复,那么如果开发人员修复了步骤3出现的缺陷而没有修复步骤4出现的缺陷,这个缺陷报告是解决了还是没解决?18/23怎样有效记录缺陷•注意自己的语气•举例:–概述:“记事本”中“另存为”对话框中默认文件后缀写成了“.txk‖。–描述步骤:1.点击“开始”-―程序”-―附件”-―记事本”打开记事本软件;2.仅输入“联通”二字后,点击“文件”-―保存”;3.在打开的“另存为”对话框中,默认文件后缀应该是“.txt‖,你们开发人员是不是用脚后跟考虑问题的,居然写成了“.txk‖;19/23怎样有效记录缺陷•值得注意的经验20/23怎样有效记录缺陷小结•保证重现缺陷•分析故障——使用最少步骤复现故障•包含所有重现缺陷的必要步骤•方便阅读•尽量简单——一个缺陷一个报告•注意自己的语气•值得注意的经验21/23缺陷报告案例分析22/23本章内容总结23/23掌握识别和记录缺陷的方法