嵌入式软件测试笔记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 完成阶段

  • 报告测试对象的状况。
目录
相关文章
|
8天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
12天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
10天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
19天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
20天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
18天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
10天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
237 7
Jmeter实现WebSocket协议的接口测试方法

热门文章

最新文章