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

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

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 完成阶段

  • 报告测试对象的状况。
目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率与质量:AI驱动的自动化测试策略
【2月更文挑战第19天】 在快速迭代的软件发展环境中,传统的手动测试方法已无法满足高效率和高质量的要求。本文探讨了人工智能(AI)技术如何革新现有的软件测试流程,通过引入AI驱动的自动化测试策略,旨在提高测试覆盖率,减少人为错误,优化资源分配,并缩短产品上市时间。我们将分析AI在识别潜在缺陷、生成测试用例、执行测试以及结果分析中的应用,并讨论实施这些策略时可能遇到的挑战和限制。
175 3
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:智能化测试用例生成策略
【4月更文挑战第28天】 随着软件开发的复杂性不断增加,传统的软件测试方法面临巨大挑战。为了提高测试覆盖率并确保软件质量,需要投入大量的时间和资源去设计、执行和维护测试用例。本文探讨了一种基于人工智能(AI)技术的智能化测试用例生成策略,该策略能够自动识别关键的测试路径,动态调整测试用例,并优化测试集合。通过引入智能化工具和算法,显著提升了软件测试过程的效率和有效性。
|
4天前
|
测试技术
【测试】优化软件测试:有效测试用例设计的关键
【测试】优化软件测试:有效测试用例设计的关键
|
4天前
|
jenkins 测试技术 持续交付
深入探索软件测试中的持续集成与自动化测试实践
【4月更文挑战第27天】 在当今软件开发的快速迭代过程中,持续集成(CI)和自动化测试已成为确保代码质量和加快交付速度的关键因素。本文将探讨如何通过实施持续集成流程,并结合自动化测试策略来优化软件测试工作。我们将分析持续集成的原理、自动化测试的最佳实践以及如何将这些方法应用于实际项目中,旨在为读者提供一套完整的解决方案,以提高软件项目的效率和质量。
11 3
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:智能化测试用例生成策略
【4月更文挑战第25天】 在软件开发生命周期中,高效的测试用例设计是确保产品质量的关键步骤。随着人工智能和机器学习技术的不断进步,智能化测试用例生成已成为提高软件测试效率和效果的有力工具。本文将探讨智能化测试用例生成的策略,包括基于模型的学习、自然语言处理以及遗传算法等,并分析其对传统测试方法的影响,最后提出实施智能化测试的实践建议。
|
26天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
50 6
|
2月前
|
iOS开发
iOS自动混淆测试处理笔记
iOS自动混淆测试处理笔记
12 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:AI驱动的自动化测试策略
【2月更文挑战第30天】随着人工智能(AI)在软件开发周期中的日益普及,其在提高软件测试效率方面的潜力正受到越来越多的关注。本文探讨了如何通过集成AI技术来优化自动化测试流程,从而减少重复工作、提高错误检测率和加快反馈速度。我们将分析当前AI在自动化测试中的应用,并提出一系列策略以利用AI改进测试案例生成、执行和维护过程。
96 0
|
2月前
|
算法 测试技术 开发者
软件质量测试笔记-合工大
软件质量测试笔记-合工大
102 1
|
3月前
|
关系型数据库 MySQL 测试技术
【软件测试】 初识软件测试
【软件测试】 初识软件测试

热门文章

最新文章