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

【黑马软件测试一、二】软件测试基础与Linux、数据库

23年黑马网课

  • 阶段一:软件测试基础
    • 测试基础
    • 用例设计
      • 等价类
      • 边界值
      • 判定表
      • 场景法
      • 冒烟、错误推测法
    • 缺陷管理
    • HTML
  • 阶段二:Linux和数据库
    • Linux常用命令

阶段一:软件测试基础

测试基础

软件测试及相关知识
测试的主要技能:
功能测试->设计测试用例的能力,功能是测试思维,是基本功,光有代码没有卵用
自动化测试->代码或者工具代替手工对项目进行测试
接口测试->另一篇文章说的更清晰->传送,工具和代码都能实现
性能测试->模拟多人使用软件,查找服务器缺陷,也是工具或者代码都能实现

学习目标:
在这里插入图片描述
第一个问题:软件测试的定义
软件测试就是使用技术手段验证软件是否满足使用需求

第二个问题:测试分类

  1. 按照阶段划分:

单元测试:测试源代码
集成测试:测试接口
系统测试:功能测试和非功能测试
验收测试:分为内测和公测,使用不同人群来发掘项目缺陷,内测就是内部人员,公测就是邀请玩家来玩

  1. 按照代码可见度划分:
    在这里插入图片描述

黑盒测试(系统测试):看不见源代码,针对程序的功能和非功能进行验证
灰盒测试(集成、接口测试):看见部分代码(接口),针对程序接口进行测试
白盒测试(单元测试):看见全部源代码,针对重新源代码进行测试

  1. 其他

性能测试属于专项测试
自动化测试属于功能测试

第三个问题:质量模型的重点5项
质量模型的目的是测试软件质量的维度
重点5项:功能、性能、兼容、易用、安全
5项以外还有:可靠性,移植性,维护性

举个例子,现在有一个需求:
在这里插入图片描述
功能性:(要求10个主功能)

  • 功能数量10个
  • 功能正确实现
  • 错误处理情况

在错误的时候需要有正确的提示

性能:(每日20w用户玩家在线)

  • 服务器每秒处理请求数
  • 服务器硬件配置是否满足

兼容性:

  • 浏览器:谷歌,IE,火狐,苹果,欧朋(欧洲的,可以不测)
  • 操作系统:win系统(win7,win8,win10),其他
  • 手机:分辨率,品牌,系统,网络,其他

易用性:

  • 简洁,友好

安全性:

  • 登录的传输加密这种

第四个问题:测试流程
需求评审:确保各部门需求理解一致
计划编写:测什么,谁来测,怎么测
用例设计:验证项目是否符合需求的操作文档
用例执行:项目模块开发完成开始执行用例文档实施测试
缺陷管理:对缺陷进行管理的过程
测试报告:实施测试结果文档

第五个问题:测试模板8要素

用例编号 -> 项目简称_模块_编号
用例标题 -> 预期结果(测试点)
项目/模块 -> 所属项目模块
优先级 -> P0~P4 -> P0最大
前置条件 -> 执行用例预制操作
测试步骤 -> 执行步骤
测试数据 -> 步骤中的数据
预期结果 -> 期望结果
在这里插入图片描述

用例设计

什么是测试用例?执行测试的文档
用例的作用?1、防止测漏2、执行标准

案例:花瓶设计测试用例
要求:设计十条以上,参考质量模型

功能:插花,装水,养鱼,种菜
性能:防摔,耐压高温、低温
易用:防滑、便携
属性(硬件):长宽高,样式,材质,重量
可移植性:不同温度下是否正常使用
可维护性:修补

等价类

解决穷举问题 -> 等价类划分 -> 根据相同特征数据集合进行划分,正向有效逆向无效 -> 明确需求,划分等价(长度,类型,规则),提取数据
适应场景:针对需要大量数据测试输入,但是没法穷举测试的地方,比如输入框,下拉列表,单选复选框

需求:验证qq账号合法性,要求6~10位自然数
有效:8位
无效:4位,12位,非自然数
以上只涉及长度和类型,更复杂的话还会有规则

用例编写:
在这里插入图片描述

需求:验证地区手机号

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

