测试基础--Day01--软件测试基础理论

一、认识软件及测试

学习目标

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使用步骤

  • 指令典型格式

    • 角色:给AI定义一个匹配任务的角色。比如:【你以软件测试工程师身份】

    • 指示:对任务描述。比如:【分析登录功能需求】

    • 输入:任务的具体要求。比如:【账号:必填,已注册的合法手机号,密码:必填,和注册密码一致】

    • 输出:需要得到的输出结果。比如:【将补充完善后的需求输出】

八、今日总结

相关推荐
火白学安全4 小时前
《Python红队攻防脚本零基础编写:入门篇(一)》
python·安全·web安全·网络安全·系统安全
梦想的初衷~4 小时前
Python驱动的无人机多光谱-点云融合技术在生态三维建模与碳储量、生物量、LULC估算中的全流程实战
python·无人机·遥感·多光谱
一晌小贪欢4 小时前
Python爬虫第3课:BeautifulSoup解析HTML与数据提取
爬虫·python·网络爬虫·beautifulsoup·python爬虫·python3·requests
好家伙VCC4 小时前
**发散创新:渗透测试方法的深度探索与实践**随着网络安全形势日益严峻,渗透测试作为评估系统安全的
java·python·安全·web安全·系统安全
机器学习之心4 小时前
一个基于无干扰增量容量(IC)和差分电压(DV)分析的锂离子电池健康状态(SOH)与剩余寿命(RUL)预测的Python实现
python
胜天半月子5 小时前
接口测试 | Postman的安装和测试使用
测试工具·接口测试·postman
Bellafu6668 小时前
selenium 常用xpath写法
前端·selenium·测试工具
Bellafu66611 小时前
selenium常用的等待有哪些?
python·selenium·测试工具
小白学大数据11 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax