一、认识软件及测试
学习目标
1、具备做软件测试的入门常识


页面/客户端---前端;代码服务器和数据服务器---后端



总结:
1、什么是软件?
管理计算机硬件的指令集合(工具)
2、什么是软件测试:
使用技术手段验证软件是否满足使用需求
3、软件测试的目的?
减少软件缺陷(bug),保障软件质量
二、测试主流技能
学习目标:
1、能够根据自身学习目标明确未来重点方向








总结:
1、功能测试
通过手工方式验证程序的功能是否满足需求
2、自动化测试
使用代码或工具代替手工,对项目进行功能测试
3、接口测试
使用代码或工具验证程序中的接口(服务器)是否访问正常
4、性能测试
模拟多人使用软件,查找服务器缺陷
思考:
就业方向该如何选择?
1、方向(一):功能测试+接口测试
2、方向(二):功能测试+web自动化
3、方向(三):功能测试+性能测试
4、方向(四):功能测试+接口测试+性能测试
三、软件测试分类
学习目标:
1、具备应对面试中常见测试分类相关问题




-
单元测试 : 对于开发的源代码进行测试 [一般由开发做]
-
集成测试 : 也叫接口测试,测试系统和系统,模块和模块之间数据交互(能否正常使用) [一般由测试人员做]
-
系统测试 : 也叫功能测试.测试整个软件产品的功能能否满足需求(包含兼容,文档等测试) [一般由测试人员做]
-
验收测试 : 模拟用户验证是否满足用户的需求(分为内测和公测) [一般由用户/用户代表做]
-
内测:alpha测试 --> α
-
公测:beta测试 --> β
-
候选版:gamma测试 --> γ
-

黑盒测试等价于功能测试,灰盒测试等价于接口测试,
-
黑盒测试 : 看不到源代码,进行功能级别的测试
-
灰盒测试 : 部分代码可见,相当于做接口测试
-
白盒测试 : 通过源代码测试源代码(单元测试)



总结:
1、软件测试分类
知道一个软件系统常常做哪些测试
2、按照阶段划分
①单元测试:针对程序源代码的测试【开发】
②集成测试:针对功能模块组装的测试
③系统测试:针对整个系统(功能、非功能)进行测试
④验收测试:以用户身份验证系统是否满足需求【用户】
3、按代码可见度划分
①黑盒测试:针对有UI界面软件系统输入输出类测试
②灰盒测试:针对无UI界面软件系统输入输出和内部逻辑结构的测试(能看到部分源代码)
③白盒测试:针对程序源代码及内部逻辑本身进行测试
4、其他划分
① 冒烟测试:保障提测内容具备可测性
② 回归测试:对已修复功能\更新后对已测内容再次测试
四、质量模型
作用: 给测试设计人员提供一个思考的方向【被测软件产品质量的思考方向】


其中基本上我们都是从:功能性、性能、兼容性、易用性、可靠性、安全 6个维度入手
可维护性、可移植性是运维侧需要考了的问题








4.1、案例:如何验证某系统质量呢?以微信为例
1、功能性:能不能
2、性能:响应快、占用资源少
3、兼容性:不同设备平台正常使用
4、易用性:用户体验好
5、安全性:敏感信息无泄密存储有保障
6、可靠性:持久运行无异常
7、可移植性:升级迁移数据不丢失
8、可维护性:出现异常恢复简单

4.2、案例:给你一部电梯如何测试?
要求:从软件质量模型角度如何思考


总结:
1、介绍质量模型目的
衡量(测试)优秀软件质量的维度
2、质量模型
功能、性能、兼容、易用、安全、 ------基本上从这五个维度进行软件测试
可靠性、移植性、维护性
五、软件测试流程
作用 : 指导测试在实际工作中如何具体开展测试活动
**面试 :**在公司中你们是如何开展测试工作的? 你是如何做测试的?
学习目标
1、具备在企业中如何开展测试工作的能力

-
需求分析
-
目的: 产品 开发 测试对于需求理解一致 , 查漏补缺
-
结论: 确定好需求
-
-
测试计划与方案
-
目的 : 保障测试工作有效有序进行下去
-
结论 : 测试什么 测多少 谁来测 怎么测试
-
-
测试设计
-
目的 : 确保测试工作全面无遗漏
-
结论 : 按照需求文档编写操作文档(测试用例)
-
-
测试执行
-
目的 : 验证软件能否满足需求
-
结论 : 测试满足需求(通过) 测试不满足需求(失败)
-
-
缺陷管理
-
目的 : 和开发确认沟通确保问题被解决
-
结论: 对于发现的bug进行跟踪验证直到修复(通过)
-
-
测试报告
-
目的 : 对于软件质量结果说明
-
结论 : 测试活动结束标志
-
总结:
1、如何开展软件测试工作
①需求评审 ②编写测试计划 ③用例设计 ④用例执行 ⑤缺陷管理 ⑥测试报告
2、注意事项:需要结合项目应用
六、测试用例
学习目标
1、能够独立设计编写测试用例,全面验证产品质量



-
概念: 为了特定的目的而设计编写的执行文档
-
作用
根据产品的需求文档转化为可验证的测试用例文档,方便后续测试验证
-
防止漏测
-
测试实施标准
-
测试任务量化体现
-

