- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
--静态测试技术 软件测试方法和技术 董瑞志 /~nature_dong Email: hello_u@ MSN: nature_dong@ 联系电话内容提要 静态测试技术 桌面检查 代码审查 代码走查 技术评审 静态测试的内容 需求定义的静态测试 设计文档的静态测试 源代码的静态测试 静态测试的定义 不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。 静态测试可以手工进行,也可以借助软件工具自动进行。 静态测试的特点 静态测试不必动态的执行程序,也就是不必进行测试用例设计和结果判读等工作; 静态测试可以由人手工方式进行,充分发挥人的优势,行之有效。 解铃还须系铃人,由于人的思维及交流障碍而造成的逻辑错误,有人通过逻辑思维去解决,是一种非常有效的方法; 特别是在充分利用人思维互补的情形,检验出错误的水平非常高。 静态测试实施不需要特别条件,容易开展 静态测试的内容 主要由人工进行 代码审查(Code Inspection) 代码走查(Walkthrough) 桌面检查 技术审查 主要由软件工具自动进行的静态分析 广义的理解,还包括软件需求分析和设计阶段的技术评审 代码审查和代码走查 由若干程序员与测试员组成一个小组,集体阅读并讨论程序,或者用“脑”执行并检查程序的过程 分两步完成 预先作一定的准备工作 然后举行会议进行讨论 会议的主题是发现错误而不是纠正错误 桌面检查 程序员阅读自己所编的程序 缺点: 第一,由于心理上的原因,容易对自己的程序的偏爱,没有发现错误的欲望(这和已经知道了程序错了读程序找错误所在极为不同) 第二,由于人的思维定势,有些习惯性的错误自己不易发现 第三,如果根本对功能理解错了,自己不易纠正 所以这种方法效率不高,可作为个人自我检查程序中明显的疏漏或笔误 代码审查与代码走查的优点 不仅比桌面检查优越得多,而且与动态测试的方法相比也有很多优点 第一,使用这种方法测试,一旦发现错误,就知道错误的性质和位置,因而调试所花费的代价低 第二,使用这种方法一次能揭示一批错误,而不是一次只揭示一个错误 又,如果使用动态测试,通常仅揭示错误的征兆。 程序不终止运行,而对错误的性质和位置还得逐个查找。 代码审查与代码走查的效果 经验表明,使用这种方法能够优先的发现30~70%的逻辑设计和编码错误 IBM使用代码审查方法表明,错误的检测效率高达全部查出错误的80% Myers的研究发现代码审查和代码走查平均查出全部错误的70% 代码审查、代码走查与动态测试相互补充 研究表明使用代码审查和代码走查发现某类错误比用动态测试更有效,而对另一类错误情况正好相反 由此可见代码审查和代码走查方法与动态测试结合,测试效果更佳。 代码审查的测试内容 检查代码和设计的一致性 检查代码对标准的遵循、可读性 检查代码的逻辑表达的正确性 检查代码结构的合理性 代码审查的组成和方式 代码审查由一组程序和错误检查技术组成 以代码审查组方式组织 代码审查组 通常由四人组成,其中一人为组长 组长是关键,最好是一个称职的程序员,但不是被测试程序的编写者,也不需要对所检查的程序很熟悉,但需要较强的组织协调和语言能力 组长的职责包括分配资料、安排计划、主持开会、记录并保存被发现的错误 其余成员包括资深程序员、程序编写者与专职测试人员 根据测试的组织方式(如内部测试和独立测试)不同,代码审查小组组成可以调节,但组长角色不能变动 代码审查的步骤 准备 程序阅读 审查会议 跟踪及报告 准备 组长提前把程序目录表和设计说明书等材料分配给小组成员 小组成员熟悉这些材料 由被测程序的设计和编码人员向审查组详细说明所准备的材料,特别是代码的主要功能与功能间的关系 程序阅读 审查组人员仔细阅读代码和相关材料 对照代码审查单标出明显缺陷及错误 审查会议 审查会由组长主持 首先由程序员逐句阐明程序的逻辑,在此过程中可由程序员或其他小组成员提出问题,追踪错误是否存在 经验证明在上述阐述过程中,有很多错误由讲述程序者而不是其他小组成员发现 大声地朗读程序给听众,这样简单的工作是有效的错误检测技术 然后利用代码审查单来分析讨论 组长负责讨论沿着建设性的方向前进,而其他人则集中注意力发现错误,但不去纠正错误 跟踪和报告 会后把发现的错误登记造表并交给程序开发人员 如果发现错误较多或发现重大错误,那么在改正之后,组长要再次组织审查会议 为了改进以后的审查工作,对错误登记表也要分析,归类和精炼 以第三方测试的方式进行代码审查 应就发现的缺陷及错误与软件开发人员讨论 避免由于理解不一致产生问题,形成共同认可的审查结果 审查会议的时间 大约以1.5~2小时为宜 审查会需要高度集中注意力,时间太长反而容易使效率降低
文档评论(0)