- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章软件测试重点讲义
* 自动测试工具 (3) 断言处理器。包括前置处理器和后置处理器,专门检查程序员关于程序行为的断言在程序实际执行过程中是否成立。 (4) 测试文件产生器产生一些嵌入了预定值的典型的输入文件。 (5) 测试数据生成器。能辅助测试人员产生一些特殊的测试用例,强迫程序按某种方式运行。 (6) 测试验证器。度量测试的置信程度并向质量保证专家报告。 (7) 测试套具。支持测试过程的各项活动,如在测试环境上安装候选程序、填入输入数据、用桩模块模拟下层模块的行为等等。 (8) 输出比较器。通过对几组输出的比较找出它们之间的差别。 此外,象符号处理系统、环境模拟器和数据流分析器等一批自动测试工具也被人们越来越多地采用。 * 调试器 调试,又名排错,任务就是要定位错误,排除错误。客观地说,定位错误是一门艺术,目前主要靠程序员的经验和智慧,但若辅以CASE工具支持,可成倍提高效率。 关于程序调试部分,常见的功能包括设置断点,查看、修改变量或表达式的值,单步执行和进入过程执行等等。 程序员调试程序,通常希望被调程序和调试器能同时运行。此时若要求被调试内容和调试环境同时显现,可采用双终端方式,若因内存空间限制两者不可能同时在单机上运行,则可采用双机或远程调试方式,被调程序在一机运行,调试器在另一机上运行,两者通过串行接口进行通讯。 * 例: * 小结 软件测试既是软件开发阶段的最后一个活动,又是软件质量保证的最后一项措施。它所用的主要技术是白盒测试和黑盒测试。 软件测试过程可概括为用单元测试保证模块正确工作,用综合测试保证模块集成到一起后正常工作,用确认测试保证软件需求的满足,用系统测试保证软件与其他系统元素合成后达到系统各项性能要求。 测试一旦发现错误,必须定位并纠正此错,即通常所说的排错(或调试)过程。因此排错与测试是密不可分的两个活动。 本章介绍了若干软件测试技术和策略,简单讨论了排错的过程、方法和支持工具。 * 面向对象的测试 为了充分测试面向对象的系统,必须做3件事: 对测试的定义进行扩展,是其包括应用于面向对象分析和设计模型的错误发现技术 单元测试和集成测试策略必须彻底改变 测试用例设计必须考虑面向对象软件的独特性质 * 测试面向对象模型 分析和设计模型的面向对象审评都是非常有用的,因为同样的语句结构会出现在分析、设计甚至编码阶段 因此,类的属性的定义中的问题如果在分析阶段没有被发现,那么它将在后续部分中成为副作用。 * 面向对象模型的正确性 在分析和设计的过程中,语句的正确性是以分析模型一致性为基础的。 如果模型能够准确反映客观世界,那么说它是语句上正确的。 去判断模型是否真的反映了客观的世界,它应该由问题域的专家来进行判断。 类之间的关系决定他们是否反映了客观世界之间的关系。 * 面向对象的一致性 检查CRC模型和对象-关系模型。 检查每一张CRC索引卡片的描述以确定委托责任是定义协作者的一部分。 反转连接,确保每个提供服务的协作者都从合理的地方收到请求。 使用步骤3中反转后的连接,确定是否真正需要其他类,或者责任在类之间的组织是否合适。 确定是否可以将广泛请求的多个责任组合为一个责任。 * 面向对象策略 单元测试 单元概念发生了变化 最小的可测试单元封装了的类,而不是单独的模块 我们已经不可能再独立地测试单一的操作了,而是要作为类的一部分进行测试 集成测试 基于线程的测试,将响应系统的一个输入或者一个事件所需要的一组类集成到一起。 基于使用的测试,通过测试那些很少使用服务器类的类开始系统的构造。 簇测试,是面向对象方法可用于驱动确认测试, * 面向对象测试策略 验证测试 类之间连接消失的细节 测试人员应该拟定出用例 传统的黑盒测试方法可用于驱动确认测试 * 面向对象测试方法 Berard已经提出了总体方法: 1. 每一个测试用例都应该唯一地标识,并明确地与被测试的类相关联。 2. 应该叙述测试的目的。 3. 应该为每个测试开发测试步骤,包括以下内容: a. 将要测试的类的指定状态列表 b. 作为测试结果要进行检查的消息和操作列表 c. 对类进行测试时可能发生的异常列表 d. 外部条件列表 e. 有助于理解或实现测试的补充信息 * 测试方法 基于故障的测试 测试人员查找似然故障(即系统的实现有可能产生错误的方面),为了确定这些故障是否存在,需要设计测试用例以检查设计或代码。 基于用例与类层次 继承不能排除对所有派生类进行全面测试的需要,事实上,它确实使测试过程更复杂。 基于场景的测试Scenario-Based Test Design 基于场景的测试关心用户做什么,而不是产品做什么。这意味着捕获用户必须完成的任务,然后再测试时使用它们及其变体。 * 面向类的随机测试 随机测试 为合适的操作确定一个类 为应用确定约束 确定
文档评论(0)