要求:能够说出测试用例构成内容/要素
-
用例编号
-
作用: 表示用例的唯一性
-
构成: 项目_ 模块_数字序号
-
-
用例标题
-
作用: 表示测试目的(干什么?)
-
构成: 预期结果 + 测试条件
-
-
模块/项目
-
作用 : 测试范围
-
构成 : 根据需求文档简写模块名/项目名
-
-
优先级
-
作用: 该用例的重要程度
-
构成: P0(最高)~P4(最低)
-
-
预置条件
-
作用: 执行的时候需要的前提是什么(没有可以不写)
-
构成: 文字描述前提条件
-
-
测试步骤
-
作用: 描述测试执行的过程
-
构成: 按照序号编写操作过程
-
-
测试数据
-
作用: 测试执行过程中需要输入的数据(没有可以不写)
-
构成: 有直接输入具体数据
-
-
预期结果
- 作用: 描述是否和需求一致的结果

6.1、案例:根据以下测试点编写用例
需求: QQ登录(4条)
1、账号为空
2、账号未注册
3、密码为空
4、密码错误

思考:上述需求的测试目的是啥?
【能不能,登陆成功】
使用AI输出测试用例

以下是一个符合您要求的Excel表格格式的测试用例文档,内容覆盖了账号为空、账号未注册、密码为空、密码错误四种情况:
Excel表格文档:测试用例
序号 | 用例编号 | 用例标题 | 所属模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|---|
1 | TC001 | 账号为空登录测试 | 登录模块 | 高 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 不输入账号 3. 输入密码(任意值) 4. 点击登录按钮 | 账号:<空> 密码:任意值 | 提示"账号不能为空" |
2 | TC002 | 账号未注册登录测试 | 登录模块 | 高 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 输入未注册的账号 3. 输入密码(任意值) 4. 点击登录按钮 | 账号:unregistered_user 密码:任意值 | 提示"账号未注册"或"账号或密码错误" |
3 | TC003 | 密码为空登录测试 | 登录模块 | 高 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 输入已注册的账号 3. 不输入密码 4. 点击登录按钮 | 账号:registered_user 密码:<空> | 提示"密码不能为空" |
4 | TC004 | 密码错误登录测试 | 登录模块 | 高 | 系统已启动,登录页面已加载,且已知一个已注册的账号 | 1. 打开登录页面 2. 输入已注册的账号 3. 输入错误的密码 4. 点击登录按钮 | 账号:registered_user 密码:wrong_password | 提示"账号或密码错误" |
在上述的输出结果后面,继续使用AI进行优化用例的优先级

以下是优化后的Excel表格格式测试用例文档,其中优先级使用 P1 (最高优先级)和 P2(次高优先级)表示,并覆盖了账号为空、账号未注册、密码为空、密码错误四种场景:
Excel表格文档:测试用例
序号 | 用例编号 | 用例标题 | 所属模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|---|
1 | TC001 | 账号为空登录测试 | 登录模块 | P1 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 不输入账号 3. 输入任意密码 4. 点击登录按钮 | 账号:<空> 密码:123456 |
提示"账号不能为空"或"用户名不能为空" |
2 | TC002 | 账号未注册登录测试 | 登录模块 | P1 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 输入未注册的账号 3. 输入任意密码 4. 点击登录按钮 | 账号:unregistered_user 密码:123456 |
提示"账号未注册"或"账号或密码错误" |
3 | TC003 | 密码为空登录测试 | 登录模块 | P1 | 系统已启动,登录页面已加载 | 1. 打开登录页面 2. 输入已注册的账号 3. 不输入密码 4. 点击登录按钮 | 账号:registered_user 密码:<空> |
提示"密码不能为空"或"请输入密码" |
4 | TC004 | 密码错误登录测试 | 登录模块 | P2 | 系统已启动,登录页面已加载,且已知一个已注册账号 | 1. 打开登录页面 2. 输入已注册的账号 3. 输入错误密码 4. 点击登录按钮 | 账号:registered_user 密码:wrong_pass |
提示"账号或密码错误" |
总结:
1、什么是测试用例
为了特定目的而设计编写的可执行文档
2、写测试用例的目的
1)防止漏测
2)测试实施的标准
3)测试任务的量化体现
3、测试用例包含内容
用例编号、用例标题、所属模块、优先级、 预置条件、测试数据、执行步骤、预期结果
4、如何编写测试用例
①明确测试目的 ②基于需求覆盖各种可能场景 ③根据用例模版编写对应文档
七、AI赋能测试
-
AI:人工智能,旨在模拟、延伸、扩展人类智能的技术科学
-
AI对软件测试作用:赋能测试+提效品控
-
AI对软件测试应用
-
文档编辑
-
代码编程
-
-
AI使用步骤
-
1.选择AI工具
-
文档:文心一言(https://yiyan.baidu.com/)---写文档
-
编程:
-
-
2.输入指令(Prompt)
-
格式1: 针对xx ,输出xx
-
格式2:使用xx 语言,实现*/** 生成xxx代码*
-
-
3.人工辨别、优化整理分析结果
-
-
指令典型格式
-
角色:给AI定义一个匹配任务的角色。比如:【你以软件测试工程师身份】
-
指示:对任务描述。比如:【分析登录功能需求】
-
输入:任务的具体要求。比如:【账号:必填,已注册的合法手机号,密码:必填,和注册密码一致】
-
输出:需要得到的输出结果。比如:【将补充完善后的需求输出】
-




八、今日总结