等价类划分先分析一下:
在这里插入图片描述
正向有2条,一次尽可能将多个正确数据组合
1、空+2开头的三位数字+4位数字
2、3位数字+2开头的三位数字+4位数字

逆向有8条,一次只能覆盖一个
在无效的那一列,一个个测

用例编写:
在这里插入图片描述

边界值

针对限定边界规则设计测试点
在这里插入图片描述
本来边界应该是7个点,但是可以优化为5个,所以离点只去大于边界和小于边界的那两个点

判定表

解决多条件依赖关系

一种以表格形式表达多条件逻辑判断的工具
在这里插入图片描述
假设需求:某促销活动优惠,在指定时间段内消费并且消费金额满1000元,享受9折优惠
列出判定表:
在这里插入图片描述
列出之后等价类划分,得到单条测试用例

场景法

与业务息息相关,一般会使用流程图
使用标准流程图,标准流程图就是,开始和结束是椭圆框,语句是长方形,判断是菱形

根据流程图,设计业务用例
当需求文档信息不全时,能够根据需求,梳理流程图

举个例子,现在需求文档是:
在这里插入图片描述
第一个的流程图,就类似这样
在这里插入图片描述
从测试人员的角度来说,平时是单功能测试,忽略了多个功能的组合测试,所以场景法很重要

场景1:
在这里插入图片描述
转换成流程图:
在这里插入图片描述
用例编写
在这里插入图片描述

冒烟、错误推测法

冒烟测试:批量开始测试之前,执行业务正向用例,验证软件是否具备可测性。

错误推测法:通过经验退出系统可能出现的问题

缺陷管理

测试不通过如何处理

学习目标:

  1. 能够说出软件缺陷判定标准
  2. 能够说出项目中缺陷的管理流程

缺陷的目标:将缺陷提交给开发,开发根据描述可复现缺陷
工具:禅道,jira…
缺陷是什么?缺陷是软件中所有异常问题,而不是错误
缺陷判断标准:多功能,少功能,功能错误,隐形功能缺失,体验不好

缺陷编写:
在这里插入图片描述
编号可以用用例编号,标题很重要

缺陷跟踪流程:
在这里插入图片描述
提交缺陷注意事项:缺陷可重复,一个缺陷上报一个问题

管理缺陷工具有禅道和jira:
介绍禅道:
地址:传送
就是个软件,看两眼得了,不多说

HTML

学html的原因是要做web测试,前提也要懂点前端,在这里插入图片描述。之前学过,所以这里的课程没看,找到了一个比较详细的博客,需要就当字典翻一翻:html入门

阶段二:Linux和数据库

Linux常用命令

ls [-lah][文件或目录]
选项说明:
-l:以列表的形式显示出文件或目录的内容
-a:显示所有的文件或目录,包含隐藏文件
-h:显示出文件的目录或者大小

参数:
在这里插入图片描述
通配符可以匹配符合条件的文件或目录
在这里插入图片描述

touch 1.txt a.txt ab.txt	#创建文件
ls *.txt	#查询以.txt结尾的文件
ls ?.txt	#查询1.txt,a.txt
ls ??.txt	#查询ab.txt
ls [1abcd].txt	#任意匹配一个
ls [a-z][a-z].txt	#匹配2个字符

在这里插入图片描述
练习题:
在这里插入图片描述
cd
在这里插入图片描述
cd或者cd~:返回到家目录
cd…:返回到上一层目录
cd-:返回到上一次的目录
在这里插入图片描述
pwd:显示当前路径
在这里插入图片描述
touch:创建文件
mkdir:创建目录

删除文件或者目录:rm [-irf] 目录名或者文件
选项说明:
-i:表示交互式执行删除操作,删除前会有提示(默认选项)
-f:表示强制删除,忽略不存在的文件
-r:表示删除目录及目录下所有内容

rm -r mike/ 删除文件夹
rm -ri a/ 提示删除a下所有文件
rm -rf a.txt 删除a.txt,忽略不存在的
rm -i *.txt 删除所有txt结尾的文件,并且会提示每个文件是否真的要删除
注意:使用rm删除时无法恢复,建议使用rm时跟上 -i参数

