资源描述
软件测试软件测试第第2章章 需求和设计评审需求和设计评审Kerry ZhuZhu.KerryGhttp:/ Z本章内容本章内容http:/ 2.1 软件评审的方法与技术软件评审的方法与技术2.2 产品需求评审产品需求评审2.3 设计审查设计审查本章内容http:/ 2.1 软件评审的方法与技术软件评审的方法与技术2.2 产品需求评审2.3 设计审查内容http:/ 软件评审的方法与技术软件评审的方法与技术http:/ 2.1.1 2.1.1 什么是评审什么是评审2.1.2 2.1.2 评审的方法评审的方法2.1.3 2.1.3 评审会议评审会议2.1.4 2.1.4 评审的技术评审的技术2.1 软件评审的方法与技术http:/什么是评审什么是评审http:/ 软件评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。技术评审技术评审文档评审文档评审管理(流程)评审产品需求审查是软件开发重要环节之一,也是测试活动之一,即静态测试需求验证。借助需求审查保证用户需求在市场/产品需求文档及其相关文档中得到准确、完整、无歧义的反映,并使各类开发人员在需求理解上达成一致。什么是评审http:/ 走查互为评审同行评审 审查Random review,Pass-round,Walkthrough,Peer review,Inspection评审方法最不正式的最正式的临时评审轮查 走查互为评审 审评审会议流程评审会议流程达到评审会议标准?Yes计划全面纵览准备修正问题跟踪问题记录会议纪要满足执行要求?YesNo总结报告评审结果分析流程改进建议评审会议流程达到评审会议标准?Yes计划全面纵览准备修正问题评审会议角色评审会议角色主持人作者记录员列席人员内审员技术专业人员评审会议角色主持人作者记录员列席人员内审员技术专业人员评审的技术评审的技术检查表(检查表(checklist)是一种常用的的质量保证手段,也是正式技术评审的必要工具,评审过程往往由检查表驱动。一份精心设计的检查表,对于提高评审效率、改进评审质量具有很大帮助。p可靠性。人们借助检查表以确认被检查对象的所有质量特征均得到满足,避免遗漏任何项目。p效率。检查表归纳了所有检查要点,比起冗长的文档,使用检查表具有更高的工作效率。检查表、场景分析、头脑风暴和工具等检查表、场景分析、头脑风暴和工具等评审的技术检查表(checklist)是一种常用的的质量保证内容内容http:/ 2.1 软的方件评审法与技术2.2 产品需求评审产品需求评审2.3 设计审查内容http:/ 产品需求评审产品需求评审http:/ 2.2.1需求评审的重要性需求评审的重要性2.2.2 如何理解需求如何理解需求2.2.3 需求评审的标准需求评审的标准2.2.4 如何对需求进行评审如何对需求进行评审2.2 产品需求评审http:/问题问题为什么在测试计划中谈需求评审为什么在测试计划中谈需求评审?http:/ 问题为什么在测试计划中谈需求评审?http:/需求缺陷需求缺陷为什么软件需求定义中存在很多缺陷最多?为什么软件需求定义中存在很多缺陷最多?软件缺陷并不只是在编程阶段才产生,需求和设计阶段同软件缺陷并不只是在编程阶段才产生,需求和设计阶段同样会产生缺陷样会产生缺陷。http:/ 需求缺陷为什么软件需求定义中存在很多缺陷最多?软件缺陷并不只测试需求测试需求p 在制定测试计划之前,必须清楚测试需求在制定测试计划之前,必须清楚测试需求p 明确测试需求的优先级明确测试需求的优先级p 测试需求分解得越细,对测试用例的设计质量越有帮助测试需求分解得越细,对测试用例的设计质量越有帮助p 详细的测试需求还是衡量测试覆盖率的重要依据详细的测试需求还是衡量测试覆盖率的重要依据p 测试需求是规划具体项目资源和时间的基础。测试需求是规划具体项目资源和时间的基础。测试目标取决于软件质量需求,而这种需求分为功能性需测试目标取决于软件质量需求,而这种需求分为功能性需求和非功能性需求,功能性的需求相对容易确定,非功能求和非功能性需求,功能性的需求相对容易确定,非功能性的测试需求难以确定。性的测试需求难以确定。http:/ 测试需求 在制定测试计划之前,必须清楚测试需求测试目标取决于功能性测试需求功能性测试需求p程序安装、启动正常,有相应的提示框、错误提示程序安装、启动正常,有相应的提示框、错误提示p各项功能符合设计要求,正常运行并输出正确结果各项功能符合设计要求,正常运行并输出正确结果p功能逻辑合理,并能处理各种异常操作功能逻辑合理,并能处理各种异常操作p能接受正确的数据输入,输出结果准确,格式清晰能接受正确的数据输入,输出结果准确,格式清晰p系统的各种状态按照业务流程而变化并保持稳定系统的各种状态按照业务流程而变化并保持稳定p支持各种应用环境,能配合硬件设备支持各种应用环境,能配合硬件设备p 功能性测试需求主要是根据产品规格说明书来检验被测试的系统是否满足软件各方面的功能的使用要求,包括用户界面的友好性。http:/ 功能性测试需求程序安装、启动正常,有相应的提示框、错误提示功用户界面及其显示要求用户界面及其显示要求p 通用框架、浮动窗口和文字等整体布局合理通用框架、浮动窗口和文字等整体布局合理p 文字显示正常,且内容格式正确、美观。文字显示正常,且内容格式正确、美观。p 色彩协调,风格前后一致,色彩协调,风格前后一致,p 文字标记和超链接可以打开和跳转成功文字标记和超链接可以打开和跳转成功p 用户界面是和用户进行交互的窗口,其友好程度直接影响用户对于软件产品或软件服务的满意度。良好的用户体验,简单、方便和明了,让用户舒畅、愉悦 KISS Keep it simple,stupidDont make me thinkhttp:/ 用户界面及其显示要求 通用框架、浮动窗口和文字等整体布局合理非功能性需求非功能性需求p客户端软件,如字处理软件、媒体播放软件等客户端软件,如字处理软件、媒体播放软件等占用较少资源占用较少资源,在容错性、兼容性等方面要求高。在容错性、兼容性等方面要求高。pWebWeb应用系统对性能、安全性等有很高要求应用系统对性能、安全性等有很高要求p客户端客户端/服务器应用系统。服务器应用系统。p大型复杂企业级系统。大型复杂企业级系统。非功能性质量需求,包括系统性能、安全性、兼容性、扩充性,其测试需求会因不同的项目类型差异较大。http:/ 非功能性需求客户端软件,如字处理软件、媒体播放软件等占用较少软件即服务软件即服务SaaSp 软件运行的服务质量(软件运行的服务质量(QoS,Quality of service)p QoS要求是指定某些系统特性的技术规范。要求是指定某些系统特性的技术规范。SaaS(Software as a Service)是软件服务模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求定购所需的应用软件服务。On-Demand Service 按需供应On-Premise Service 本地部署http:/ 软件即服务SaaS 软件运行的服务质量(QoS,QSaaS的非功能性需求的非功能性需求p性能要求,系统响应能力。p可用性,7x24 不间断服务p可伸缩性,系统容量扩充能力,使系统可以支持来自扩大用户群体的额外负载。p安全性要求,确定可能潜在的安全威胁并找到处理策略。p可维护性要求,对部署系统进行维护的难易程度,可维护性与可用性之间关系密切http:/ SaaS的非功能性需求性能要求,系统响应能力。http:/正确理解需求的过程正确理解需求的过程举例说明举例说明正确理解需求的过程举例说明需求评审重要性表现方面需求评审重要性表现方面v发现需求定义中的问题,尽早发现缺陷,降低劣质成本。v保证软件需求的可测试性。v与市场、产品、开发等相关人员在需求理解上认识一致,以免后期的争吵。v更好的理解产品的功能性与非功能性需求,为制定测试计划打下基础。v确定测试目标与范围。虽然此后需求会发生变更,但能得到有效控制,降低测试风险。http:/ 需求评审重要性表现方面发现需求定义中的问题,尽早发现缺陷,降需求评审重要性的直观描述需求评审重要性的直观描述需求评审重要性的直观描述需求评审的标准需求评审的标准v 正确性v 完备性v 易理解性v 一致性v 可行性v 易修改性v 易测试性v 易追溯性http:/ 需求评审的标准 正确性http:/测试人员在需求评审中作用测试人员在需求评审中作用p 明确自己的角色和责任明确自己的角色和责任p 熟悉评审内容,为评审做好准备熟悉评审内容,为评审做好准备p 针对问题阐述观点,而非针对个人针对问题阐述观点,而非针对个人p 从客户角度想问题,多问几个为什么从客户角度想问题,多问几个为什么p 在会前或会后提出自己建设性的意见在会前或会后提出自己建设性的意见p 对发现的问题跟踪到底对发现的问题跟踪到底p 针对需求文档等报告问题针对需求文档等报告问题需求评审归为静态测试范畴,包含了文档评审和技术评审需求评审归为静态测试范畴,包含了文档评审和技术评审双重内容,通常通过正式的评审会议来进行。而测试人员双重内容,通常通过正式的评审会议来进行。而测试人员主要起着评审员的作用,检查需求定义是否合理和清楚。主要起着评审员的作用,检查需求定义是否合理和清楚。http:/ 测试人员在需求评审中作用 明确自己的角色和责任需求评审归为静内容内容http:/ 2.1 软件评审的方法与技术2.2 产品需求评审2.3 设计审查设计审查内容http:/ 设计评审设计评审http:/ 2.3.1 软件设计评审标准软件设计评审标准2.3.2 系统架构设计的评审系统架构设计的评审2.3.3 组件设计的审查组件设计的审查2.3.4 界面设计的评审界面设计的评审2.3 设计评审http:/ 系统架构的审查系统架构的审查p 设计规格说明书的审查设计规格说明书的审查p 系统部署设计的审查系统部署设计的审查p 多层次审查多层次审查:high-level:high-level low-levellow-level 成功的产品开发和演化依赖于体系结构恰当的选择。软件设计一般可以分为体系结构设计和详细设计。测试人员参与设计评审保证需求能在设计中得到准确和完整的表示,也就是保证产品规格说明书的质量。http:/ 设计审查 系统架构的审查成功的产品开发和演化依赖于体系结构恰系统设计的评审标准系统设计的评审标准v 设计技术评审标准。稳定、清晰、合理v 非功能性质量特性的设计评审要求。安全、性能、稳定、扩展、可靠。v 评审的输入:体系结构文档、设计规范与指南、风险列表v 评审的输出:经认可的软件体系结构文档、变更需求、评审记录v 评审的检查点:软件体系结构、设计模式、部署视图、进程视图、封装体、协议。http:/ 系统设计的评审标准 设计技术评审标准。稳定、清晰、合理系统架构设计的审查系统架构设计的审查采用分层评审和整体评审相结合,经过整体评审到分层采用分层评审和整体评审相结合,经过整体评审到分层评审、再从分层评审到整体评审的过程,这样既能确保评审、再从分层评审到整体评审的过程,这样既能确保评审的深度,又能确保评审的一致性评审的深度,又能确保评审的一致性 p 整个系统不应该存在单一故障点 p系统是否建立了故障转移机制 p是否建立了良好的负载平衡机制 p关键业务 或关键任务?系统架构设计的基本要求就是保证系统具有高性能、高可靠性、高安全性、高扩展性和可管理性。系统架构设计评审就是保证这些特性在设计中得到充分考虑。http:/ 系统架构设计的审查采用分层评审和整体评审相结合,经过整体评审组件设计的审查组件设计的审查p 功能和接口定义正确 p 算法的有效性和优化p 合理的数据结构、数据流和控制流 p 可测试性 等http:/ 组件设计的审查http:/ 百度百科百度百科耦合 百度百科界面设计的审查界面设计的审查(1)易懂性、易用性(2)一致性和规范性(3)美观与协调性(4)遵守惯例和通用法则(5)独特性(6)快捷方式的组合(7)自助功能(8)错误保护http:/ 界面设计的审查http:/ 着重是否服从和遵守部署设计的技术规范着重是否服从和遵守部署设计的技术规范p 逻辑设计的审查逻辑设计的审查p 物理设计的审查物理设计的审查p 可用性设计的审查可用性设计的审查p 可伸缩型设计的验证可伸缩型设计的验证p 安全性设计的验证安全性设计的验证系统部署设计的审查是基于软件服务的质量目标,用来审查软件部署的目标、策略是否合理,是否得到彻底的执行。http:/ 系统部署设计的审查 着重是否服从和遵守部署设计的技术规范系统Q&Ahttp:/ Q&Ahttp:/
展开阅读全文