软件测试常见概念扫盲

软件产品的质量模型

功能性:能够满足明确和隐含要求的功能
可靠性:能够处理异常情况,在错误中快速恢复
易用性:易懂、易学、易用、漂亮好看
效率性:占用少量的资源,提供适当的性能
维护性:指产品可被修改的能力
可移植性:是指产品从一种环境迁移到另一种环境的能力。例如不同型号的手机都能用

软件测试常见的分类

按照是否覆盖源代码划分

黑盒测试:不关注源代码,只关注用户需求
白盒测试:只关注代码细节
灰盒测试:即关注用户需求,也关注代码

按照阶段划分

单元测试:对软件中最小的可测单元进行测试,例如编程中的一个类、一个函数。
集成测试:在单元测试的基础之上,对多个单元组装后的产物进行测试
系统测试:在集成测试的基础之上,把软件作为一个整体来做测试,知否满足需求
验收测试(交付测试):以最终用户的角度确认软件是否符合预期。

按照是否运行来划分

静态测试:不运行代码的时候做的测试,例如查看代码规范,代码命名规范,代码注释规范。
动态测试:代码运行之后进行的测试

按照是否自动化来划分

手工测试:人工对软件进行测试
自动化测试:依靠代码或者自动化工具来测试

更多分类

冒烟测试:对基本功能,主要功能进行测试,避免测试资源的浪费
回归测试:对Bug或者测试用例进行回归测试
随机测试:假设第一次接触软件进行随机测试,避免惯性思维
搜索测试:同时做测试设计和测试执行,探索复杂场景,容易被忽略的场景

软件开发模型

瀑布模型

过程:
瀑布模型
优点:阶段清晰
缺点:依赖于需求分析
使用:需求明确的,大型项目

快速原型

过程:
快速原型
优点:支持客户参与,适合需求灵活的项目
缺点:文档不完善,不能满足大型项目的要求
使用:需求灵活的中小型项目

软件测试模型

V模型

过程:
V模型
优点:包含了底层测试和高层测试
缺点:测试介入时间晚

W模型

W模型
优点:测试介入时间早
缺点:步骤复杂,对人员要求高

软件缺陷

  • 定义:软件或程序中存在的各种问题及错误
  • 标准:(违反需求、违反标准规范、违反易用性)
    1. 未达到需求规格说明书标明的功能
    2. 出现了需求指明不会出现的错误
    3. 超出了需求的范围
    4. 未达到需求虽未指明,但应该达到的目标
    5. 软件难以理解,不易使用,运行速度慢
缺陷报告的关键因素
  • 缺陷ID:缺陷的唯一标识
  • 缺陷状态:缺陷的所处状态
  • 缺陷标题:缺陷的简要描述
  • 严重程度:缺陷的严重程度
  • 优先级:修复缺陷的优先级
  • 详细信息:缺陷的详细描述

例子:一个计算器的缺陷报告
计算器缺陷报告

发布了126 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/li3455277925/article/details/102885513
今日推荐