嵌入式软件测试-课件1.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SEEYoU嵌入式软件测试第一部分软件测试技术Seeyou软件测试技术—提要软件测试基础软件测试的典型问题及对策嵌入式软件测试级别及内容软件测试过程及管理Seeyou概述—测试的定义由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求;或识别出期望的结果和实际结果之间有无差别。Seeyou概述—测试的目的验证软件是否满足软件开发合同或任务书、系统/子系统设计文档、软件需求规格说明和软件设计说明所规定的软件质量特性要求;通过测试,发现软件错误;为软件产品质量的评价提供依据。Seeyou概述—测试的地位有效的测试对于开发可靠、安全和成功的软件是必须的测试不是“银弹(silverbullet)”,它具有有效范围,它不是其他软件工程方法的替代品Seeyou概述—测试的作用1证实给定的软件满足其规格说明测试公理不可能对程序进行完全的测试局限无法确信规格说明100%正确无法确信可以达到100%足够的软件测试无法保证测试环境100%满足测试要求Seeyou概述—测试的作用2在给定的时限内尽可能多的发现缺陷和隐患测试公理测试无法说明软件没有缺陷局限软件质量体现在多个方面,但首先要面对并必须解决的方面是软件缺陷,在资源制约和技术限制的条件下,无法保证找到软件中所有的缺陷Seeyou概述—测试的作用3为软件产品质量的评价提供依据测试公理发现的问题越多,那里潜在的问题也更多局限不可能通过测试获得100%的质量信心无法确信测试系统(或环境)的正确性无法确信测试人员完全理解了软件产品没有足够的资源彻底完成软件测试Seeyou概述—测试的发展历程时间区间状况-1956面向调试的阶段1957-1978面向证实的阶段1979-1982面向缺陷的阶段1983-1987面向评价的阶段1988-面向预防的阶段Seeyou概述—测试对象的特点软件被广泛应用,承担许多关键与核心任务软件是被开发或设计的,包括维护阶段软件是逻辑产品,可视性低软件是复杂的,输入空间无限大,可执行路径特别多大多数软件是定制的,可选标准构件少Seeyou概述—软件的缺陷属性无法提供无缺陷的软件,缺陷已成为软件的固有属性和特征各种研究报告表明,每写1000行代码会产生30到85个缺陷大多数缺陷可通过测试捕获在大量的已完成测试的软件中,每1000行代码仍存在0.5~3缺陷软件缺陷有可能会给系统质量尤其是可靠性带来重大影响Seeyou概述—缺陷与失效失误(mistake)在软件开发过程中软件开发人员产生隐错/缺陷(bug/defect)在软件产品中软件中存在设计者的错误行为(失误)→导致软件中留有错误的设计(缺陷)→导致软件错误地执行(故障)→导致软件的错误行为(失效)。故障(fault)在软件运行中缺陷被激活失效(failure)在运行阶段用户的经历Seeyou概述—缺陷过滤器容错(Defecttolerance)编译失误避错(Defectavoidance)排错(defectremoval)审查使用缺陷逃逸测试Seeyou概述—缺陷解决策略避错(Defectavoidance)第一次就做正确排错(Defectremoval)早发现,早实施容错(Defecttolerance)有缺陷,也能正确的完成任务恢复选用最佳恢复策略,失效后继续工作Seeyou概述—如何获得高质量软件软件质量软件工程方法正式技术评审度量与控制标准与过程测试SCM与SQASeeyou概述—验证与确认验证与确认是广泛认可的质量保证方法和手段软件测试是软件验证与确认的重要组成部分验证是指对某项规定活动进行检查的过程,以确保该活动实现了规定功能确认是指审查已建立的软件产品是否符合客户需要的过程验证(Verification):Arewebuildingtheproductright?确认(Validation):Arewebuildingtherightproduct?Seeyou概述—测试与调试测试不是调试,调试也不是测试,实际工作中人们常将测试与调试混为一谈主要区别:测试是一种检验,调试是推理过程测试从已知条件开始,使用预先定义的规程并且有可预知的结果;调试的开始条件可能是不可知的,结果不可预见测试经常由非程序设计人员完成,调试必须由程序设计者完成Seeyou概述—嵌入式软件执行数据采集、控制等任务,逻辑复杂运行在资源受限系统上系统构成多样化部署后不受人的控制修补困难多为实时系统多为关键系统既可能运行在芯片上,也可能运行与大型工业控制系统Seeyou概述—嵌入式软件测试对测试环境的要求高对专业测试的依赖程度高测试输入和结果获得需要专门的手段测试约束大Seeyou软件测试典型问题及对策软件测试时机软件测试层次软件测试环境软件测试管理软件测试风险软件测试复杂性软件测试追溯性软件测试终止准则Seeyou问题及对策—测试时机测试的时机问题代码出来了,甚至系统实现了,才开始测试文档开发滞后,更新不及时,追踪性差系统状态不稳定,测试的效果无法体现主要对策在软件开发过程中尽早开展软件测试做好软件设计评审和分析做好配置管理工作Seeyou问题及对策—测试层次典型问题调试代替低层次测试,ATP代替高层次测试不测试无效和不期望的输入不希望外部介入完全依赖外部测试主要对策开展第三方测试对开发过程中的测试提出明确要求Seeyou问题及对策—测试环境典型问题过分关注测试执行,而忽视测试设计期望自动工具替代测试工程师期望靠测试自动化节约测试成本期望靠测试自动化改善测试质量相信录制/回放工具是万能的主要对策先建立流程,再实现自动化与实际需求相结合Seeyou问题及对策—测试管理典型问题被测对象来自非受控渠道测试没有文档化的计划、方案支持独立测试组与开发组之间关系不协调主要对策建立测试过程,进行测试项目策划、跟踪与控制,开展测试的质量保证和配置管理将需求工程延伸到测试Seeyou问题及对策—测试风险典型问题不使用风险分析技术,测试不关注风险开发时希望成关键,测试时希望成一般主要对策通过风险分析确定测试范围、目标和策略将测试作为一种高风险活动进行管理Seeyou问题及对策—测试复杂性典型问题认为测试工作很简单,测试成为新程序员的过渡性工作/不合格程序员的归宿认为软件测试太复杂,投入很大,做了但是没有效果进行无知的测试主要对策培训,指派有经验、富有创造性的人员承担测试采用适当的技术、有效的方法进行测试设计完善动态仿真环境,掌握测试工具Seeyou问题及对策—测试追溯性典型问题软件需求规格说明太简单、过时即兴测试不创建和维护测试文档主要对策测试应源于用户需求维持完整的证据链进行可重复和可再现的测试Seeyou问题及对策—测试终止准则典型问题测试组应对保证质量负责用发现缺陷数量评价测试业绩测试到资源耗尽就结束主要对策明确定义测试结束的标准正确理解测试的作用和局限性提高和改善软件设计质量Seeyou级别—测试策略SRDCUIVST系统工程单元测试编码软件需求分析设计集成测试配置项测试系统测试Seeyou级别—为什么要分级别?与软件开发过程相适应为了说明软件系统内单元/部件的互操作性需要进行三种基本的测试单独单元/部件的测试测试单元/部件间互操作测试单元/部件结合成的软件系统Seeyou级别—单元测试的特点对象-模块依据-软件设计规格说明实现-串行或并行测试方法-白盒为主被测模块测试用例结果测试工程师Seeyou级别—单元测试内容静态测试代码走查代码检查静态分析动态测试黑盒测试白盒测试基于数据结构的测试Seeyou级别—单元动态测试焦点被测单元单元接口局部数据结构边界条件独立执行路径错误处理的路径测试用例Seeyou级别—单元动态测试环境被测模块驱动模块结果测试用例模块接口局部数据结构边界条件独立执行路径错误处理的路径桩1桩2桩nSeeyou级别—单元测试工作产品单元测试计划单元测试说明单元测试报告测试记录问题报告与问题处理报告质量记录Seeyou级别—集成测试集成测试的对象是软件部件软件部件由软件单元组成集成测试前,部件中的所有单元必须已经完成了单元测试Seeyou级别—集成测试准备要求的文档可提交软件概要设计说明软件接口设计说明被集成的软件单元已通过单元测试被测试构件已纳入配置管理中具备了满足要求的集成测试环境和测试工具Seeyou级别—集成测试内容1.单元间的接口测试2.全局数据结构测试3.软件功能模块的功能测试4.性能测试5.边界和人为条件下的性能Seeyou级别—集成测试焦点重点寻找与下述内容相关的缺陷软件系统结构的设计和构造在子系统层次上被集成的功能或操作组件/模块之间的接口和相互作用资源集成环境集成Seeyou级别—集成测试通过准则1.单元间无错误连接2.满足各项功能、性能要求3.对错误有正确的处理4.对测试中的异常有合理解释5.接口正确Seeyou级别—部件测试工作产品部件测试计划部件测试说明部件测试报告测试记录问题报告与问题处理报告质量记录Seeyou级别—配置项测试概念配置项测试的对象是计算机软件配置项(CSCI)计算机软件配置项,是能够被独立地进行配置管理的,并能够满足最终用户功能的一组软件Seeyou级别—配置项测试的目的1.发现软件配置项内存在的缺陷和问题2.验证软件配置项实现了所需的能力验证软件是否按软件需求规格说明书中确定的软件功能、性能、质量属性、约束及限制等技术要求进行工作检验软件配置项与相关的软件/硬件配置项接口的正确性和互操作性Seeyou级别—配置项测试依据测试要求任务书、合同、测试规范等对软件测试有约束力的文件,规定了软件测试的类型、程度、管理,等等被测对象的规格说明软件需求规格说明书,等Seeyou级别—配置项测试焦点功能(针对业务/任务需求,逐项)接口(关注通信需求与手段)配置项级的性能(关注容量、余量、瓶颈)质量属性(关注质量设计的实现)设计约束(关注资源的利用率和余量)Seeyou级别—配置项测试主要内容功能测试性能测试接口测试容错测试安全性测试边界测试安装性测试文档审查用户操作特定条件下的行为与硬件配置项的集成与系统中其它软件配置项的集成与协作Seeyou级别—配置项测试环境要求配置项测试对测试环境的关注更关注环境的可控性,通常会在仿真或模拟环境下进行,要求高度的可控性和尽量的真实性对侵入式测试方法的支持Seeyou级别—配置项测试工作产品配置项测试计划配置项测试说明配置项测试报告测试记录问题报告与问题处理报告质量记录Seeyou级别—系统测试概念软件系统作为一个整体进行测试,检验系统各部分之间的协调情况,以证实在目标环境下软件完成了全部系统功能和性能。系统测试是一系列不同测试的组合,这些测试目的不同,但都是为了整个系统成分能正常地集成到一起并完成分配的功能。Seeyou级别—系统测试的目的1.发现软件系统范围内存在的缺陷和问题2.验证软件系统实现了所需的能力验证软件系统各部分之间的协调情况,以证实在目标环境下软件系统完成了软件任务书或系统/子系统设计文档规定的全部软件需求检验软件系统能否与其他指定的系统成功地进行协同操作Seeyou级别—系统测试的依据测试要求任务书、合同、测试规范等对软件测试有约束力的文件,规定了软件测试的类型、程度、管理,等等被测对象的规格说明软件研制任务书系统/子系统需求规格说明系统/子系统设计文档,等Seeyou级别—系统测试焦点功能(针对高级系统需求,强调完整的业务/任务场景)接口(关注与其他系统的协同操作)性能(关注总体性能和资源竞争)质量属性(关注因协同操作带来的质量属性问题)Seeyou级

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功