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

13.3测试用例进阶

一.测试对象划分

1.界面测试(参考软件规格说明书和UI视觉稿)

a.什么是界面

1)WEB站(浏览器)

2)app

3)小程序

4)公众号

b.测试内容

1)界面内容显示的一致性,完整性,准确性,友好性.比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示.

2)验证整个界面布局和排版是否合理,不同板块字体的设计,图片的展示是否符合需求.

3)对界面不同控制的测试,比如,对话框,文本框,滚动条,选择按钮等是否可以正常使用,有些和无效的状态是否设计合理.

4)界面的布局和色调符合当下时事的发展.

2.兼容性测试

 a.软件

1)系统自身版本的兼容,用户已有数据的兼容,数据兼容是重中之重.

2)与应用环境的兼容性,比如操作系统,应用平台,浏览器的兼容.

3)测试与第三方以及第三方数据的兼容性.

3.易用性测试

a.标准型和规范性: 一些常用的UI已经成为标准,用户已经习惯使用.

b.直观性: 软件功能特性清晰易懂,用户界面布局合理,见名知意.

c,灵活性: 软件要有不同选择来满足有不同使用习惯的用户,比如输入法的全键盘,九宫格,手写和语音输入.

d.舒适性: 界面友好,美观,使用流程.

4.安装卸载测试

a.软件不同的安装和卸载方式.

b.应用是否可以在不同的环境系统,版本下安装(安装兼容性).

c.安装或者卸载过程中是否可以手动暂停,或者取消,是否后台进行.

d.安装空间不足的时候系统是否有提示.

e.是否可以正常卸载,以及应用软件不同的卸载方式.

f.安装和卸载过程中出现环境问题,系统是否可以应对,比如死机,断电,断网.

5.可靠性测试(可用性)

可靠性 = 正常运行时间 / (正常运行时间 + 非正常运行时间) * 100%

借助工具

6.容错性测试

a.定义: 系统能够处理异常,用户的错误操作不至于系统崩溃,从而提高系统可靠性.

b.两个方面:

1)输入异常数据或进行异常操作,以检验系统的保护性.如果系统容错性好,系统只会给出提示或者内部消化,而不会导致系统出错甚至崩溃.如数据级测试,校验测试,环境容错性测试,界面容错性测试.

2)灾难恢复性测试,通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复.

c.举例:

1)测试计数器,使用除以0的操作.

2)测试不存在的网页,是否回到首页.

7.文档测试

接触最多的是测试文件,开发文件,产品文件.

8.安全性测试

a.输入域,如输入恶性或者带有病毒的脚本或长字符串.

b.代码中的安全性问题,如SQL注入,XSS.

c.不安全的数据存储或者传递.

d.数据文件,邮件文件,系统配置文件等里面有危害系统的信息或者数据.

e.有问题的访问控制,权限分配等.

f.假冒ID,身份欺骗

g.篡改,对数据的恶意修改,破坏数据的完整性.

9.性能测试

a.资源泄露.

b.资源瓶颈.

c.线程死锁,线程阻塞.

d.查询速度慢或效率低.

e.受外部系统影响越来越大.

10.内存泄露测试

a.分类

1)分配完内存后忘记回收.

2)程序写法有问题,造成没法回收(如死循环,或者内存回收的代码被架空,无法执行到).

3)某些API方法使用不正确,造成内存泄漏.

b.测试方法

1)(推荐使用)人工静态法: 走读代码,人工查找未被回收的内存.

2)自动工具法: Visual Leak Detector(记录每次内存分配).

二.是否查看代码划分

1.黑盒测试

a.定义

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用,是否能适当的接收输入数据,而输出正确的结果,满足规范需求,所以黑盒测试又称之为数据驱动测试,只注重软件的功能.

b.优点

1)不需要了解程序内部的代码以及实现,不关注软件内部的实现.

2)从用户角度出发,设计测试用例很容易的知道用户会用到哪些功能,会遇到哪些问题,锻炼测试人员的产品思维.

3)测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能.

c.缺点

不可能覆盖所有代码.

d.方法: 等价类,边界值,因果图,场景法,错误猜测法.

2.白盒测试

a.定义: 

白盒测试又称结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试.

b.目的: 

通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,在程序不同地方设立检查点检查程序的状态,以确定实际运行状态与预期状态是否一致.

c.方法: 语句覆盖,判定覆盖,条件覆盖,判定条件覆盖.条件组合覆盖,路径覆盖.

d.优点: 代码覆盖率高.

e.缺点: 业务功能覆盖低.

