首页 > 技术文章 > 1.软件测试定义、目的及原则

Goongo 2018-05-22 16:47 原文

1.软件测试定义

  • 软件测试就是在产品上线前,对软件需求、设计方案和编码实现的核查。
  • 软件测试的定义
    1. 软件测试是为了发现错误而执行程序的过程
    2. 使用人工或自动方式来运行并测试某个系统,以此来检验系统是否满足规定的需求并确定预期结果与实际结果的差异

2.软件测试目的

  • 软件测试的目的
    1. 测试是完善程序的过程,目的在于使系统更加符合用户的使用习惯,让系统在上线后带给客户极高的用户体验;
    2. 测试应致力于发现至今为止未发现的错误。
  • 不同的立场催生了两种截然不同的测试目的
    1. 从用户的角度出发,希望通过软件测试暴露软件中隐藏的错误和缺陷并减少软件上线后的问题,使得产品更容易被接受;
    2. 从软件开发者出发,希望测试成为证明产品中不存在错误、已正确的实现用户需求的过程。
  • 软件测试目的总结
    1. 以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷;
    2. 证明软件的功能和性能与需求说明项符合;
    3. 通过测试的结果数据为软件的可靠性分析提供分析;
    4. 重点:测试不能表明软件中不存在问题,它只能说明软件中存在问题需要改善。

3.软件测试规律

  • 木桶原理
    1. 产品质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持等也会影响最终产品的质量;
    2. 测试是提高产品质量的必要条件,也是提高产品质量最直接、最快捷的手段,但绝不是一种根本手段;
    3. 如果将提高产品质量的砝码全部压在测试上,那将是一个恐怖而漫长的灾难;
    4. 软件开发质量越低会导致测试完成后产品残留的缺陷越多。
  • 八二原则
    1. 在分析、设计、实现阶段的复查和测试工作能够发现和避免80%的BUG,而系统测试又能找出其余BUG的80%,最后5%的BUG可能只有在用户的大范围、长时间使用后才会暴露出来。因此测试只能保证尽可能的发现错误,无法保证能够发现所有的错误;
    2. 80%的程序缺陷常常出现在软件20%的程序控件里。

4.软件测试原则

  • 软件测试原则
    1. 所有软件测试都应追溯到用户需求;
    2. 应当把“尽早地和不断地进行软件测试”作为软件测试人员的座右铭;
    3. 完全测试是不可能的,测试需要终止;

a.输入量太大;

b.输出结果太多;

c.路径组合太多

      4. 程序员应避免检查自己的程序;

      5. 测试无法显示软件潜在的缺陷,进行测试可以查找缺陷,但不能保证所有的缺陷都被找到,进一步测试可能会找到一些,

       但是只能证明软件存在错误而不能证明软件没有错误;

      6. 充分注意测试中的群集现象;

          a.在所测程序中,若发现错误数目多,则残存错误数目也比较多,这种就是错误群集现象;

          b.经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比,根据这个规律,

          应当对错误群集的程序段进行重点测试;

      7. 软件测试是有计划的,严格执行测试计划,排除测试的随意性;

      8. 应当对每一个测试结果做全面检查;

      9.妥善保存测试计划,测试用例,缺陷统计和最终测试分析报告,为维护提供方便。

推荐阅读