创建目录:mkdir
mkdir -p a/b/c 实现多个层级的目录创建

练习题:
删除/opt目录下所有的test开头的目录

cd..
rm -rf test*

提高权限前面加sudo

cp 源文件 目标文件
常用选项说明:
-f:强制覆盖已存在的目标文件而不提示
-i:交互式复制,覆盖时会提示用户确认
-r:若源文件为目录,则复制该目录下的所有内容
-v:显示复制进度

# 这条命令将会复制 source.txt 到 destination.txt
# 如果目标文件已存在,它会被强制覆盖而不会有任何提示。
cp -f source.txt destination.txt
# 复制 source.txt 到 destination.txt 时
# 如果目标文件已存在,会提示用户是否覆盖。
cp -i source.txt destination.txt
# 复制 source_directory 及其内部的所有文件和子目录到 destination_directory
cp -r source_directory destination_directory
# 复制 source.txt 到 destination.txt 时,会显示详细的操作信息,让用户知道哪些文件被复制了。
cp -v source.txt destination.txt
# 复制整个目录并在覆盖文件前提示确认,同时显示详细的复制进度
cp -irv source_directory destination_directory

mv命令的基本语法如下:
mv [options] source destination

  • source 表示要移动或重命名的文件或目录的路径。
  • destination 可以是新位置的路径或新的文件名。

移动文件
如果你想将文件从一个位置移动到另一个位置,可以这样使用 mv 命令:

mv old_directory/filename.txt new_directory/filename.txt

这条命令将文件 filename.txt 从 old_directory 移动到 new_directory。

重命名文件
mv 命令也可以用来重命名文件。如果只是想改变文件的名称而不改变其位置,可以这样做:

mv oldname.txt newname.txt

这会将当前目录中的 oldname.txt 重命名为 newname.txt。

移动和重命名目录
与文件类似,目录也可以使用 mv 命令移动或重命名。例如,将目录从一个位置移动到另一个位置,并同时改名:

mv old_directory new_location/new_directory_name

这条命令将 old_directory 移动到 new_location 并重命名为 new_directory_name。

常用选项
-i (interactive):在覆盖文件前询问用户。如果目标位置已有同名文件,系统会提示用户确认是否覆盖。
-n (no-clobber):不覆盖任何已存在的目标文件。
-v (verbose):显示详细的操作过程,列出正在被移动的文件。
使用示例
mv -i oldname.txt newname.txt
这会在重命名文件之前,如果 newname.txt 已经存在,提示用户是否覆盖。

练习题:
在这里插入图片描述

ps,Linux操作系统和数据库会单开文章


http://www.kler.cn/a/325343.html

相关文章:

  • 无人机场景 - 目标检测数据集 - 车辆检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • java小练习
  • Vue3 provide 和 inject的使用
  • MySQL数据库:SQL语言入门 【2】(学习笔记)
  • MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能
  • Android笔记(三十七):封装一个RecyclerView Item曝光工具——用于埋点上报
  • CFR( Java 反编译器)---> lambda 表达式底层实现机制
  • 【计算机网络】网络层详解
  • 解决Pymysql has no attribute ‘escape_string‘ 并且无法引入该模块
  • 爱速搭百度低代码开发平台
  • 视频汇聚EasyCVR视频监控平台调取接口提示“认证过期”是什么原因?
  • 通信工程师笔记
  • 生成对抗网络(Generative Adversarial Networks, GANs)
  • Pymsql 插入数据时报错 Unkown column xxxx in field list
  • 昇思MindSpore进阶教程--轻量化数据处理
  • 【HTTPS】中间人攻击和证书的验证
  • 手写SpringMVC
  • Subdominator:一款针对漏洞奖励计划的子域名安全枚举工具
  • Rustrover2024.2 正式发布:个人非商用免费,泰裤辣
  • 更新日志-Python OS
  • 动态规划(3)——dp多状态问题Ⅰ
  • 云舟观测:集成开源Grafana Faro构建前端页面性能监控平台
  • Linux开机logo设置
  • Spring MVC 拦截器总结
  • 数据结构:树、森林
  • 峟思助力堤防工程安全:构建多功能防洪屏障