软件测试理论基础Part2

news/2024/6/29 8:51:00

测试用例设计

等价类划分法

  • 有效等价类
    • 满足需求的
  • 无效等价类
    • 不满足需求的

等价类划分方法操作步骤

  • 明确需求
  • 确定有效和无效等价类
  • 编写测试用例

边界值划分法

边界范围

  • 上点
    • 处在边界上的点(正好等于)
  • 离点
    • 离上点最近的点
  • 内点
    • 范围内的点

开区间,闭区间

  • [开始值,结束值] - 闭区间,包含开始值,包含结束值
  • (开始值,结束值) - 开区间,不包含开始值,不包含结束值
[20,30] 大于等于20,小于等于30 闭区间 20,和30是上点 25内点 19,31是离点 离点是无效数据
(20,30)大于20,小于30 开区间 20,30是上点,25是内点,21,29是离点,这里的离点是有效数据
(20,30] 大于20,小于等于30 左开右闭区间
[20,30)大于等于20,小于30 左闭右开区间
  • 对于闭区间,上点是有效数据,离点是无效数据
    对于开区间,上点是无效数据,离点是有效数据
    不管开和闭区间,内点都是有效数据

使用边界值法步骤

  • 明确需求
  • 明确有效和无效等价类
  • 确定边界值
  • 编写测试用例

判定表法

引入

  • 案例:若用户欠费或者关机,则不允许主被叫
等价类划分法和边界值分析法都是着重考虑单个输入的输入条件,但是
没有考虑输入条件的各种组合、输入条件与输出条件之间的相互制约关系.
所以要使用判定表法才能解决上述案例编写测试用例的过程
  • 判定表法表示的是有多个输入,和多个输出,而且输入和输入之间有相互的组合关系、输入和输出之间有相互的依赖关系

判定表的四个组成部分

  • 判定表通常由四个部分组成
    1. 条件桩:列出了系统的所有输入,列出的输入次序无关紧要
    2. 动作桩:列出了系统可能采取的操作,这些操作的排序顺序没有约束
    3. 条件项:列出针对它左列输入的取值,在所有可能情况下的真假值
    4. 动作项:列出在输入项的各种取值情况下应该采取的动作

注:判定表中贯穿条件项和动作项的一列就是一条规则

使用判定表步骤

  • 先明确需求
  • 画判定表
    • 先画条件桩
    • 然后动作桩
    • 罗列条件桩的不同组合
    • 根据条件项完成动作项
  • 编写测试用例
    • 判定表中的一条规则对应一条测试用例

不能直接用判定表去执行测试

通过判定表编写测试用例,用测试用例去执行测试操作

测试用例有很重要的两个原则

  • 能看懂
  • 能执行

因果图法

待完善

正交法

适用范围

  • 当可能得输入数据或者输入数据的组合量很大是,由于不可能位每个输入组合都创建测试用例,可以采用这种方法.

特点

均匀分散,齐整可比

正交表的概念

  • 一种特制的表,一般的正交表标记为:$L_n(m^k)$
  • n表示行数
  • k表示列数
  • m是列的取值个数

如:$L_9(3^4)$

有四个列
每个列3个取值
9位列的组合个数
叫4因素3水平

使用正交表步骤

  • 明确需求

  • 绘制正交表

    • 先确定列数
    • 确定正交表每列的取值个数
    • 根据因素和水平可以确定行数
  • 根据正交表编写测试用例

    • 正交表的一行代表一条测试用例

场景法

定义

  • 场景法是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例

场景法的意义

  • 用户角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
  • 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

场景法设计测试用例步骤

  1. 明确需求
  2. 画出流程图
  3. 编写测试用例
  • 用流程图描述用户的使用场景

  • 用覆盖流程路径来设计测试用例

    • 从流程图开始到结束,有几条路就是几个路径
    • 一个路径对应一条测试用例

案例——使用ATM机取款

ATM机取款流程图

错误推测法

错误推测法是指利用直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法。

  • 基本思想:

    • 基本思想是列举出可能犯的错误或错误容易发生的清单,然后根据清单编写测试用例;
    • 这种方法很大程度上是凭经验进行的,即凭人们对过去所作测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷。
  • 使用场景

    • 项目紧任务急、时间不够、这时就不要按部就班的测试了,根据之前项目的经验,找到之前出错过的类似模块进行重点测试
    • 所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/47013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

解决Ubuntu 下 idea Dock 图标显示错乱

问题表现 通过官网下载的 idea ubuntu 安装包安装之后,默认是需要通过 sh 脚本运行的,我们可以通过在 /usr/share/applications 创建一个 .desktop 的文件,来生成一个可以被 ubuntu 识别的应用。在我的 Ubuntu 下,idea 的配置如下: [Desktop Entry]Name=IntelliJ IDEA Com…

kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数

场景: kettle中http post步骤如何发送http请求且传递body参数? 解决方案: http post步骤中直接设置Request entity field字段即可。 1、手边没有现成的post接口,索性用python搭建一个简单的接口,关键代码如下(安装python环境略):from flask import Flask, request, jso…

Dynamics CRM 365 验证客户端的网络容量和吞吐量

如何检查延迟 Customer Engagement 应用包括一个基本的诊断工具,用于分析客户端与组织的连接并生成报告。若要运行诊断工具,请按照下列步骤操作。在用户的计算机或设备上,启动 Web 浏览器,然后登录到组织。 输入以下 URL https://myorg.crm.dynamics.com/tools/diagnostics…

博客园美化教程 可自制(附代码)

博客美化 由于有小伙伴需要这些好看的代码,我就把自己从网上整合的一些代码分享给各位。 主要参考了凌云_void大佬的博客 申请JS权限 第一步你需要申请一个博客, 审核通过之后在博客后台的设置中找到申请js权限 理由积极向上即可 通过后就可以开始后门的步骤了,差不多半个小…

中考后刷题补题合集

T1(莫队,增量式维护答案) https://www.luogu.com.cn/problem/P1494 1731。 看上一篇总结的莫队。双倍经验。QAQ #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath>using namespace std;typed…

go gin web服务器使用fvbock/endless优雅地重启或停止

gin使用fvbock/endless gin 正常使用注册路由时: package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.Run() // 监听并…

typroa图片上传脚本

typroa的图片上传脚本,针对Telegraph-Image项目,适用于macOS和Linux系统。安装json处理器macOSbrew install jqLinux:# Debian/Ubuntu apt install jq -y​ 脚本配置 编辑脚本,在以下位置填入你的图床url: # 自定义URL部分 base_url=""注意:网址url后不需要加 …