软件测试简述

软件测试简述

Posted by Lysuu on July 25, 2023

软件测试知识简述

软件测试的定义

  • 经典定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
  • 标准定义:通过“人工”或“自动化”手段,来测试某个程序或系统,进而检验是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
  • 通俗定义:软件测试是一种实际输出与预期输出间的审核或者比较过程。

软件测试的目的

  • 以最小的人力,物力和时间找出软件中潜在的错误和缺陷;提高软件的可用性,增强软件的可靠性。

软件测试的方法

测试人员

  1. 良好的思维习惯;
  2. 理解需求,明确需求,挖掘需求;
  3. 确认岗位目标,熟悉业务功能;
  4. 对软件产品心存敬畏,负责任、有耐心且细心的进行测试工作;
  5. 团队合作意识,服务意识;

工作内容

  1. 需求前期制定测试计划;
  2. 开发阶段需要进行测试设计(用例编写);
  3. 测试阶段对测试用例进行测试验证(执行测试);
  4. 测试结束后,对测试用例执行结果进行汇总分析;

工作标准

  1. 软件开发/测试/交付等阶段有完整的流程性文档;
  2. 交付软件能够满足原始产品需求,形成业务闭环;
  3. 交付软件的功能是完整的、正确的、易用的,性能是可靠的、高效的;

工作流程

  1. 需求采集:了解原始需求;
  2. 需求分析:测试要点分析、功能交互分析、质量特性分析、测试类型分析;
  3. 方案设计:等价类分析法、边界值分析法、输入域分析法、状态迁移分析法;
  4. 方案执行:测试用例的执行,注意业务闭环;
  5. 缺陷管理:清晰的缺陷说明,明确的状态流转,易理解的修复/关闭原因;

方式方法

  • 开发自测:开发阶段开发人员对所实现的功能进行功能验证;该阶段修复缺陷的成本是最小的;
  • 单元测试:开发完成某个整体功能后,对该功能进行整体的测试;
  • 冒烟测试:开发完成后,提测前研发/测试人员先按照测试用例中P0级别的用例进行一轮冒烟测试,检查已实现的功能是否达到提测标准;
  • 集成测试:测试人员对新功能进行集成测试,确保系统功能完整、正确、可用;该阶段修复缺陷的成本较大,但是还在可控范围内;
  • 系统测试:测试人员完成集成测试后,对系统功能进行整体测试,确保整体功能完整、正确、可用;
  • 回归测试:该阶段是相关功能已发布至预发环境/生产环境后,对新功能以及原功能进行整体回归测试,确保新功能不会影响原有功能;该阶段修复缺陷的成本是最大的,产生缺陷后的影响也是最大;

总结

  1. 在软件的研发过程中,沟通是极其重要的;产品/研发/测试人员需要及时沟通反馈,减少因沟通问题导致的需求理解不一致;
  2. 软件产品的功能完整性、正确性是最基本的要求;更多情况下我们还需要关注产品的可靠性和高效性,降低产品在使用过程中出现故障的概率;
  3. 研发人员高质量的自测能够减少软件产品在测试阶段出现的问题,该阶段的缺陷修复成本是最小的;
  4. 缺陷管理过程中,各岗位人员应该互相配合,及时正确流转缺陷状态,高效的解决缺陷;
  5. 在项目研发过程中,各阶段都要应该有文档留存;尤其是在前期需求阶段,尽量减少一句话需求的出现,需求提出方应该能够提出明确且完整的需求;