嵌入式软件测试笔记11 | 测试设计技术简单说明

news/2024/10/29 3:35:50/

11 | 测试设计技术简单说明

  • 1 测试设计技术的步骤
    • 1.1 确定测试情形
    • 1.2 确定逻辑测试用例
    • 1.3 确定物理测试用例
    • 1.4 建立初始化环境
    • 1.5 组合测试脚本
    • 1.6 定义测试方案
  • 2 测试设计技术的优点
  • 3 测试设计技术的特征
    • 3.1 白盒或黑盒
    • 3.2 导出测试用例的原则
      • 3.2.1 处理逻辑
      • 3.2.2 等价类划分
      • 3.2.3 边界值分析
      • 3.2.3 运行使用
      • 3.2.4 CURD
      • 3.2.5 因果图
    • 3.3 正式或非正式
    • 3.4 适用范围
    • 3.5 被测试的质量特性
    • 3.6 必须的测试基础类型

1 测试设计技术的步骤

1.1 确定测试情形

  • 即分析测试基础,明确每一个测试需要的情形;
  • 例如:

需要测试的情形包含所有的条件,true、false、有效值、无效值等。

1.2 确定逻辑测试用例

  • 测试情形被转换为测试用例;
  • 逻辑测试用例课能就是测试情形;
  • 逻辑测试用例即描述的测试情形的类型,不需要为相关参数赋确定的值就可以被覆盖到。

1.3 确定物理测试用例

  • 物理测试用例提供了测试用例所必须的全部信息;
  • 比如:

输入值、执行的测试动作、预期结果等。

1.4 建立初始化环境

  • 为执行物理测试用例,必须准备所需要的初始化环境;
  • 意味着必须装载一定的数据集,或者系统被置于某个状态。

1.5 组合测试脚本

  • 即定义测试脚本;
  • 物理测试用例与准备好的初始化环境一起构成测试脚本的基础。

1.6 定义测试方案

  • 可选步骤;
  • 使用场景为某些测试脚本和其他脚本之间存在依赖关系的复杂情况;
  • 测试方案可理解为一种“微观测试计划”;
  • 测试方案描述了测试脚本应当执行的顺序,需要哪些准备动作,以及在“出错”的情况下,可选的方案是什么。

2 测试设计技术的优点

提高测试过程的质量,增强测试过程的控制。论据如下:

  • 测试策略能够提供正确的测试位置和测试范围,基于测试策略的可靠执行,采用测试设计技术就能够深入把握测试的质量和范围;
  • 采用测试设计技术更能有效的发现缺陷;
  • 详细制定了测试执行的顺序和步骤,所以测试能够很容易的被复现;
  • 标准化的工作规程,使得测试设计可移交、可维护;
  • 更容易计划和控制测试过程。

3 测试设计技术的特征

3.1 白盒或黑盒

  • 黑盒测试设计技术,是基于系统的功能性行为,不需要明确的实现细节知识;
  • 黑盒中,系统只受输入值的支配,对于输出结果,分析他是否和预期的系统行为相符合;
  • 白盒测试设计技术,基于系统内部结构的知识,基于代码、程序描述和技术设计。

3.2 导出测试用例的原则

3.2.1 处理逻辑

  • 基于被测试的程序、函数或系统处理逻辑的详细知识,来导出测试用例,比如:
    在这里插入图片描述
  • 相关的术语有:逻辑测试、控制流程测试、路径测试、事务流测试。

3.2.2 等价类划分

  • 输入范围被划分为“等价类”;
  • 一个特定等价类中的所有输入值,系统都表现出同一种行为;
  • 等价类划分的另一个术语是范围测试;
  • 分为有效等价类和无效等价类。

3.2.3 边界值分析

  • 即等价类划分的一个特殊化,独立于等价类的值被称为边界值;
  • 可用于输入范围和输出范围。

3.2.3 运行使用

  • 基于系统在实地的使用导出测试用例;
  • 即模拟真实情况的使用的测试用例。

