《软件工程》总结——第十章

本章的主要内容是软件测试

验证与确认

      软件的错误

1. 软件未达到产品说明书标明的功能;2. 软件出现了产品说明书指明不会出现的错误;3. 软件功能超出了产品说明书指明的范围;4. 软件未达到产品说明书虽未指出单应达到的目标;5. 软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户不满意。

  验证与确认

验证和确认是两个相互独立但却相辅相成的活动,Boehm 对两者的关系作出如下的描述:验证:我们是否在正确地制造产品?;确认:我们是否在制造正确地产品?。EagLesone 和 Ridley 把这两个概念进行了集成,提出:我们是否在保持产品的正确性?。

V & V 的活动

验证和确认在各个阶段中制定和管理特定的任务,其活动跨越了软件的整个生命周期。IEEE Std 1012—1998 给出一个验证和确认过程。

软件测试基础

      什么是软件测试

Glen Myers 对软件测试提出了以下观点:1. 测试时一个程序的执行过程,其目的在于发现错误;2. 一个好的测试用例很可能是发现至今尚未察觉的错误;3. 一个成功的测试用例是发现至今尚未察觉的错误的测试。

软件测试的基本原则

1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;2. 程序员应避免检查自己的程序;3. 在设计测试用例时,应当包括合理地输入条件和不合理的输入条件;4. 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;5. 充分注意测试中的群集现象;6. 严格执行测试计划,排除测试的随意性;7. 应当对每一个测试结果做全面检查;8. 妥善保存一些测试过程文档,为维护提供方便。

      软件测试的软件开发各阶段的关系

软件开发从获取需求、分析设计到编码实现,是一个自顶向下、逐步精化的过程。而软件测试过程却是自底向上,从局部到整体,逐步集成的过程。在开发的不同阶段,会出现不同类型的缺陷和错误,需要不同的测试技术和方法来发现这些缺陷。

    测试文档

1. 测试计划;2. 测试规范;3. 测试用例;4. 缺陷报告。测试文档的重要性表现在以下几个方面:1. 验证需求的正确性;2. 检验测试资源;3. 明确任务的风险;4. 生成测试用例;5. 评价测试结果;6. 再测试;7. 决定测试的有效性。

    软件测试信息流

软件测试时需要以下3类信息:1. 软件配置;2. 测试配置;3. 测试工具。

      软件测试人员

人间测试人员需要具备以下能力:1. 沟通能力;2. 移情能力;3. 技术能力;4. 自信心;5. 外交能力;6. 幽默感;7. 很强的记忆力;8. 耐心;9. 怀疑精神;10. 自我督促;11. 洞察力。

软件测试策略

    单元测试

1. 模块接口测试;2. 局部数据结构测试;3. 重要执行路经测试;4. 错误处理测试;5. 边界条件测试;6. 单元测试方法。

      集成测试

1. 自顶向下集成;2. 自底向上集成。

确认测试

通过综合测试之后,软件已完全组装起来,接口方面额错误也以排除,这时就可以开始对软件进行最后的确认测试。确认测试主要检查软件能否按合同要求进行工作,及是否满足软件需求说明书中的确认标准。

  系统测试

在系统测试之前,软件工程师应该完成下列工作:1. 为测试软件系统的输入信息设计出错处理通路;2. 设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;3. 参与系统测试的规划和设计,保证软件测试的合理性。系统测试包括以下几个测试:1. 恢复测试;2. 安全测试;3. 强度测试;4. 性能测试。

  软件调试

1. 简单的调试方法;2. 归纳法调试;3. 演绎法调试;4. 回溯法调试。

软件测试方法

      静态测试与动态测试

静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,主要方法包括:1. 人工测试;2. 计算机辅助静态测试。

动态测试是指通过运行程序发现错误,一般意义上的测试主要是指动态测试。

  黑盒测试与白盒测试

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有功能的情况下,通过测试来检测每个功能是否都能正常使用。

