01_软件测试

01_软件测试

学习目标

1、能复述软件测试的定义

2、能说出7种测试分类的区别

3、能说出质量模型的重点5项

4、能说出测试流程的6个步骤

5、能说出测试模板8个要素

认识软件及测试

什么是软件

image-20231227115758545

软件:控制计算机硬件工作的工具

软件的基本组成

image-20231227120139135

软件生产过程

image-20231227120413951

什么是软件测试

软件测试:使用技术手段验证软件是否满足使用需求

image-20231227120827719

软件测试的目的

减少软件缺陷(bug)保障软件质量!

测试主流技能

1、功能测试

image-20231227122825264

2、自动化测试

使用代码或工具代替手工,对项目进行测试

image-20231227122954176

3、接口测试

image-20231227123337086

4、性能测试-工具实现

模拟多人使用软件,查找服务器缺陷

image-20231227124021040

5、性能测试-代码实现

image-20231227124140318

总结

功能测试:测试主要验证程序的功能是否满足需求

自动化测试:使用代码或工具代替手工,对项目进行测试

接口测试:使用代码或工具验证程序中的接口是否访问正常

性能测试:模拟多人使用软件,查找服务器缺陷

常见的测试分类

1、按测试阶段划分

image-20231227125411783

2、按代码可见度划分

image-20231227125603508

总结

1、按阶段划分

  1. 单元测试:针对程序源代码进行测试
  2. 集成测试:真对程序接口进行测试
  3. 系统测试:针对程序功能、非功能进行测试
  4. 验收测试:使用不同用户(内测、公测)进行测试

2、按代码可见度划分

  1. 黑盒测试:不关注代码,针对程序UI(User Ineterface)功能进行测试
  2. 灰盒测试:针对程序部分代码进行测试(接口)
  3. 白盒测试:针对程序源代码进行测试

测试模型

质量模型

衡量一个优秀软件的维度

在这里插入图片描述

案例

需求

1、开发一款网络游戏(要求:10个主功能)

2、游戏支持web(浏览器)端、App端

3、游戏上线后预计每日,20W用户玩家在线

功能性

需求测试
10个功能功能数量为10个
功能详情功能正确实现
错误处理情况

性能

需求测试
预估每日在线人数20w服务器每秒处理请求数
服务器硬件配置是否满足

兼容性

浏览器操作系统手机
谷歌Windows 7分辨率
IEWindows 10品牌
火狐Windows 11系统
欧朋Linux网络
苹果

易用性

  1. 简洁
  2. 友好
  3. 流畅
  4. 美观

可靠性

  1. 无响应:出现无响应
  2. 卡顿:响应时间慢
  3. 死机:系统崩溃

安全

  1. 传输加密
  2. 存储加密

在这里插入图片描述

可移植性

  • 网站数据迁移

可维护性

代码分模块开发、核心代码要有相关说明

总结

质量模型:

功能、性能、兼容、易用、安全、可靠性、移植性、维护性

软件测试流程

测试流程

  1. 计划编写:测什么、谁来测、怎么测
  2. 用例设计:验证项目是否符合需求的操作文档
  3. 用例执行:项目模块开发完成开始执行用例文档实施测试
  4. 缺陷管理:对缺陷进行管理的过程
  5. 测试报告:实施测试结果文档
  6. 需求审批:确保各个部门需求理解一致

image-20231227150049627

总结

如何开展软件的测试工作

  1. 需求评审
  2. 编写测试计划
  3. 用例设计
  4. 用例执行
  5. 缺陷管理
  6. 测试报告

测试用例

用例

用例:用户使用的案例

  1. 是否能开机:打开手机按下电源键3秒钟,看是否能开机。
  2. 验证内存:打开手机设置查看内存是否为64G
  3. 验证屏幕:打开手机在白屏背景下检查屏幕是否黑色点。
  4. 检查运行速度:打开手机下载吃鸡游戏,是否运行流畅。

测试用例

测试用例:是为测试项目而设计的执行文档

测试用例的作用

  • 防止漏测
  • 实施测试标准