3.灰盒测试

a.定义:

灰盒测试是介于白盒测试和黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出输入的正确性,同时也关注程序内部的情况.

三.开发阶段划分

1.单元测试

a.测试阶段: 编码后或者编码前(TDD).

b.测试对象: 最小模块(Java是类,方法; C语言是函数).

c.测试人员: 白盒测试工程师或开发人员.

d.测试依据: 代码, 注解, 设计文档.

e.测试方法: 白盒测试.

f.测试内容: 模块接口测试,局部数据结构测试,路径测试,错误处理测试,边界测试.

2.集成测试

a.测试阶段: 单元测试之后进行.

b.测试对象: 模块间的接口.

c.测试人员: 白盒测试工程师或开发人员.

d.测试依据: 单元测试的模块,概要设计文档.

e.测试方法: 黑盒测试和白盒测试结合.

f.测试内容: 模块之间的数据传输,模块之间的功能冲突,模块组装功能正确性,全局数据结构,单模块缺陷对系统的影响.

3.系统测试

a.测试阶段: 集成测试之后进行.

b.测试对象: 整个系统(软,硬件).

c.测试人员: 黑盒测试工程师.

d.测试依据: 需求规格说明文档.

e.测试方法: 黑盒测试.

f.测试内容: 界面,功能,性能,安全,网络,易用,兼容,可靠.

4.回归测试

使用不同的环境进行测试,为了提高效率,使用自动化测试. 

5.冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要的功能的核心流程正常,在进行正式测试之前执行.冒烟测试一般是开发人员在开发完毕之后,提交给测试人员进行测试之前,先进行冒烟测试,保证基本的功能正常,不阻碍后续的测试.

6..验收测试(交付测试)

a.测试阶段: 系统测试之后进行.

b.测试对象: 整个系统(软,硬件).

c.测试人员: 产品经理,用户,甲方.

d.测试依据: 用户需求,验收文档(测试人员编写的).

e.测试方法: 黑盒测试.

f.测试内容: 界面,功能,性能,安全,网络,易用,兼容,可靠.

四.实施组织划分

1.α测试

a.环境: 公司内部.

b.测试人员类型: 公司内部人员.

c.测试人员数量: 少.

d.阶段: 先.

e.测试时间: 短.

2.β测试

a.环境: 不确定.

b.测试人员类型: 用户.

c.测试人员数量: 多.

d.阶段: 后.

e.测试时间: 长.

3.第三方测试

介于开发法和用户之间的组织.

五.是否运行代码划分

1.静态测试

不运行,检查代码.

2.动态测试

运行代码进行测试.

六.是否手工划分

1.手工测试

 点点点.

2.自动化测试

 分为接口,UI,

七.地域划分

1.国际化测试

时间,语言,货币,日期,字符串长度........

2.本地化测试

相关文章:

13.3测试用例进阶

一.测试对象划分 1.界面测试(参考软件规格说明书和UI视觉稿) a.什么是界面 1)WEB站(浏览器) 2)app 3)小程序 4)公众号 b.测试内容 1)界面内容显示的一致性,完整性,准确性,友好性.比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示. 2)验证整个界面布局和排版…...

[云原生1] Docker网络模式的详细介绍

1. Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0), Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是每个容器的默认…...

uni——底部弹框显示,底部导航隐藏