白盒测试也称结构测试或逻辑驱动测试,它知道产品内部工作过程,可通过测试来监测产品内部动作是否按照按照规格说明的规定正常运行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不顾他的功能。

    黑盒测试方法

1. 等价类划分;2. 边界值分析;3. 状态测试;4. 失败条件测试;5. 错误推测法。

    白盒测试方法

1. 逻辑覆盖;2. 路径测试。

  程序的静态测试

1. 查找问题;2. 遵守规则;3. 审查准备;4. 编写报告。

面向对象软件测试

面向对象测试类型

1. 模型测试;2. 类测试;3. 交互测试;4. 系统(子系统)测试;5. 验收测试;6. 发布测试。

      面向对象测试案例

1. 日期测试;2. 线性表问题。

      GUI 测试案例

1. 第一组测试用例:用于测试状态图中的3个状态各自内部转换;2. 第二组测试用例:用于测试状态图中3个状态各自内部的转换;3. 第三组测试用例:用于测试加法算式正确性,

软件测试工具

Junit

基本使用非常简单,基本步骤如下:1. 创建,从 junit. framework. TestCase 派生 unit test 需要的 test unit;2. 编写测试方法,提供类似如下函数签名的测试方法:public void testXXXXX();3. 编译,书写完 test case 后,编译所写的 test case 类;4. 运行,启动 junit test runner,运行这个 test case。

  LoadRunner

LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

时间: 2024-10-05 21:39:45

《软件工程》总结——第十章的相关文章

软件工程概论第十章概括

第十章软件测试,也是我个人比较喜欢的一个方向,软件测试虽然不涉及到烦躁的编码,但是也包含了很多的技术,下面我给大家简单介绍一下本章的内容. 本章首先举出了几个案例,历史上软件出过错误的事件,让我们认识到软件测试的重要性.接下来对于测试人员的素质要求也做了详细的介绍,由此可以看出来软件测试的责任很重大. 下面开始对软件测试的详细步骤做详细的介绍以及几个测试方法. 单元测试包括模块接口测试.模块局部数据结构测试.重要执行通路测试.错误处理测试.边界条件测试.单元测试方法.集成测试包括自顶向下集成.自

软件工程概论第十章

软件测试 验证和确认,软件的错误是客观存在的所以为了把握软件各个环节的正确性需要进行各种确认和验证工作. 软件测试的基础首先要明白什么是软件测试,还要遵守软件测试的基本原则,掌握软件测试和软件开发的各阶段的关系 还要进行测试文档的记录. 软件测试的策略  要进行单元测试 单元测试主要任务要完成模块接口测试,模块局部数据测试,模块中所有独立执行通路测试,模块中各条错误 处理通路测试,模块边界条件测试.模块测试完之后还要进行集成测试集成测试的方法有自顶向下集成,自底向上集成.还要进行确认测试,系统测

软件工程概论第十章--软件测试

软件测试在软件开发中起到相当重要的作用,本章主要讲了验证与确认.软件测试基础.软件测试策略.软件测试方法.面向对象软件测试及软件测试工具. 验证与确认讲了软件的错误.验证与确认.V&V的活动,软件的错误讲到有错是软件的属性,并用了几个实例开讲软件错误的危害.验证与确认是为了软件开发各环节的正确性.V&V活动即是验证与确认在各阶段制定和管理特定的任务. 软件测试基础讲了什么是软件测试即对软件产品生存周期内的检查.评审和确认,软件测试的基本原则讲了软件测试中的几个原则,测试文档主要包括测试计划

《软件工程》第十章随笔

本章主要讲解了软件测试的主要信息.测试是指软件产品生存周期内所有的检查,评审和确认活动.软件测试的目标在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷.软件测试有几点原则:一,应当把"尽早地和不断地进行软件测试"作为软件开发者的座右铭.二,程序员应避免检查自己的程序.三,在设计用例时,应当包括合理的输入条件和不合理的输入条件.四,测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成.五,充分注意测试中的群集现象.六,严格执行测试计划,排除测试的随意性.七,应当对每一个

