测试开发——测试分类

news2024/10/5 14:26:12

 

目录

一、 有关测试用例的回顾

二、 测试用例的划分

1、 按照测试对象来划分

可靠性测试

容错性测试 

内存泄漏测试 

弱网测试 

2、按照是否查看代码划分

3、按照开发阶段划分


一、 有关测试用例的回顾

万能测试用例设计公式

 

如何根据需求去设计测试用例?

1、验证需求的正确性,合理性,无二义性(没有歧义),逻辑自洽。
2、分析需求,细化需求,从需求中提取出测试项,根据测试项找到测试点,再根据测试点去具体的设计测试用例。

根据需求设计测试用例分为那两个方面?

1、功能性
  1.1、界面的所有功能不能遗漏(技巧:从上到下,从左往右,一层一层的扫描)
  1.2、把多个功能串联起来,形成 场景 / 业务,对 场景 / 业务 进行测试。
  1.3、针对一个功能的多个输入进行测试,观察输出是否与预期结果一致。
  1.4、同一个系统下,不同功能的交互性
  1.5、功能的异常测试
  1.6、功能所用到的算法,也是需要进行验证的。


2、非功能性
  易用性,容错性,安全性,性能,可维护性,可靠性,可移植性,稳定性,兼容性等等。。。


需要注意的是:不同类型的软件,非功能性测试的侧重点是不一样的。
面向客户端的软件:对 稳定性 和 兼容性 要求高,对 安全性 和 性能要求低。
面向企业内部的软件:对 功能性 和 可靠性 要求高,对 兼容性 和 性能 要求低。
大型商用软件:对 非功能性的各个方面的要求都很高!

具体的设计测试用的方法有哪些?

1、等价类【有效等价,无效等价】

2、边界值

3、判定表(因果图,使用场景较少)

4、场景设计法(不常见)

5、正交法(用的比较少)
6、错误猜测法 


 

二、 测试用例的划分

 

1、 按照测试对象来划分

 下面我们解释下上面提到的一些专业名词

2、可靠性测试

可靠性=正常运行时间 /(正常运行时间+非正常运行时间)* 100%
比如一节课45分钟,期间你上厕所5分钟、跑神10分钟,实际听课实际时间为30分钟。
则你课堂听课的可靠性为:30 /(30+5+10)* 100% = 66.7%

影响可靠性的因素
1、网络
2、软件环境(安装环境)
3、硬件环境

不管是上面那个环境的异常,都会使 软件运行发生异常。

软件自身

这里有一个问题:如果软件的自身没有问题,但是 软件部署的环境(网络 / 软件 / 硬件) 出了问题,使得软件不能正常运行的时间。
这个时间是否算入 软件非正常运行的时间里面?
也就是在问你:这个时间是否算入可靠性里面?


这个需要分情况讨论!

 

 

总的来说:上面的这四点,都是指 服务器那边 出现的问题 会导致 软件的可靠性降低。

就这么说吧:如果你和其他有人都用不了 微信,那肯定就是 微信服务器 那边出了问题。
而这个非正常运行的时间,需要算入可靠性里面的。

另外,前面也说过:不同的软件对于 非功能性 的 要求是不一样的。
也就是说:不同的软件对可靠性的要求是不一样的。

非时性软件可靠性的要求一般为 99.99 %。【实时性为 99.95 %】

————————————————

另外,还有一些特殊的软件(军事系统)对可靠性的要求更高:99.999 %
如果按一年365天来算的话:
可靠性为 99.99 %:它的非正常运行时间大约为 52 min
如果是 99.999 %,则为 5 min

————————————————

那么,可靠性怎么去测试呢?

通常是将软件运行一周,将出现故障的时间记下来,去计算百分比。
【PS:测试可靠性,让软件运行一年肯定是不现实】

 

容错性测试 

系统发生异常,或者由于用户的错误操作导致软件系统发生错误,软件自我消化掉错误,或者进行修改/修复,不让客户感知到系统内部的情况,就叫做 系统的容错性。


容错性和可靠性的区别

内存泄漏测试 

工作中:
1)人工检查
2)借助工具进行代码静态扫描
 

弱网测试 

那么如何计算上下行速率呢?

 

 

 

2、按照是否查看代码划分


黑盒测试
纯功能测试,不关心具体是怎么实现的、
白盒测试
关注程序的内部实现(单元测试)
灰盒测试
介于黑盒和白盒之间(继承测试)

为什么不能让灰盒测试(集成测试)取代黑盒测试和白盒测试?

灰盒测试没有白盒测试那么详尽,灰盒测试没有黑盒测试覆盖产品的广度大。
所以不能让灰盒测试(集成测试)取代黑盒测试和白盒测试

面试题
那种测试方法用到多?

黑盒测试和白盒测试,测试人员都会使用到,在工作中根据具体情况来
结合黑盒测试和白盒测试。
通常情况下对于测试人员来说:使用黑盒测试要来相对多一些。


 

3、按照开发阶段划分

 

冒烟测试

开发人员完成开发任务后,交给测试人员进行测试的第一步,评估软件/系统是否具备测试的条件 

 回归测试

 

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

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

相关文章

计算机视觉OpenCv学习系列:第三部分、滚动条操作

第三部分、滚动条操作第一节、滚动条操作1.事件响应函数(1)UI组件时间响应过程(2)事件响应函数(3)创建窗口函数(4)调整图像亮度2.滚动条操作3.代码练习与测试学习参考第一节、滚动条…

Python 协程学习有点难度?这篇文字值得你去收藏

Python 协程在基础学习阶段,属于有难度的知识点,建议大家在学习的时候,一定要反复练习。 Python 中的协程是一种用户态的轻量级线程。它与普通的线程不同,普通线程是由操作系统调度的,而协程是由程序自己调度的。因此&…

