当前位置: 首页 > news >正文

【系统架构设计师】测试方法

目录

          • 1. 说明
          • 2. 静态测试
          • 3. 动态测试
          • 4. 黑盒测试
          • 5. 白盒测试
          • 6. 灰盒测试
          • 7. 自动化测试
          • 8.例题
            • 8.1 例题1

1. 说明
  • 1.软件测试方法的分类有很多种,以测试过程中程序执行状态为依据可分为静态测试(Static Testing,ST)和动态测试(Dynamic Testing,DT);以具体实现算法细节和系统内部的相关情况为根据可分黑盒测试、白盒测试和灰盒测试3类。
  • 2.p205
2. 静态测试
  • 1.静态测试是被测程序不运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。
  • 2.即通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而来找出错误。
  • 3.例如不匹配的参数,未定义的变量等。
3. 动态测试
  • 1.动态测试与静态测试相对应,是通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。
  • 2.这种方法可简单分为3个步骤:构造测试实例、执行程序以及分析结果。
4. 黑盒测试
  • 1.黑盒测试将被测程序看成是一个黑盒,工作人员在不考虑任何程序内部结构和特性的条件下,根据需求规格说明书设计测试实例,并检查程序的功能是否能够按照规范说明准确无误的运行。
  • 2.其主要是对软件界面和软件功能进行测试。
  • 3.对于黑盒测试行为必须加以量化才能够有效的保证软件的质量。
5. 白盒测试
  • 1.白盒测试主要是借助程序内部的逻辑和相关信息,通过检测内部动作是否按照设计规格说明书的设定进行,检查每一条通路能否正常工作。
  • 2.白盒测试是从程序结构方面出发对测试用例进行设计。
  • 3.主要用于检查各个逻辑结构是否合理,对应的模块独立路径是否正常以及内部结构是否有效。
  • 4.常用的白盒测试法有控制流分析、数据流分析、路径分析、程序变异等。
  • 5.根据测试用例的覆盖程度,分为语句覆盖、判定覆盖、分支覆盖和路径覆盖等。
6. 灰盒测试
  • 1.灰盒测试介于黑盒和白盒测试之间。
  • 2.灰盒测试除了重视输出相对于输入的正确性,也看重其内部的程序逻辑。
  • 3.但是,它不可能像白盒测试那样详细和完整。
  • 4.它只是简单地靠一些象征性的现象或标志来判断其内部的运行情况,因此在内部结果出现错误,但输出结果正确的情况下可以采取灰盒测试方法。
  • 5.因此在此情况下灰盒比白盒高效,比黑盒适用性广的优势就凸显出来了。
7. 自动化测试
  • 1.自动化测试就是软件测试的自动化,即在预先设定的条件下自动运行被测程序,并分析运行结果。
  • 2.总的来说,这种测试方法就是将以人驱动的测试行为转化为机器执行的一种过程。
8.例题
8.1 例题1
  • 1.题目
1.测试一般分为两个大类:动态测试和静态测试。前者通过运行程序发现错误,包括()等方法;
后者采用人工和计算机辅助静态分析的手段对程序进行检测,包括()等方法软件
问题1
A.边界值分析、逻辑覆盖、基本路径
B.桌面检查、逻辑覆盖、错误推测
C.桌面检查、代码审查、代码走查
D.错误推测、代码审查、基本路径

问题2
A.边界值分析、逻辑覆盖、基本路径
B.桌面检查、逻辑覆盖、错误推测
C.桌面检查、代码审查、代码走查
D.错误推测、代码审查、基本路径
  • 2.解析
1.动态测试是通过运行程序发现错误,包括黑盒测试(等价类划分、边界值分析法、错误推测法)与白盒测试(各种类型的覆盖测试)。
2.静态测试是人工测试方式,包括桌前检查(桌面检查)、代码走查、代码审查。

相关文章:

  • 【Java项目】基于JSP的二手手机回收系统
  • Stable Diffusion 模型文件 .ckpt 与 .safetensors 的区别
  • html中利用 onerror 事件监听图片加载错误的情况
  • Android Retrofit 框架的接口代理与调用模块源码分析(二)
  • 【2025】Electron 基础二(进程模型三大核心)
  • 碳中和小程序:助力用户记录低碳行为,推动环保生活
  • 03_添加一个简单的字符设备并支持read操作
  • OpenManus测出死循环bug
  • 球衣号码选几号最好·棒球1号位
  • GStreamer —— 2.16、Windows下Qt加载GStreamer库后运行 - “播放教程 2:字幕管理“(附:完整源码)
  • 文摘:关于提问
  • maven的项目构建
  • iOS中的设计模式(八)- 桥接模式
  • 前端如何发布npm包
  • 【力扣刷题实战】查找总价格为目标值的两个商品
  • C++从零实现Json-Rpc框架
  • Flink测试环境Standalone模式部署实践
  • Java17中LinkedList类介绍、应用场景和示例代码
  • 《AI浪潮中的璀璨新星:Meta Llama、Ollama与DeepSeek的深度剖析》
  • Yashan DB 文件管理
  • 下辖各区密集“联手”,南京在下一盘什么样的棋?
  • 当智慧农场遇见绿色工厂:百事如何用科技留住春天的味道?
  • 多个“首次”!上市公司重大资产重组新规落地
  • 上海:到2027年,实现近海航线及重点海域5G网络高质量覆盖
  • 我使馆就中国公民和企业遭不公正待遇向菲方持续提出严正交涉
  • 受关税政策影响,沃尔玛将上调部分商品在美售价