3.2.4 CURD

  • 基于数据的生命周期(创建、读取、更新和删除)。

3.2.5 因果图

  • 将自然语言规范转变成更结构化、更正式规范的技术;
  • 适用于描述输入环境的组合影响。

3.3 正式或非正式

  • 正式的测试设计技术对于导出测试用例有严格的规定;
  • 相对于正式,非正式测试设计技术留给测试人员更多的自由空间。

3.4 适用范围

  • 不同的技术适用不同的范围;
  • 比如有的适用于测试构建内部的细节处理,有的适用测试功能\数据之间的集成,有的适用于测试系统与外部接口的交互。

3.5 被测试的质量特性

  • 一组足以覆盖待测试功能的测试用例,可能不适于测试系统性能或可靠性;
  • 选择特定的测试设计技术主要依赖于待测试的质量特性。

3.6 必须的测试基础类型

  • 由于测试设计技术被定义为“从测试基础导出测试用例的标准方法”,所以它要求有特定的测试基础类型。

http://www.ppmy.cn/news/969539.html

相关文章

数字化时代,智能文件工具让办公升级

无论是在办公室还是在学校,文件管理是我们日常工作中不可或缺的一环。传统的文件整理方式可能需要花费大量的时间和精力,而且常常容易出现混乱和遗漏。然而,随着科技的不断进步,我们现在有幸生活在一个数字化时代,因此…

「AMD史上最大芯片」炸场CES:1460亿晶体管,可大幅压缩ChatGPT训练时间

鱼羊 Alex 发自 凹非寺量子位 | 公众号 QbitAI 一颗芯片塞进1460亿个晶体管。 还号称能将ChatGPT、DALLE等大模型的训练时间,从几个月缩短到几周,节省百万美元电费。 就在科技春晚CES 2023上,苏妈带着AMD“迄今为止最大芯片”来炸场子了。 这…

全球爆火的ChatGPT,能否推动芯片市场增长?

“我所热爱的是我真实的生活,因为它包含了我所有的经历和感受,是我每一天都在体验和思考的。”这句非常有诗意的话,来自最近爆火的ChatGPT。 ChatGPT作为一款智能机器人,上知天文下知地理,不仅能写文案,还…

ChatGPT强势加入芯片设计!不用学专业硬件描述语言了,说人话就行

西风 发自 凹非寺量子位 | 公众号 QbitAI 和ChatGPT聊聊天,就可解决CPU开发过程中的一大难题? 纽约大学(NYU)研究人员完成了一件看似不可能的事情: 无需专业的硬件描述语言(HDL),仅靠…

ChatGPT 背后的英雄——AI芯片

本文分享自天翼云开发者社区《ChatGPT 背后的英雄——AI芯片》,作者:w****n AI芯片能为人工智能应用提供所需的基础算力;按技术架构主要分为GPU、FPGA和ASIC。ChatGPT 有着大量复杂计算需求的 AI 模型, AI 芯片专门用于处理人工智能应用中的…

《Java核心技术大会2023》——AIC松鼠活动第一期

共同深入探讨 Java 生态!直播预约:视频号“IT阅读排行榜” 大会简介 人工智能在22年、23年的再次爆发让Python成为编程语言里最大的赢家;云原生的持续普及令Go、Rust等新生的语言有了进一步叫板传统技术体系的资本与底气。我们必须承认在近…

ChatGPT发展的未来不可限量

ChatGPT是一个人工智能聊天机器人,它的发展历程可以分为以下几个阶段: 1. 初期阶段:ChatGPT的初期版本是由OpenAI团队开发的,它使用了大规模的神经网络模型,可以生成自然语言文本。这个版本的ChatGPT可以回答一些简单…

Unity与Android交互(双端通信)

前言 最近小编开始做关于手部康复的项目,需要Android集成Unity,以Android为主,Unity为辅的开发;上一篇给大家分享了Unity嵌入Android的操作过程,所以今天想给大家分享一下双端通信的知识; 一. Android与Un…