软件测试 | 测试用例

news2024/11/22 19:32:59

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境,测试步骤,测试数据,预期结果等要素。 

设计测试用例原则⼀:

测试用例中⼀个必需部分是对预期输出或结果进行定义 。

在软件中,涉及到的特性太多了 仅仅通过头脑风暴是无法完成一次完整的测试。

通过编写测试用例,可以想到要测试哪些内容,通过一次又一次的更新修改将测试用例写到完成,功能覆盖率更高即可。

编写测试用例也有讲究(编写测试用例要素),但是这种讲究很早之前用得较多(通过excel表格来编写和管理测试用例),现在用的少(脑图/思维导图)。 

根据需求文档通过excel编写测试用例(涉及到测试用例的要素):

通过思维导图编写测试用例:

原则二:

1.测试用例的编写不仅应当根据有效和预料到的输⼊情况,而且也应该根据无效和未预料到的输入情况。

2.检查程序是否“未做其应该做的”仅是成功的⼀半,测试的另⼀半是检查程序是否“做了其不应该做的”。(是上⼀条原则的必然结果)

正确设计测试用例的思想:常规思维+逆向思维+发散性思维。

设计测试用例公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

功能测试从产品功能角度出发,验证功能是否是正确的
界面测试肉眼可见的部分都成为界面,界面所有元素都需要测试
性能测试通常为一些极端情况
兼容性测试不同版本(软件,系统)浏览器的兼容性,不同的浏览器等
易用性测试具备简单易上手的属性(引导教程)
安全测试

是否具备危险材质,气味;

接口响应数据也需要考虑到用户数据的安全性;

登录场景需要将密码进行加密展示;

数据存储用户隐私数据是否加密;

SQL注入;

越权...

除了上述,还有一些特殊的测试场景~

弱网测试:目的就是为了覆盖更多的网络场景,尽可能保证用户体验。关键点包括:

  • 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间, 首屏时间等。
  • 页面呈现是否完成⼀致
  •  超时文案是否符合定义,异常信息是否显示正常。
  • 是否有超时重连。
  • 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。
  • ⼤流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。

可以借助抓包工具来模拟实现弱网测试:fiddler,Charles等

 使用fiddler演示:

 

安装卸载测试:针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载。

  • 安装:安装包是否可以安装,卸载之后是否可以继续安装重复安装...软件更新后安装是否成功
  • 卸载:安装完成后卸载,安装一半后卸载,卸载一次后继续安装继续卸载,卸载一半停止后是否还可以继续卸载...

案例:水杯 的测试用例

以上就是根据需求文档设计初步的测试用例~


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

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

相关文章

进程间通信:采用有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.

作业1&#xff1a;有名管道&#xff0c;创建两个发送接收端&#xff0c;父进程写入管道1和管道2&#xff0c;子进程读取管道2和管道1. 右进程 #include <myhead.h> int main(int argc, const char *argv[]) {pid_t pidfork();if(pid>0)//父进程&#xff0c;将数据发…

PHP软件下载-安装-环境配置

.1.下载 下载地址如下 windows.php.net - /downloads/releases/ 安装包如下. .2.安装 可以在D盘或者E盘的根目录创建一个自定义目录。注意文件夹目录中不能包含中文&#xff0c;不能包含空格等特殊字符。 版本说明&#xff1a; (1)ts表示非线程安全版本。这个安装包还指明了…

easypoi实现ftl转doc文档(循环填充数据)

1.pom文件 java <dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId></dependency><!-- EasyPoi依赖 --><dependency><groupId>cn.afterturn</groupId><artifactId>easypo…

【生日视频制作】室内告白表白祝福布置霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板】

室内告白表白祝福布置霓虹灯生日视频制作教程AE模板改字生成器 怎么如何做的【生日视频制作】室内告白表白祝福布置霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频

select epoll搭建并发式服务器

select 在C语言中&#xff0c;使用select函数可以创建一个并发式服务器。select是一个系统调用&#xff0c;它允许服务器同时监视多个文件描述符&#xff08;如套接字&#xff09;&#xff0c;以便知道哪个文件描述符准备好了进行读取或写入操作。这使得服务器能够同时处理多个…

Python简介、发展史

Python简介、发展史 本文目录&#xff1a; 零、时光宝盒 一、Python简介 二、Python设计者 三、Python发展史 四、Python语言的编程语言特性 五、Python现状 六、Python的未来 零、时光宝盒 我家所在的楼是3栋楼连接在一起的建筑&#xff0c;也就是3栋楼楼顶建筑上互通。…

学习笔记——后端项目中的相关技术 【随时更新】

文章目录 1. Session 共享1.0 cookie和session的工作流1.1 Cookie范围1.2 为什么要共享&#xff1f;1.3 如何共享存储1.4 session共享实现 1. Session 共享 1.0 cookie和session的工作流 在 Web 开发中&#xff0c;Cookie 和 Session 是非常常见的&#xff0c;尤其是在处理用…

使用 Java 在 Android 平台上通过 socket 实现进程间通信