【ESP 保姆级教程】玩转emqx篇③ ——认证安全之使用内置数据库(Mnesia)的密码认证

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-01-15 ❤️❤️ 本篇更新记录 2022-01-15 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝&#x1f64…

Transformer模型详解相关了解

文章目录Transformer模型详解1.前言1.1 Transformer 整体结构1.2 Transformer 的工作流程2. Transformer 的输入2.1 单词 Embedding2.2 位置 Embedding3. Self-Attention(自注意力机制)3.1 Self-Attention 结构3.2 Q, K, V 的计算3.3 Self-Attention 的输…

《神经网络与深度学习》 邱希鹏 学习笔记(一)

一、机器学习的基本要素 机器学习的基本要素: 模型 学习准则 优化算法 其中模型分为线性和非线性。学习准则有用损失函数来评价模型的好坏,还有经验风险最小化准则,大概意思就是在平均损失函数中获得最小的损失函数,但是因为样本可能很小&…

Goodbye 2022,Welcome 2023 | 锁定 2023

引言又是一年春来到,新年应比旧年好。旧岁已辞,新年已到,新旧更迭之际,真想剪个头发换身行头,就能重新出发。但终究是要回头看看啊,那一路而来的荆棘与芬芳,才是成长的印记啊。那就回拨记忆&…

和涤生大数据的故事

1自我介绍 大家好,我是泰罗奥特曼,毕业于东北的一所不知名一本大学,学校在一个小城市里面,最热闹的地方是一个四层楼的商城,专业是信息管理与信息系统,由于是调剂的,所以我也不知道这个专业是干…

一篇文章带你学完JavaScript基础知识,超全的JavaScript知识点总结

目录 内置函数 alert警告框 promopt提示框 console控制台 字面量 数字型 字符串型 变量 声明与赋值 类型检测 类型转换 比较运算符 逻辑运算符 条件句 if else switch break,continue while 赋值运算符 函数 关键字形式函数 变量认知 作用域 表达式…

什么样的故障让阿里云换了总裁?

📣📣📣📣📣📣📣 🎍大家好,我是慕枫 🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识 &#x…

SpringBoot数据访问Redis

目录 前言 1、Redis自动配置 2、RedisTemplate与Lettuce 3、切换至jedis 前言 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串…

基于贝叶斯算法的邮件过滤管理系统的设计和实现(Vue+SpringBoot)

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

Java对象引用级别

为了使程序能更灵活地控制对象生命周期,从 JDK1.2 版本开始,JDK把对象的引用级别由高到低分为强引用、软引用、弱引用、虚引用四种级别。 强引用 StrongReference 强引用是我们最常见的对象,它属于不可回收资源,垃圾回收器&…

区块链技术3--BTC协议

1数字货币中经常出现的问题:双花攻击 数字货币本身为带有签名的数据文件,可以进行复制。即:对用户来说,可以将同一货币花费两次。对货币添加唯一编号(不可篡改),每次支付向货币发行单位查询真伪…

数据标注平台(CVAT)安装及踩坑记录

目录 一、CVAT安装 step1 安装docker step2 获取权限 step3 获取权限 step4 克隆cvat源代码 step5 构建docker镜像 step6 运行Docker容器这一步要下载公共docker映像,耗时看网速,但是不会太久。 step6 创建管理员用户 step7 关闭cvat服务 二、…

算法第十二期——BFS-判重

目录 BFS判重 Python判重方法: set、字典 set()判重 字典判重 例题:跳蚱蜢 思路 【建模】 去重 代码一:字典去重(用list实现队列) 代码二:set()去重(用list实现队列) 代码二&#xff…

CRMEB开源商城部署在腾讯云2

目录PHP在安装过程中会监测Redish5跨域PHP在安装过程中会监测Redis public\install\index.php if (extension_loaded(redis)) {$redis <span class"correct_span">&radic;</span> 已安装;} else {$redis <a href"https://doc.crmeb.com/w…

2个大厂 100亿级 超大流量 红包 架构方案

2个大厂 100亿级 超大流量 红包 架构方案 文章目录2个大厂 100亿级 超大流量 红包 架构方案100亿级 红包 应用 场景概述百亿级 微信红包技术架构架构**南北分布****拆红包入账异步化****发拆落地&#xff0c;其他操作双层cache**高并发**红包算法****柔性降级方案**360w QPS 10…

Nginx与LUA(3)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e;在互联网应用中&#xff0c;很多场景都会涉及到高并发请求&#xff0c;如果不对这些请求做限制&#xff0c;那么服务器很快就会被挤垮。就像在12306买票一样&…

计算机图形学实习教程之基本图形的生成(扫描线填充算法+图形缩放算法+对称变换算法+消隐算法+金刚石图案算法),利用C#实现,附源码

环境&#xff1a;Win10Visual Studio 2022 Community 在本次实验中需要用到第一篇文章实验内容的代码及环境&#xff0c;详情请见&#xff1a;传送门 目录 一、实验目的 二、实验步骤 1.扫描线填充算法 2.图形的缩放算法 3.对称变换算法 4.消隐算法 5.金刚石图形算法 一…

Unity 3D 人形角色动画(Avatar)||Unity 3D 导航系统||Unity 3D 障碍物

Unity 3D 人形角色动画&#xff08;Avatar&#xff09; Mecanim 动画系统适合人形角色动画的制作&#xff0c;人形骨架是在游戏中普遍采用的一种骨架结构。。 由于人形骨架在骨骼结构上的相似性&#xff0c;用户可以将动画效果从一个人形骨架映射到另一个人形骨架&#xff0c…