用例编写格式

  • 用例编号:项目_模块_编号
  • 用例标题:预期结果(测试点)
  • 模块/项目:所属项目或模块
  • 优先级:表示用例的重要程度或者影响力P0~P4(P0最高)
  • 前置条件:要执行此条用例,有哪些前置操作
  • 测试步骤:描述操作步骤
  • 测试数据:操作的数据,没有的话可以为空
  • 预期结果:期望达到的结果

在这里插入图片描述

用例练习

学习目标

  1. 能对穷举场景设计测试点
  2. 能对限定边界规则设计测试点
  3. 能对多条件依赖关系进行设计测试点
  4. 能对于项目业务进行设计测试点

等价类划分

  • 说明:在所有测试数据中,具有某种共同特征的数据集合进行划分
  • 分类:
    • 有效等价类:满足需求的数据集合
    • 无效等价类:不满足需求的数据集合
  • 步骤:
    • 明确需求
    • 明确有效和无效等价类,有效等价取1个值,每个无效集合取1个
    • 提取数据编写测试用例

案例-1

需求:验证QQ账号的合法性

要求:6~10位自然数

1、明确需求

  • 长度:6-10位
  • 类型:自然数

2、划分有效等价和无效等价

  • 有效:8位自然数
  • 无效:3位自然数、12位自然数、8位非自然数、为空

3、提取数据编写用例

  • 有效:12345678
  • 无效:123、123456789012、1234567a、null

image-20231228181211243

案例-2

需求:验证某城市电话号码正确性

要求:

  1. 区号:空或者是三位数字
  2. 前缀码:非“0”且非“1”开头的三位数字
  3. 后缀码:四位数字

分析

image-20231228191155717

用例

image-20231228191240624

适用场景

  • 针对:需要有大量数据测试输入,但是没有办法穷举测试的方法
    • 输入框
    • 下拉列表
    • 单选复选框
  • 典型代表:页面的输入框类测试

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

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

相关文章

打地鼠游戏来了

主要利用js鼠标点击事件和window.setInterval()回调函数来进行实现的. 源码获取方式:链接:https://pan.baidu.com/s/1eW9qvX3zFH9qlH82-I4yOA 提取码:1233

配置代理解决跨域(CORS)问题

一、跨域 ? 我们在完成前后端分离项目时(VueSpringBoot),有很多人会遇到跨域问题(CORS)。 跨域(Cross-Origin Resource Sharing,CORS)是浏览器的一项安全功能&#xff…

Illustrator脚本 #015 自动角线

这是一个在画板上自动生成辅助线和角线的脚本,只要单击最右边按钮运行脚本即可。 绿色的为参考线及出血线。 #target "Illustrator" var settings = {addTrim : true,addBleedGuide : true,addCenterGuide : true,addCover : false,overlapAlert : false,trimma…

《数据库开发实践》之触发器

