软件质量属性:可测试性

2023-10-27

测试的目的:尽可能多地发现软件中存在的BUG,不符合需求的部分或者是未实现的需求

测试的意义:尽可能确保软件正式上线运行后不出现问题,减少潜在的风险和损失

可测试性定义:指软件测试的难易度和效率,如果测试结果越直观,测试效率越高,可测试性就越好。

因为软件测试主要分为黑盒测试和白盒测试,前者只关注输入和输出是否对因,后者要关心内部逻辑是否正确,所以提高可测试性的思路也围绕着这两种方法进行

对于黑盒测试,主要策略有:1.记录/回放:用自动化/半自动化的方式测试,测试工具来模拟人与系统的交互

2.把接口和实现分开:即对于同一功能的一些函数,使它们的参数列表和输出或返回格式相同,这样一段测试代码可以重复使用

3.提供专用的测试路径

对于白盒测试,主要策略是内部监控,通过各式各样的测试工具或IDE,监控整个程序执行过程中,每一步的输入输出和变量的变化

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件质量属性:可测试性 的相关文章

  • 第十四届蓝桥杯国赛python青少组题目

    LQGS14PB01 时间限制 3000MS 内存限制 589824KB 题目描述 编程实现 注 input 输入函数的括号中不允许添加任何信息 给定一个字符串S S长度 lt 100 统计字符串中字母一共有多少个 例如 S 1Abb 其中
  • keil 软件如何生成.hex文件

    1 当程序编译通过没错误了 按照下图步骤勾选 点击魔术棒 output界面 勾选hex 2 勾选完点击ok 再对程序进行编译 出现下图内容 则生成hex文件成功
  • C++ 学习笔记(二)

    C 继承与派生 1 公有继承 是指在源生一个类时继承方式为public的继承方式 在public继承方式下 基类成员在派生类中的访问权限为 基类的公有和保护成员的访问属性在派生类中不变而基类的私有成员不可访问 即基类的公有成员和保护成员被继
  • Vue中 element的table表格导入 与 导出为excel表格的实现

    Vue中 element的table表格导入 与 导出为excel表格的实现 一 导入 2 1 安装xlsx插件 2 2 新建导入功能组件 2 3 注册全局的导入excel组件 2 4 创建导入路由组件 2 5 封装导入接口 实现excel
  • QM二面

    目录 如何在笔记本上添加永久路由 扩展 Linux如何查看并杀死进程 模拟场景 动态路由协议和DNS的共同之处 如何在笔记本上添加永久路由 route print 查看路由表 添加路由的命令 route add 网段 mask 子网掩码 网
  • 从二叉树到堆排序

    目录 一 树 1 树的基本概念 2 二叉树 1 最常见表示二叉树的方法 2 满二叉树 3 完全二叉树 4 二叉树的性质 5 存储结构 二 堆 1 逻辑结构与存储结构 2 堆的特性 3 向下调整算法 4 建堆 5 堆排序 一 树 1 树的基本
  • 数据库模糊查询

    常用的模糊查询语句有 1 like 查询姓李的同学 使用like like 结合 代表多个字符 代表一个字符 SELECT id myname FROM aaa WHERE myname LIKE 李 like的用法就像我们使用百度搜索时啊
  • MQTT通讯之连接MQTT服务器

    根据 添加链接描述 和 添加链接描述 我的APP已经成功连接上MQTT服务器 至于怎么发布和接收 正在研究 研究好了 发上来 作者写的代码是Java的 但现在都推荐Kotlin 我就把转好的Kotlin代码发出来 package com e
  • Anaconda Python Pytorch (GPU) 配置

    目录 0 写在前面 1 Anaconda下载 1 1 下载 1 2 安装 1 2 1 设置安装路径 1 2 2 两个都勾上 1 3 查看conda版本 2 CUDA及cuDNN 2 1 查看是否可以安装CUDA 2 2 CUDA和Pytor
  • 【2022最新Java面试宝典】—— Java基础知识面试题(91道含答案)

    目录 一 Java概述 1 何为编程 2 什么是Java 3 jdk1 5之后的三大版本 4 Jdk和Jre和JVM的区别 5 什么是跨平台性 原理是什么 6 Java语言有哪些特点 7 什么是字节码 采用字节码的最大好处是什么 8 什么是
  • 什么是芯片?

    https zhuanlan zhihu com p 228757435 utm source weibo utm medium social utm oi 895441374156029952 utm content snapshot 什
  • k8s_day07_02

    k8s day07 02 静态密码方式认证k8s kubeconfig 1 kubeconfig 配置文件 在 etc kubernetes 有conf 结尾的文件 那个就是kubeconfig 类型的配置文件 用于控制节点组件 和api交
  • HBuilderX安装教程(非常详细)从零基础入门到精通,看完这一篇就够了

    一 下载安装 1 在地址栏中直接输入https www dcloud io 2 点击箭头所指 进去过后点击DOWNLOAD 3 点击过后 选择自己所需要的版本 HBuilder目前有两个版本 一个是windows版 一个是mac版 下载的时
  • python垃圾回收

    Python内存管理机制 Python内存管理机制主要包括以下三个方面 引用计数机制 垃圾回收机制 内存池机制 引用计数 举个例子说明引用是什么 a 1 如上为一个简单的赋值语句 1就是对象 a就是引用 引用a指向对象1 同理 b 1 b也
  • Configuring VM Acceleration on Windows

    http developer android com tools devices emulator html Configuring Virtual Machine Acceleration Caution As of SDK Tools
  • Java中String类,StringBuffer类和StringBuilder类

    底层分析 1 String类 String类对象代表不可变的字符序列 其底层结构如下 public final class String implements java io Serializable Comparable