案例 在uni-app中,如果你在tabbar页面显示一个底部弹框,底部导航默认是会依旧显示的。如果你想在弹框显示时隐藏底部导航,你可以使用uni.hideTabBar和uni.showTabBar方法来控制底部导航的显示和隐藏。 export default {methods: {openPopup(…...

HammerDB的安装和使用(超详细)

目录 ​编辑 一、HammerDB的介绍 二、HammerDB的安装 1、下载hammerdb安装包 2、权限配置以及安装 3、查看安装目录 三、安装前的配置 1、启动监听 2、启动数据库 3、创建表空间 1.修改临时表空间 2…...

java经典面试题总结

1.请简述Java的继承,重写和多态的概念和运用 继承是一种Java中重要的面向对象编程方式,它允许一个类从另一个类继承某些属性和方法,在这种关系下,子类可以重写父类的方法,从而实现不同的行为。 多态是继承实现的一种关…...

django中template中post请求接口csrf问题

$(function () {$.ajaxSetup({headers: { "X-CSRFToken": getCookie("csrftoken") }}); });// 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求时需要在cookie中创建随机码 function getCookie(name) {v…...

聊聊RocketMQMessageListener的实现机制

序 本文主要研究一下RocketMQMessageListener的实现机制 示例 Service RocketMQMessageListener(nameServer "${demo.rocketmq.myNameServer}", topic "${demo.rocketmq.topic.user}", consumerGroup "user_consumer") public class UserC…...

ConfigurationProperties注解详解

ConfigurationProperties和Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中 一个简单的例子 ConfigurationProperties需要和Configuration配合使用,我们通常在一个POJO里面进行配置: Data Configuration ConfigurationProperties(pre…...

三、组件与数据交互

一、组件基础 1、单文件组件 第一步&#xff1a;引入组件 import ComponentTest from ./components/ComponentTest.vue 第二步&#xff1a;挂载组件 components: {ComponentTest } 第三步&#xff1a;显示组件 <ComponentTest></ComponentTest><!-- 父组件 --…...

#define 宏定义看这一篇文章就够了

前言&#xff1a;在c/c学习的过程中&#xff0c;宏定义&#xff08;#define&#xff09;是作为初学者学习到的为数不多的预处理指令&#xff0c;在学习的时候我们被告知他可以帮助我们更高效的写程序&#xff0c;可以增加程序的可读性&#xff0c;但宏定义&#xff08;#define&…...

LeetCode算法栈—验证图书取出顺序

验证图书取出顺序 目录 验证图书取出顺序 题解&#xff1a; 代码&#xff1a; 运行结果&#xff1a; 验证图书取出顺序 现在图书馆有一堆图书需要放入书架&#xff0c;并且图书馆的书架是一种特殊的数据结构&#xff0c;只能按照 一定 的顺序 放入 和 拿取 书籍。 给定一个…...

PAM从入门到精通(十八)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;十七&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 六、整体流程示例 2.…...

【区间 DP】热门区间 DP 运用题

题目描述 这是 LeetCode 上的 「312. 戳气球」 &#xff0c;难度为 「困难」。 Tag : 「区间 DP」、「动态规划」 有 n 个气球&#xff0c;编号为 0 到 n - 1&#xff0c;每个气球上都标有一个数字&#xff0c;这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i …...

正则表达式,日期选择器时间限制,报错原因

目录 一、正则表达式 1、表达式含义 2、书写表达式 二、时间限制 1、原始日期选择器改造 2、禁止选择未来时间 3、从...到...两个日期选择器的时间限制 三、Uncaught (in promise) Error报错 一、正则表达式 1、表达式含义 &#xff08;1&#xff09;/^([a-zA-Z0-9_.…...

YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别

💡本篇内容:YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv7 专属 论文理…...

django建站过程(1)

django建站过程&#xff08;1&#xff09; 使用pycharm创建过程运行项目创建数据库创建超级用户登录生成的后台&#xff1a;界面本地化 准备以django,bootstrap来做一个过程记录&#xff0c;文章主要阐述过程的细节。 使用pycharm创建过程 创建项目“schoolapps”&#xff0c;…...

使用 Typhoeus 和 Ruby 编写的爬虫程序

以下是一个使用 Typhoeus 和 Ruby 编写的爬虫程序&#xff0c;用于爬取 &#xff0c;同时使用了 jshk.com.cn/get_proxy 这段代码获取代理&#xff1a; #!/usr/bin/env rubyrequire typhoeus require jsondef get_proxyurl "https://www.duoip.cn/get_proxy"respon…...

Git 安装和基础命令、IDEA 基础操作

目录 总结命令&#xff1a;1、安装&#xff1a;1、安装2、配置环境变量&#xff1a; 2、Git操作&#xff1a;1、初始化&#xff1a;1、姓名邮箱&#xff1a;2、初始化仓库&#xff1a;3、工作区和暂存区分析 2、提交文件3、查看版本库状态4、安装小乌龟git不显示图标 5、查看提…...

做一个最新版的淘宝客返利程序源码有多难?

我们都知道淘宝客返利程序成为了很多人的创业和赚钱的工具。这种程序允许通过推广淘宝商品来获得佣金。然而&#xff0c;你知道构建这样一个淘宝客返利程序有多难吗&#xff1f;今天我们就从最基本的API说起&#xff0c;现在我将介绍构建一个最新版淘宝客返利程序所需的关键API…...

day5:Node.js 第三方库

day5:Node.js 第三方库 文章目录 day5:Node.js 第三方库使用 Express.js 构建 Web 应用安装 Express第一个 Express 框架实例第二个 Express 框架实例Node.js 连接 MySQL查询数据插入数据更新数据删除数据使用 Express.js 构建 Web 应用 Express框架是Node.js生态系统中的一…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...