《软件工程》第十章总结

验证和确定是贯穿软件声明周期的规范化评估方法.软件验证则试图证明在软件生存期各个阶段,软件产品或中间产品是否能够满足客户需求,包括逻辑协调性.完备性和正确性. 软件确定是一系列的活动和过程,目的是保证软件产品能够符合其描述要求. 测试时指软件产品生存周期内所有的检查.评审和确定活动.测试是对软件产品质量的检验和评价,一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观评价. 软件测试文档描述要执行的软件测试及测试结果.测试文档的编写是测试工作规范化的一个组成部分.主要的测试文档包括:测

软件工程概论10

软件工程概论 第十章 软件测试 软件测试:广义上,是指软件产品生存周期内所有的检查.评审和确认活动.狭义上,是对软件产品质量的检验和评价. 软件测试的基本原则:①应当把“尽早的和不断地进行软件测试”作为软件开发者的座右铭.②程序员应避免检查自己的程序.③在设计测试用例,应当包括合理的输入条件和不合理的输入条件.④测试用例由测试输入数据和与之对应的预期输出结果组成.⑤充分注意测试中的集体现象.⑥严格执行测试计划,排除测试的随意性⑦对每一个测试结果做全面的检查⑧妥善保存一切测试过程文档,为维护提供方

软件工程构建之法第八,九,十章读后感

第八章:需求分析 需求分析,这是做一个项目最基本的,一个需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么.可以说,在软件工程当中的"需求分析"就是确定要计算机"做什么",要达到什么样的效果.可以说需求分析是做系统之前必做的.需求分析确定了整个团队的方向,那么怎么做好需求分析呢?有以下几个步骤:1.获取和引导需求:2.分析和定义需求:3.验证需求:4.在软件产品的生命周期中管理需求. 第九章:项目经理 项

现代软件工程 第十章 【典型用户和场景】 练习与讨论

第十章 典型用户和场景 一.老板的错误 善于发掘用户语言行动背后的动机. 二.是否要文档 尽管面对面直接交流很敏捷,但是文档不可或缺.文档有助于明确用户需求,大大减少因需求不明而返工浪费的时间. 三.ATM操作界面的用户种类 1.只查询账户余额 2.需要存一定数额的钱币 3.进行其他缴费功能 4.需要转账到其他账户 5.经常取钱的用户 6.需要修改密码等账户管理操作的用户 四.游戏用户种类 1.根据玩家的游戏生命周期划分,题目已经有参考答案. 2.根据玩家的游戏经验划分: a.黄金玩家经验丰富,

软件工程——理论、方法与实践 第十章

第十章.软件测试      第十章  软件测试是软件质量保证的一项关键活动,它是通过对需求规格说明.软件设计说明和程序代码等进行复审,以保证在软件产品交付前,尽可能发现软件中潜伏的问题. 主要讲 1.验证与确认,主要介绍了V&V的活动: 2.软件测试基础,主要写了软件测试的基本原则 3.软件测试策略,一般需要经过单元测试.集成测试.确认测试和系统测试,详细介绍了各种测试的方式: 4.软件测试方法,软件测试从不同的角度可以分为多样的测试方式,如静态测试.动态测试,白盒测试.黑盒测试: 5.面向对象

软件工程概论总结第十章

 第十章 软件测试 验证与确认 软件的错误 (1)软件未达到产品说明书标明的功能: (2)软件出现了产品说明书指明不会出现的错误: (3)软件功能超出了产品说明书指明的范围: (4)软件未达到产品说明书虽未指出但应达到的目标: (5)软件测试人员认为软件难以理解.不易使用.运行速度缓慢,或者最终用户不满意. 验证与确认 验证与确认是贯穿软件生命周期的规范化评估方法. 软件验证则试图证明在软件生存期各个阶段,软件产品或中间产品是否能满足客户需求,包括逻辑协调性.完备性和正确性. 软件确认是一系列的