随机推荐

  • quartz定时任务详解

    开始 application quartz xml
  • 前端面试题总结

    1 this指向问题 1 以函数的形式 包括普通函数 定时器函数 立即执行函数 调用时 this 的指向永远都是 window 比如fun 相当于window fun 2 以方法的形式调用时 this 指向调用方法的那个对象 3 以构造函数
  • NTP协议介绍

    查看原作者 转载自 NTP协议介绍 2013 06 19 14 50 50 转载 SNTP协议原理 SNTP是简单网络时间协议 Simple Network Time protocol 的简称 它是目前Internet网上实现时间同步的一种
  • 【分布式】分布式事务:2PC

    分布式事务的问题可以分为两部分 并发控制 concurrency control 原子提交 atomic commit 分布式事务问题的产生场景 一份数据被分片存在多台服务器上 那么每次事务处理都涉及到了多台机器 可序列化 并发控制 定义了
  • HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器

    HttpServer的特点 1 完全采用IOCP模型 实现真正的异步IO 高并发 高可靠 2 支持4G以上文件下载 3 支持断点续传 4 轻量级 体积小 服务器文件仅200多K 无任何依赖库 5 支持CGI网关 通过CGI xml可动态配置
  • 二进制补码运算

    二进制负数的在计算机中采用补码的方式表示 很多人很好奇为什么使用补码 直接使用原码表示多好 看上去更加直观和易于计算 然而事实告诉我们 这种直观只是我们人类的一厢情愿罢了 在计算机看来 补码才是它们最想要的 那么 为什么计算机使用补码更好
  • Flask对数据库的增删改查

    一 从数据库获取数据返回 在配置好连接数据库的文件后 编写类视图 定义get方法 使用marshal返回数据 class SubResorce Resource def get self ret Sub query all return m
  • IDEA上传项目提示Push rejected: Push to origin/master was rejected的解决办法

    idea中 发布项目到码云 push 提示 push to origin master war rejected 解决方案如下 切换到自己项目所在的目录 右键选择git bash here 在窗口中依次输入命令 git pull git p
  • DVWA靶场实战

    提示 本文主要讲解DVWA靶场的主要功能和用处 简单的了解并学习DVWA靶场实战 不断地更新 一 DVWA靶场的功能介绍 DVWA共有十个模块 分别是 Brute Force 暴力 破解 Command Injection 命令行注入 CS
  • 输出字符串的子串

    我们经常碰到这样一个问题 怎样快速输出一个字符串的子串 这种问题通常有两种形式 1 输出连续子串 例如 假设字符串的长度为n 其非空子串的数目为你n n 1 2个 例如字符串 abc 的连续子串有 a b c ab bc abc 利用代码实
  • Flink 1.10编译实战(CDH版本)

    Flink1 10增加了一些新的特性 Flink 1 10 0 正式宣告发布 作为 Flink 社区迄今为止规模最大的一次版本升级 Flink 1 10 容纳了超过 200 位贡献者对超过 1200 个 issue 的开发实现 包含对 Fl
  • mysql组内排序

    比如说要获取班级的前3名 oracle 可以用 over partition by 来做 mysql就可以用GROUP CONCAT GROUP BY substring index实现 考试表 DROP TABLE IF EXISTS t
  • NLP:nltk+stanfordNLP

    1 NLTK import nltk form nltk book import 2 NLTK中使用stanfordNLP http www zmonster me 2016 06 08 use stanford nlp package i
  • SpringCloud Alibaba史上最强详解与史上最系统框架搭建

    框架实现代码资源地址 springCloud dataservice bus zip springcloudalibaba搭建 Java文档类资源 CSDN下载 目录 一 官网集合 Springboot官网 中文文档 Mybatis官网 S
  • TCP与UDP(非常详细)

    笔记记录 目录 前言 TCP UDP TCP UDP 区别 总结 前言 TCP IP模型是一些列协议的总称 TCP UDP IP FTP HTTP ICMP SMTP 这些协议可以划分为四层 链路层 网络层 传输层 应用层 TCP和UDP都
  • Oracle 11g客户端连接Oracle 12c服务器错误 ORA-28040

    问题描述 oracle服务器端版本 oracle 12 2 0 1 0 oracle客户端版本 oracle 11 2 0 1 0 在客户端访问oracle 12c提示如下错误 sqlplus scott scott 192 168 100
  • JSON是什么?如何正确理解?

    1 背景介绍 什么是JSON JSON JavaScript Object Notation JS 对象标记 是一种轻量级的数据交换格式 它基于 ECMAScript w3c制定的js规范 的一个子集 采用完全独立于编程语言的文本格式来存储
  • 遗传算法解释

    遗传算法是一种基于自然遗传和进化规律的人工智能算法 它通过模拟生物进化的过程 来解决各种复杂问题 遗传算法的基本流程如下 初始化 随机生成一些解作为初始种群 评估 评估每个解的适应度 根据适应度的高低决定哪些解具有更好的进化前景 交叉 选择
  • 最大连续区间和C++

    在求连续区间的最大和是一种动态规划的常见例题 那么如何能快速求算得一个长度为n的数组的最大连续区间和 第一反应当然是 通过暴力计算每一个区间的和进而求其最大值 但时间复杂度到达了不可接受的O n 2 而比较好的算法如下 include
  • 软件质量属性:可测试性

    测试的目的 尽可能多地发现软件中存在的BUG 不符合需求的部分或者是未实现的需求 测试的意义 尽可能确保软件正式上线运行后不出现问题 减少潜在的风险和损失 可测试性定义 指软件测试的难易度和效率 如果测试结果越直观 测试效率越高 可测试性就