河北工业大学软件工程课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试过程的目标 有效性测试 目标是向开发者和用户证实系统满足了用户需求; 每个需求至少要有一个测试,以证明系统是按预期运行的。 缺陷测试 目标是找出软件中的缺陷和不足; 一个成功的测试就是找出了系统存在某个目前未知的缺陷。 软件测试过程 进行无遗漏测试是不可能的。 应该有如何选择测试用例的策略: 所有能从菜单中得到的功能都应被测试到; 可以从同一个菜单中访问的组合功能都需要被测试; 在需要用户输入的地方,所有功能都必须用正确的输入和不正确的输入进行测试。 测试策略 3.1 组件测试 组件测试(单元测试)是测试系统中单个组件的过程,这个过程通常和编程工作一起进行,作为单元代码的检验手段。组件测试是一个缺陷测试的过程。 这里所说的组件包括:单个函数;对象类 ;复合组件 。 由于组件要在一定上下文环境中运行,所以进行单元测试要为每个待测组件开发额外的驱动模块和桩模块。 组件测试环境 驱动模块 待测模块 桩模块 桩模块 不与最终产品一起交付 3.2 系统测试 系统测试包括集成组件形成子系统和系统进行测试。 可以结合增量式交付。 两个不同的阶段: 集成测试 - the test team have access to the system source code. The system is tested as components are integrated. 发布测试 - the test team test the complete system to be delivered as a black-box. 集成测试 自顶向下集成 从主控模块开始,沿着控制层次结构逐步向下,利用深度优先或广度优先的方式将从属于主控模块的其他模块集成到系统结构中。 自底向上集成 从原子模块开始,从底层把模块逐步向上集成为更大规模的子系统和系统。 集成测试包括把组件集成为系统和对合成的系统进行 测试,以发现组件集成过程带来的问题,集成方式可以分 为: M1 M2 M3 M4 M5 M6 M8 M7 M9 增量集成测试 为了简化测试中错误定位的问题,可以采用增量集成的方法。 发布测试 发布测试是对将要发布给用户的系统版本进行测试的过程。 目标是验证交付的产品是否达到了要求。 发布测试通常是一个“黑盒测试过程”: 只依据系统规格说明进行测试; 测试者不需了解有关系统实现的任何细节。 黑盒测试 测试指导 以下测试指导原则能够帮助测试者选择使系统产生错误的输入: 选择能够迫使系统产生所有错误消息的输入; 设计能够使系统的输入缓冲溢出的输入; 重复相同的输入或一系列输入很多次; 设计能够产生无效的输入; 迫使输出结果太大或太小的输入。 3.3 测试用例设计 设计测试用例是系统测试与组件测试的关键工作,主要是通过设计输入数据与预计的输出来测试系统。 测试用例设计的目的是建立一组测试用例集合,用尽可能少的测试代价有效的发现系统缺陷并证明系统能够满足需求。 设计测试用例的常用方法: 划分测试与边界值分析; 结构化测试(白盒测试)。 3.3.1 划分测试 划分测试又叫做等价类划分测试法,是一种黑盒测试方法。 程序的输入与输出结果总会落到几个不同的类中,这些类中的数据有着共同的特征,我们把这些类叫作等价类或等价划分。 合理划分等价类,在每一个等价类中取一个或少数几个数据作为测试输入,就可以用少数有代表性的数据,取得较好的测试效果。 等价划分 (5) 消息(Message) 对象之间是通过相互发送消息进行协作的,一个对象发送一个操作消息给另一个对象,接收消息的对象就执行这个操作。 遥控器对象向电视机对象发送消息,通知电视机 开机。电视机对象通过一个红外线接收器为接口 ,接受遥控器发来的消息 “开机”消息 所谓的消息是一个对象与另一个对象的通信单元,是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。 发送给一个对象的消息定义了一个操作名和一个参数表,并指定某一个对象。 由一个对象接收的消息则调用消息中指定的操作,并将传递过来的实际参数与参数表中相应的形式参数结合起来。 接收对象对消息的处理可能会改变对象中的状态,即改变接收对象的属性,并发送一个消息给自己或另一个对象。 可以认为,这种消息的传递大致等价于过程性范型中的函数调用。 (5) 消息(Message) (5) 消息(Message) C++中类的public中描述了属于该类的实例所能接收的消息及消息格式。例如询问SIMON的身高,在程序中可用如下的语句实现: SIMON.answer_tall( ); SIMON接到消息就执行它的函数“answer_tall”来响应。如果其它对象向SIMON发送一条消息“what’s your name”, SIMON不会采取任何行动,因为他

文档评论(0)

heroliuguan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档