软件工程考研大连交通#7 结构化实现

七 实现

考纲:常见的程序设计语言的选择,编码风格。软件测试定义和目的,黑盒测试和白盒测试,软件测试的步骤,单元测试、集成测试和验收测试的方法,测试用例的设计,调试技术和策略,软件可靠性的概念。

常见的程序设计语言的选择,编码风格

实用标准

  • 软件用户的要求
  • 可以使用的编译程序
  • 可以得到的软件工具
  • 工程规模
  • 程序员的知识
  • 软件可移植性要求
  • 软件的应用领域

编码风格

  • 程序内部的文档
  • 数据说明
  • 语句构造
  • 输入输出
  • 效率

软件测试的定义和目的

通常把对软件的质量检验过程称为测试

软件测试的目标

  1. 测试是为了发现程序中错误而执行的过程
  2. 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。
  3. 成功的测试是发现了至今为止尚未发现的错误的测试

测试方法:黑盒测试和白盒测试
  1. 黑盒测试(功能测试):将程序看作一个黑色盒子,完全不用考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的而测试,它只检查程序功能是否按规格说明书的规定正常使用,程序是否适当的接受输入输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。
  2. 白盒测试(结构测试):把程序看成装在一个透明的白色盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检查程序中主要执行通路是否能按预定要求正确工作

软件测试步骤
  1. 模块测试
  2. 子系统测试
  3. 系统测试
  4. 验收测试
  5. 平行运行

单元测试、集成测试和验收测试的方法

单元测试

  1. 测试重点

    1. 模块接口。

    2)局部数据结构。

    1. 重要的执行通路。

    4)出错处理通路。

    5)边界条件。

  2. 代码审查:

    组成人员:组长、程序的设计者、程序的编写者、程序的测试者。

  3. 计算机测试:

    (1)代码审查与计算机测试的比较:

    一次审查会上可以发现许多错误,用计算机测试的方法发现错误之后,通常要先改正这个错误然后才能继续测试,因此错误是一个一个的发现的并改正的,也就是代码审查的方法可以减少系统验证的工作量。

集成测试

是测试和组装软件的系统化技术

非渐增式测试方法

  • 非渐增式方法的缺点:

    ①把所有模块放在一起,测试者面对的情况十分复杂。

    ②在庞大的程序中诊断定位一个错误非常困难。

    ③一旦改正一个错误之后,又会遇到新的错误,没有穷尽。

渐增式方法

  • 渐增式方法的优点:

    ①把程序划分成小段来构造和测试,比较容易定位和改正错误。

    ②对接口可以进行更彻底的测试。

    ③可以使用系统化的测试方法。

    *下面介绍渐增式的两个方法(具体步骤看书即可)😗

    1.自顶向下集成:从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。

    2.自底向集成:从"原子模块"开始组装和测试。

    3.不同集成策略的比较:

    1)自顶向下测试方法的主要优点是不需要测试驱动程序。能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误

    2)自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,底层关键模块中的错误发现的晚,而且用这种方法在早期不能充分展开人力。

    4.回归测试:

    是指重复执行已经做过的测试的某个子集,以保证没有非预期的副作用。回归测试使用来保证由于测试或者其他原因引起的变化,不会导致非预期的软件行为或额外错误的测试活动。

验收测试(确认测试)

  1. 目标是验证软件的有效性,通常使用黑盒测试。

    ​ 软件的有效性:

    ​ 如果一个软件的功能和性能如同用户合理期待的那样,软件就是有效的。

    ​ 软件配置复查:

    ​ 目的是保证软件配置的所有成分都齐全,质量符合要求,文档与程序完全一致。具有完成软件维护所必须的细节,而且已经编好的目录。


测试用例的设计

*白盒测试技术*

  1. 逻辑覆盖(选择题)

    1)语句覆盖。

    2)判定覆盖。

    3)条件覆盖。

    4)判定|条件覆盖。

    5)条件组合。

    6)点覆盖。

    7)边覆盖。

    8)路径覆盖。


*黑盒测试技术*

​ 测试力争发现如下错误:

  1. 功能不正确或遗落了功能。
  2. 界面错误。
  3. 数据结构错误或外部数据库访问错误。
  4. 性能错误。
  5. 初始化和终止错误。

测试方法:(选择题爱出,或者给你场景让你编写等价类或者边界值并设计测试用例)

  1. 等价划分(具体划分规则在书的172页)。
  2. 边界值分析(同上)。
  3. 错误推测(同上)。

调试技术和策略

定义:调试也称为纠错。作为成功测试的后果出现,也就是说,调试是在测试发现错误之后排除错误的过程。

  1. 调试困难的原因:

    1)技术难以实现。

    2)症状和产生症状的原因可能在程序中相距甚远。

    3)当改正一个错误之后,症状可能暂时消失了。

    4)症状可能实际上并不是错误引起的。

    5)症状可能是由不易跟踪的认为错误引起的。

    6)症状可能是由定时问题而不是由处理问题引起的。

    7)可能很难重新产生完全一样的输入条件。

    8)症状可能时有时无。

    9)症状可能是由分布在许多任务中原因引起的。

  2. 调试途径

    1)蛮干法。

    2)回溯法。

    3)原因排除法:

    A 归纳法 B 演绎法 C 对分查找法


软件可靠性
  1. 软件的可靠性:

    程序在给定的时间间隔内,按照规格说明书的规定成功的运行的概率。

  2. 软件的可用性:

    程序在给定的时间点,按照规格说明书的规定成功运行的概率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值