一、什么是触发器? 1.概念: 简单来说触发器就是一种特殊的存储过程,在数据库服务器触发事件的时候会自动执行其SQL语句集。 2.构成四要素: (1)名称:要符合标识符命名规则 (2&am…

理解io/nio/netty

一、io io即input/output,输入和输出 1.1 分类 输入流、输出流(按数据流向) 字节流(InputStream/OutputStream(细分File/Buffered))、字符流(Reader/Writer(细分File/Buffered/pu…

How to Develop Word Embeddings in Python with Gensim

https://machinelearningmastery.com/develop-word-embeddings-python-gensim/ 本教程分为 6 个部分;他们是: 词嵌入 Gensim 库 开发 Word2Vec 嵌入 可视化单词嵌入 加载 Google 的 Word2Vec 嵌入 加载斯坦福大学的 GloVe 嵌入 词嵌入 单词嵌入是一种提供单词的…

git 如何将某个分支的某个提交复制到另外一个分支

请直接去看原文: 原文链接:git 如何将某个分支的某个提交复制到另外一个分支_gitlab里面的markdown文件可以复用其他分支的吗-CSDN博客 --------------------------------------------------------------------------------------------------------------------------------…

删除数据后, redis 内存占用还是很高怎么办?

现象: reids 做了数据删除,数据量不大,使用 top 命令看,发现还是占用大量内存 原因: 1.redis 底层内存根据内存分配器分配,不会立刻释放 2.redis 释放的内存空间不是连续的,存在碎片 内存碎…

算法基础day2

前缀和 #include <iostream> using namespace std; const int N100010; int n,m; int a[N],s[N]; int main() {scanf("%d%d",&n,&m);for(int i1;i<n;i) scanf("%d",&a[i]);for(int i1;i<n;i) s[i]s[i-1]a[i];while(m--){int l,r;s…

HTML-基础知识-基本结构,注释,文档说明,字符编码(一)

1.超文本标记语言不分大小写。 2.超文本标签属性名和属性值不区分大小写。 3.超文本标签属性值重复&#xff0c;听取第一个。 4.html结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vi…

19个Python语法糖和9个内置装饰器

19 个Sweet的 Python Syntax Sugar&#xff0c;用于改善您的编码体验 文章目录 19 个Sweet的 Python Syntax Sugar&#xff0c;用于改善您的编码体验1. 联合运算符Union Operators&#xff1a;合并 Python 字典的最优雅方式2. 类型提示Type Hints&#xff1a;使您的 Python 程序…

常用的几款性能测试软件

&#xff1a; Apache JMeter是一款免费、开源的性能测试工具&#xff0c;广泛应用于Web应用程序和服务的性能测试。它支持模拟多种不同类型的负载&#xff0c;可以测试应用程序在不同压力下的性能表现&#xff0c;并提供丰富的图表和报告来分析测试结果。 优点&#xff1a; …

Python新年炫酷烟花秀代码

新年马上就要到来&#xff0c;烟花秀必须得安排上&#xff01; Pygame 绘制烟花的基本原理 1&#xff0c;发射阶段&#xff1a;在这一阶段烟花的形状是线性向上&#xff0c;通过设定一组大小不同、颜色不同的点来模拟“向上发射” 的运动运动&#xff0c;运动过程中 5个点被赋…

使用pytorch搭建ResNeXt并基于迁移学习训练

冻结除最后全连接层以外的所有权重&#xff0c;只去单独训练它最后一层的的权重&#xff0c;这个方法&#xff0c;冻结了所有网络的权重。 for param in net.parameters():param.requires_grad False

vue+element+springboot实现多张图片上传

1.需求说明 2.实现思路 3.el-upload组件主要属性说明 4.前端传递MultipartFile数组与服务端接收说明 5.完整代码 1.需求说明 动态模块新增添加动态功能,支持多张图片上传.实现过程中对el-upload组件不是很熟悉,踩了很多坑,当然也参考过别的文章,发现处理很…

使用c语言实现DH秘钥分配算法

使用c语言实现DH秘钥分配算法 DH算法原理 密钥分配 选择一个大素数p&#xff0c; 选择一个整数g(g < p)&#xff1b;通信方A选择一个随机数a&#xff0c;并发送 mod p 给 通信方B&#xff1b;通信方B选择一个随机数b&#xff0c;并发送 mod p 给 通信方A&#xff1b;通信…

日常中msvcp120.dll丢失五种解决方法

在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“msvcp120.dll丢失”。那么&#xff0c;msvcp120.dll到底是什么&#xff1f;它的作用又是什么呢&#xff1f;为什么会出现丢失的情况呢&#xff1f;本文将为您详细介绍msvcp120.dll的相…

数据结构初阶之顺序表(C语言实现)

数据结构初阶之线性表&#xff08;C语言实现&#xff09; &#x1f34f;前言&#xff1a;&#x1f34f;顺序表和数组的区别&#x1f34f;动态顺序表的模拟实现&#x1f340;动态顺序表的基本结构设计&#x1f340;动态顺序表的各种功能模拟实现&#x1f432; 初始化&#xff08…

兔子目标检测数据集VOC格式3900张

兔子是一类可爱的哺乳动物&#xff0c;拥有圆润的脸庞和长长的耳朵&#xff0c;身体轻盈柔软。它们通常是以温和和友善的形象出现在人们的视野中&#xff0c;因此常常成为童话故事和卡通形象中的角色。 兔子是草食性动物&#xff0c;主要以各种草本植物为食&#xff0c;包括草…

【八】【C语言\动态规划】1567. 乘积为正数的最长子数组长度、413. 等差数列划分、978. 最长湍流子数组,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…