嵌入式软件测试笔记5 | 开发人员需要做哪些测试?

2023-06-15 13:47:08 浏览数 (2)

1 开发人员测试的重要性

  • 早期发现的错误容易解决;
  • 高质量的基础元素更容易建立起高质量的系统;
  • 开发后期发现的缺陷,很难追踪其根源;
  • 解决开发后期发现的缺陷,在回归测试上需要投入更大的时间成本;
  • 开发阶段做的测试,对整个项目时间产生积极影响;
  • 异常处理只有在单元测试才能被很好的处理。

2 集成方法

2.1 三种策略和组合策略

  • 三种策略:

自上向下集成; 自下向上集成; 混合集成。

  • 组合策略:

集成部件的可用性; 系统规模; 是新系统还是在现有系统上增加功能; 体系架构。

2.1.1 混合集成

  • 集成的前提条件为:

① 系统基本稳定,只需添加小部分新的模块; ② 系统规模相对较小; ③ 各模块之间紧耦合。

  • 方法:将所有的模块集成在一起,将系统当成一个整体进行测试;
  • 优点:不需要使用占位与驱动程序,策略比较简单;
  • 缺陷:难以发现引起缺陷的原因,只有在所有模块准备好的前提下才能进行集成。

2.1.2 自下向上集成

  • 该策略基本适用于任何系统;
  • 方法:从低层次的、相互之间依赖性最少的模块开始,可使用驱动程序来测试这些模块;
  • 策略:逐步建立系统,或者首先并行地建立子系统,然后集成一个完整系统;
  • 阶段:开发过程的早期阶段;
  • 优点:尽早检测出接口的问题,且解决成本低;
  • 缺点:需要使用许多驱动程序来执行这个策略,比较耗时。

2.1.3 自上向下集成

  • 由系统的控制结构来指导;
  • 缺点:需求变化对底层模块产生影响,从而导致上层模块需要更改。

2.1.4 集中式集成

  • 使用场景:

① 当系统的中心部分对其他部分的运行必不可少时; ② 必须有中心部分才能进行测试,且改部分很难由占位来代替; ③ 系统的体系架构为:首先开发中心部分作为产品,然后发布新模块或子系统来升级系统或增加新功能。

2.1.5 分层集成

  • 用于分层式体系架构的系统;
  • 各层之间仅通过接口与其上下层直接相连;
  • 每一层可以单独使用自上而下、自下而上或混合策略。

2.1.6 客户/服务器集成

  • 用于客户/服务体系架构;
  • 客户端:使用自上而下、自下而上或混合策略;
  • 服务器:使用占位和驱动程序的策略。
  • 将服务器和客户端集成到一起。

2.1.7 协作集成

  • 用于面向对象的系统;
  • 协作被清楚定义且覆盖所有的部件和接口;
  • 协作之间相互重叠,没有必要测试每一个动作。

2.2 应用集成师

  • 应用集成师(AI)主要是协调单元测试和集成测试;
  • AI对集成过程的进展以及交付的系统质量负责;
  • 一个AI最大的控制范围是10个开发人员。

3 生命周期

  • 指的是开发人员测试的盛生命周期;
  • 虽然没有测试团队的测试生命周期严格,但是有一些区别。

3.1 计划和控制

  • 相关活动如下:

① 明确任务; ② 建立测试基础; ③ 定义测试策略; ④ 列出测试交付清单; ⑤ 设置组织; ⑥ 定义基础设施; ⑦ 建立进度表; ⑧ 合并与维护测试计划; ⑨ 控制测试; ⑩ 报告。

3.2 准备阶段

  • 审查测试基础的可测试性;
  • 描述基础设施。

3.3 细化阶段

  • 细化测试;
  • 创建工具。

3.4 执行阶段

  • 执行测试用例并记录结果;
  • 单元测试的终止标准用集成测试的输入标准来描述;
  • 所有部件都集成起来,且待测试系统符合集成测试的输出标准时,终止集成测试;
  • 单元测试的执行者通常为开发人员。

3.5 完成阶段

  • 报告测试对象的状况。

0 人点赞