软件测试学习整理

<!--more-->

ST

定义

  • 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
  • 测试就是发现程序中的错误而执行的过程。
1
给自己一个心理设定,就是要找出程序中的错误。(克服心理障碍)

原则

  • 测试用例中必需部分是对预期输出或结果进行定义
  • 程序员应当避免测试自己编写的程序
  • 编写软件的组织不应当测试自己编写的软件
  • 应当彻底检查每个测试的执行结果
  • 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
  • 检查程序是否“ 未做其应该做的” 仅是测试的一半,测试的另一半是检查程序是否 “ 做了其不应该做的”
  • 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
  • 计划测试工作时不应默许假定不会发现错误
  • 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正 比

分类

  • 是否运行程序
    • 动态测试
1
通过运行软件来检验软件的动态行为和运行结果的正确性。
- 静态测试
1
通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性
  • 是否查看源码
1
是否查看源码
- 黑箱测试
1
2
3
4
5
		black-box testing,也称黑盒测试,测试应用程序的功能,测试者不需具备应用程序的代码、内部结构和编程语言的专门知识。

数据驱动

穷举路径测试
    - 通过有限的测试用例,最大限度的发现问题。
    - 可用性测试
- 灰盒测试
1
多用于集成测试阶段
- 白箱测试
1
2
3
4
5
		white-box testing,又称透明盒测试,结构测试等。测试程序内部运作。以编程语言角度来设计测试案例。



逻辑驱动型
- 利用错误列表进行代码检查
- 小组代码走查
- 同行评审
  • 测试阶段
    • 单元测试
1
2
3
		对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性。

测试的对象是软件设计的最小单位:函数。
- 集成测试
1
集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。目的是检查软件单元之间的接口是否正常。
- 系统测试
1
对一个完整的软件以用户的角度测试。
- 确认测试
1
验证被测对象有测性
- 安全测试
- 回归测试
    - QTP
- 验收测试
1
验收测试的目的是确保软件准备就绪
  • 测试进程
    • Alpha测试
1
验证测试。模拟运行。由开发人员与测试的测试人员。
- Beta测试
1
公众参与的测试的阶段。确认测试,在一个真实的环境中以实际的数据来运行测试,,以确认性能,系统运行有效率,系统撤消与备份作业正常。
- 封闭测试Closed Beta
1
公开上市前的测试过程。
- 公开测试Open Beta
1
又称压力测试
- Gamma测试
1
对“存在缺陷”产品的测试,这个概念存在着一定的不确定性。
  • 压力测试与性能测试
1
压力测试和性能测试常常混淆。
- 压力测试
1
2
3
4
5
		压力测试要求进行超过规定性能指标的测试。

判断准则:
1、系统能够恢复。
2、压力测试过程中,不要有明显的性能下降。
- 性能测试
1
通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
  • 其他
    • 探索性测试
1
2
		没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。
探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
    -
- 冒烟测试
1
检查对象是否具有可测性
- 敏捷测试
1
2
3
		利用测试记录需求和驱动开发的思想。

敏捷测试思想是面向结果的、技术性的、协作的,乐于学习的、勇于不断生产业务价值的。

对象

  • 程序
  • 数据
  • 文档

缺陷(bug)

  • 缺陷的跟踪流程(流程基本要素)
  • 5C原则
    • 准确
    • 清晰
    • 简洁
    • 完整
    • 一致
  • 内容
    • bug编号
    • 严重级别/优先级
    • 产生条件
    • 产生模块
    • bug摘要
    • bug对应版本
    • bug详细描述,截图,录屏

测试用例

  • 原则
    • 单个用例最小化原则
    • 测试用例替代产品文档功能原则
    • 单次投入成本和多次投入成本原则
    • 使测试结果分析和调试最简单化原则
  • 方法
    • 等价类划分
    • 边界值分析
    • 错误推测
    • 因果图
    • 判定表驱动分析
    • 正交实验设计
    • 场景设计法
    • 状态转换图
  • 内容
    • 用例编号
    • 用例描述
    • 前提条件
    • 输入数据
    • 测试步骤
    • 期望结果

工具

  • 测试管理工具
    • TestDirector
  • 功能测试工具
  • 负载压力测试工具
    • loadrunner
1
Web性能测试工具
  • 测试辅助工具
  • 白盒测试工具