#review
软测基础
字数
1618 字
阅读时间
7 分钟
一、软件实现过程

二、软件测试分类
1. 按照软件产生的阶段划分
集成测试和系统测试是需要测试人员去测试的
- 单元测试:通常由开发人员自己完成,但测试人员需要了解进度和质量。可以关注开发的自测通过率或单元测试覆盖率。
- 集成测试:也称为组装测试,将两个通过单元测试的代码板块集成在一起,测试各自的功能是否仍然能够正常运作
- 系统测试:对整个系统进行全面测试
- 用户验收测试(UAT):以用户代表为主验证项目是否符合用户的预期需求

2. 按照代码的可见度划分

- 黑盒测试:源代码不可见,UI功能可见,只关注数据输入和结果输出
- 灰盒测试:部分源代码可见,UI功能不可见,通过工具或第三方代码测试输入输出+部分源代码逻辑,难度较高(例如:使用postman进行测试)
- 白盒测试:全部源代码可见,但UI功能不可见,只关注代码本身语法逻辑
测试人员主要进行的是黑盒测试和灰盒测试,白盒测试一般由开发人员开发过程中顺带测试了
3. 按照其他应用划分
- 冒烟测试:对
核心功能的验证(例如:开发提测了一个登录功能,冒烟测试就是测试一下输入正确账号密码能否登录成功,若能登录成功,则说明具备可测性,接下来再进行全面测试)- 作用:保障
提测内容具备可测性(提测:提交测试),只考虑正向测试 
- 作用:保障
- 回归测试:对
已修复bug/更新后的bug再次测试验证- 作用:保证bug修复,符合预期结果

- 回归测试:
已更新的新需求对已测过的功能没有负面影响- 也是回归测试的一种,为了避免与第二种回归测试用处混淆,这里分开来讲解
- 作用:保证新功能对旧功能没有影响(无副作用)

三、质量模型
1. 软件质量模型
- 质量模型:衡量一个优秀软件质量的框架
- 作用:确定测试覆盖的范围和重点
- 质量模型的8个维度:

1)功能性
- 说明:软件满足明确和隐含的功能需求的能力,即软件提供哪些功能以及这些功能是否满足用户需求
- 解释:软件是否具备完成其设计任务的能力
- 例:

2)性能
- 说明:在规定条件下(如:多用户)执行其功能时的资源利用效率(时间效率和空间效率)。
- 解释:性能效率涉及软件运行的速度(如:响应时间、处理时间等)和资源消耗(如:内存、CPU、磁盘、网络等)。
- 一句话来说,就是资源利用率怎么样
- 例:

3)兼容性
- 说明:软件在不同环境中运行的能力,包括与其他软件、硬件、操作系统和网络环境的兼容。
- 解释:兼容性确保软件可以在不同的系统配置和平台上能正常工作,没有冲突、性能降级等问题。
- 例:

4)易用性
- 说明:软件对用户而言,容易学习和使用的程度,包括用户界面直观性、易懂、易操作性。
- 解释:关注用户如何与软件交互,以及他们在使用软件时的体验是否愉悦和高效。
- 例:

5)安全性
- 说明:软件保护数据和系统免受未经授权的访问、使用、修改等破坏的能力。
- 解释:软件关注如何防范恶意攻击、数据泄漏和其他安全威胁,保护用户信息和系统的完整性。
- 例:

6)可靠性
- 说明:软件在规定条件下和规定时间内执行所需功能的能力,即软件是否稳定可靠、持续正常运行。
- 解释:关注软件面对各种情况(如:错误输入、系统故障等)时的容错能力和恢复能力。
- 例:

7)可移植性
- 说明:软件从一个环境迁移到另一个环境的能力,包含硬件、操作系统、网络等。
- 解释:关注软件在不同环境的适应性,以及迁移过程中所需的工作量和成本。
- 例:

8)可维护性
- 说明:软件在生命周期内进行修改(如:修复缺陷、适应新需求)的容易程度。
- 解释:涉及软件的可理解性、可测试性和灵活性,以便于未来的维护和升级。
- 例:

示例
如何验证某系统的质量?这里以微信为例说明
- 功能性:能不能
- 性能:响应快、占用资源少(时间、资源)
- 兼容性:不同设备平台正常使用
- 易用性:用户体验好
- 安全性:敏感信息无泄密存储有保障
- 可靠性:持久运行无异常
- 可移植性:升级迁移方便
- 可维护性:出现异常易修复
- 具体分析内容见附件微信.ximd
- 一般满足前5点就已经是优秀的软件了;根据需求文档去分析前五点如何设计