Skip to content

#review

软测基础

字数
1618 字
阅读时间
7 分钟

一、软件实现过程

二、软件测试分类

1. 按照软件产生的阶段划分

集成测试和系统测试是需要测试人员去测试的

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

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

  1. 黑盒测试:源代码不可见,UI功能可见,只关注数据输入和结果输出
  2. 灰盒测试:部分源代码可见,UI功能不可见,通过工具或第三方代码测试输入输出+部分源代码逻辑,难度较高(例如:使用postman进行测试)
  3. 白盒测试:全部源代码可见,但UI功能不可见,只关注代码本身语法逻辑

测试人员主要进行的是黑盒测试和灰盒测试,白盒测试一般由开发人员开发过程中顺带测试了

3. 按照其他应用划分

  1. 冒烟测试:对核心功能的验证(例如:开发提测了一个登录功能,冒烟测试就是测试一下输入正确账号密码能否登录成功,若能登录成功,则说明具备可测性,接下来再进行全面测试)
    • 作用:保障提测内容具备可测性(提测:提交测试),只考虑正向测试
  2. 回归测试:对已修复bug/更新后的bug再次测试验证
    • 作用:保证bug修复,符合预期结果
  3. 回归测试:已更新的新需求对已测过的功能没有负面影响
    • 也是回归测试的一种,为了避免与第二种回归测试用处混淆,这里分开来讲解
    • 作用:保证新功能对旧功能没有影响(无副作用)

三、质量模型

1. 软件质量模型

  • 质量模型:衡量一个优秀软件质量的框架
  • 作用:确定测试覆盖的范围和重点
  • 质量模型的8个维度:
1)功能性
  • 说明:软件满足明确和隐含的功能需求的能力,即软件提供哪些功能以及这些功能是否满足用户需求
  • 解释:软件是否具备完成其设计任务的能力
  • 例:
2)性能
  • 说明:在规定条件下(如:多用户)执行其功能时的资源利用效率(时间效率和空间效率)。
  • 解释:性能效率涉及软件运行的速度(如:响应时间、处理时间等)和资源消耗(如:内存、CPU、磁盘、网络等)。
    • 一句话来说,就是资源利用率怎么样
  • 例:
3)兼容性
  • 说明:软件在不同环境中运行的能力,包括与其他软件、硬件、操作系统和网络环境的兼容。
  • 解释:兼容性确保软件可以在不同的系统配置和平台上能正常工作,没有冲突、性能降级等问题。
  • 例:
4)易用性
  • 说明:软件对用户而言,容易学习和使用的程度,包括用户界面直观性、易懂、易操作性。
  • 解释:关注用户如何与软件交互,以及他们在使用软件时的体验是否愉悦和高效。
  • 例:
5)安全性
  • 说明:软件保护数据和系统免受未经授权的访问、使用、修改等破坏的能力。
  • 解释:软件关注如何防范恶意攻击、数据泄漏和其他安全威胁,保护用户信息和系统的完整性。
  • 例:
6)可靠性
  • 说明:软件在规定条件下和规定时间内执行所需功能的能力,即软件是否稳定可靠、持续正常运行。
  • 解释:关注软件面对各种情况(如:错误输入、系统故障等)时的容错能力和恢复能力。
  • 例:
7)可移植性
  • 说明:软件从一个环境迁移到另一个环境的能力,包含硬件、操作系统、网络等。
  • 解释:关注软件在不同环境的适应性,以及迁移过程中所需的工作量和成本。
  • 例:
8)可维护性
  • 说明:软件在生命周期内进行修改(如:修复缺陷、适应新需求)的容易程度。
  • 解释:涉及软件的可理解性、可测试性和灵活性,以便于未来的维护和升级。
  • 例:
示例

如何验证某系统的质量?这里以微信为例说明

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

贡献者

The avatar of contributor named as freeway348 freeway348

文件历史

撰写