01:软件测试基础概念(Virigo)

什么是软件测试

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  • 在规定的条件下,通过人工或者工具对程序(“被测对象”)进行测试(操作)
  • 验证实际结果与预期结果之间是否存在差异

软件测试的作用

  • 确保软件的质量和可靠性
    软件测试的主要目的是确保软件的质量和可靠性,通过测试可以发现软件中的错误和缺陷,并及时修复,从而提高软件的质量和可靠性。
  • 发现和修复软件中的错误和缺陷
    软件测试的主要目的是发现和修复软件中的错误和缺陷,通过测试可以识别软件中存在的问题,并在代码中进行标记,以便在软件发布后进行修复。
  • 提高软件的可用性和易用性
    软件测试可以检测软件在不同环境下的性能和易用性,确保软件能够在不同的操作系统和设备上正常运行,并且操作简便,用户友好。
  • 增强用户满意度和产品竞争力
    通过软件测试,可以及时发现和修复软件中的问题,并提高软件的的质量和可靠性,从而增强用户满意度和产品的竞争力。
  • 降低项目成本
    软件测试可以在软件开发的早期阶段发现问题,避免了在后期阶段进行修复所需的大量时间和成本,从而降低了项目成本。

什么是软件缺陷

又被叫做Bug,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。其存在会导致软件产品在某种程度上不能满足用户的需要。
从产品内部看:缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题。
从产品外部看:缺陷是系统所需要实现的某种功能的失效或违背。

软件测试原则

  • 测试显示缺陷的存在
    测试可以显示缺陷的存在,但不能证明系统不存在缺陷
  • 穷尽测试是不可能的
    穷尽测试是不可能的,当满足一定的测试出口准则时测试就应当终止
  • 测试尽早介入
  • 缺陷集群性(2/8原则)
    “80%的错误集中在20%的程序模块中”
  • 杀虫剂悖论
    同样的测试用例被一遍一遍反复使用时,发现缺陷的能力就会越来越差。
  • 测试活动依赖于测试内容
    测试活动必须与应用程序的运行环境和使用中可能存在的风险相关联。没有两个系统可以以完全相同的方式进行测试。
  • 没有错误是好是谬论
    系统的质量特征不仅仅是功能性要求,还包括了很多其它方面的要求比如稳定性、可用性、兼容性等等

软件测试对象

  • 需求分析阶段
    需求文档、接口文档
  • 编码实现阶段
    源代码
  • 系统功能使用
    软件程序

测试用例

为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品否满足某个特定需求的文档

总结