引言 Socket是位于应用层和传输层之间的一个抽象层&#xff0c;把TCP/IP层复杂的操作抽象为几个简单的接口&#xff0c;供应用层调用以实现进程在网络中通信。 Socket分为流式套接字和数据包套接字&#xff0c;分别对应网络传输控制层的TCP协议和UDP协议。TCP协议是一种面向连…

Qt之界面优化

目录 前言 QSS基础知识 选择器 样式属性 控件样式⽰例 绘图 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗-----------林辞忧 前言 Qt 仿照CSS的模式,引⼊了QSS,来对Qt中的控件做出样式上的设定,从⽽允许程序猿写出界⾯更好看 的代码.当然,由于Q…

【面试题系列Vue05】跟其他人不太一样的 Vue生命周期总结

既然要讲 生命周期&#xff0c;那渲染过程得先了解下。 数据绑定 Vue 文本插值 在 Vue 中&#xff0c;最基础的模板语法是数据绑定&#xff0c;例如&#xff1a; <div>{{ data }}</div>这里绑定了一个 msg 的变量&#xff0c;开发者在 Vue 实例 data 中绑定该变…

DataWhale AI夏令营-《李宏毅深度学习教程》笔记-task2

DataWhale AI夏令营-《李宏毅深度学习教程》笔记 第四章 卷积神经网络卷积神经网络构成一个通俗的例子 第四章 卷积神经网络 这部分看书的时候感觉云里雾里的&#xff0c;好在之前学过一些卷积神经网络、全链接、感受野的概念&#xff0c;我就用自己的理解阐述一篇笔记吧&…

idea插件开发(一)合并检查

一、引言 由于代码合并冲突的时候&#xff0c;代码丢失的情况频发&#xff0c;作者研究idea的VFS虚拟文件系统和Git4ide源码&#xff0c;创作idea插件检测代码合并丢失 可以区分主动删除与被动丢失&#xff0c;比如本地或者删除一段代码&#xff0c;合并之后不会被认为是丢失…

华为云 x 容联云|828企业节,助推中国数智产业实力再升级

2024年8月27日&#xff0c;华为第三届828 B2B企业节在2024中国国际大数据产业博览会上正式开幕。 828 B2B企业节是全国首个基于数字化赋能的企业节&#xff0c;由华为联合上万家生态伙伴共同发起&#xff0c;旨在为广大企业尤其是中小企业搭建数字化创新发展平台&#xff0c;融…

C语言基础(二十二)

在C语言中&#xff0c;对链表进行排序涉及到比较链表中的节点值&#xff0c;并根据比较结果重新排列这些节点。由于链表是非连续存储的数据结构&#xff0c;其排序比数组排序要复杂一些。由链表的结构特性可知&#xff0c;插入排序和归并排序更适合链表排序。 测试代码1&#…

力扣之1853.转换日期格式

文章目录 1. 1853.转换日期格式1.1 题干1.2 建表1.3 题解1.4 实现方式1.5 题解1.6 知识总结 1. 1853.转换日期格式 1.1 题干 表: Days ----------------- | Column Name | Type | ----------------- | day | date | ----------------- day 是这个表的主键。 给定一个Days表&…

基于Spring Boot的陶瓷文化网站的设计与实现

毕业设计&#xff08;论文&#xff09; 论文题目&#xff1a;基于Spring Boot的陶瓷文化网站的设计与实现 博主可接毕设论文&#xff01;&#xff01;&#xff01; 摘 要 中国悠久的陶瓷艺术&#xff0c;作为民族文化遗产的重要载体&#xff0c;历经时代的洗礼&#xff0c;其…

kube-scheduler组件的启动流程与源码走读

概述 摘要&#xff1a;kube-scheduler是kubernetes系统中的重要组件&#xff0c;kub-scheduler 的核心职责是为待调度的 pod 寻找一个最合适的 node 节点, 然后进行 bind node 绑定, 后面 kubelet 才会监听到并创建真正的 pod。kub-scheduler本身是一个功能强大且负责的核心组…

使用Axure打造智慧场景下的数据可视化大屏原型

在数字化转型的浪潮中&#xff0c;数据可视化大屏以其直观、动态、高效的特性&#xff0c;成为了智慧社区、智慧城市、智慧工厂、智慧园区等各个领域不可或缺的展示窗口。作为专业的原型设计软件&#xff0c;Axure不仅以其强大的交互设计能力著称&#xff0c;更在数据可视化大屏…

线段树小例题——结合前后缀获得结果

和我今天上午写的那个前后缀太像了&#xff0c;不能说一模一样&#xff0c;但是至少我觉得思路是真的一点没变 上一道题的链接&#xff1a;http://t.csdnimg.cn/pXBnU P4513 小白逛公园 题意&#xff1a;有n个点&#xff0c;每个点都有一个初值&#xff0c;然后有m个操作&am…

SQL慢查询优化方式

目录 一、SQL语句优化 1. 避免使用 SELECT * &#xff0c;而是具体字段 2.避免使用 % 开头的 LIKE 的查询 3.避免使用子查询&#xff0c;使用JOIN 4.使用EXISTS代替IN 5.使用LIMIT 1优化查询 6.使用批量插入、优化INSERT操作 7.其他方式 二、SQL索引优化 1.在查询条件…