# 软件测试06:软件测试原则和测试用例

发布时间 2023-05-31 16:26:56作者: lurenj

软件测试06:软件测试原则和测试用例

软件测试原则

  • 所有测试的标准都是建立在用户需求之上
  • 软件测试必须基于"质量第一"的思想去开展各项工作,当时间和质量冲突时,时间要服从质量
  • 事先定义好产品的质量标准,只有有了质量标准,才嫩如果根据测试的结果,对产品的质量进行分析和评估
  • 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试
  • 穷举测试是不可能的
  • 第三方进行测试会更客观,更有效
  • 软件测试计划是做好软件测试工作的前提
  • 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。
  • 对发现错误较多的程序段,应进行更深入的测试。一般来说,一段程序中已发现的错误数较多,其中存在的错误概率也就越大
  • 重视文档,妥善保护一切测试过程文档(测试计划、测试用例、测试报告等)
  • 应当把“尽早和不断地测试”作为测试人员的座右铭
  • 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见
  • 测试应从“小规模”开始,逐步转向“大规模”
  • 不可将测试用例置之度外,排除随意性
  • 必须彻底检查每一个测试结果
  • 一定要注意测试中的错误集中发现现象,这和程序员的编程水平和习惯有很大的关系
  • 对测试错误结果一定要有一个确认的过程

什么是测试用例

  • 简单地说,测试用例就是:
    • 设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果
    • 如果程序在这种情况下不能正常运行,而且这种问题会重复发生,那就表现软件程序人员已经测出了软件有缺陷,这时候就必须将这个问题标示出来,并且通知软件开发人员。软件开发人员接获通知后,将这个问题修改完成于下一个测试版本内
    • 软件测试工程师取得新的测试版本后,必须利用同一个用例来测试这个问题,确保该问题已修复完成

黑盒测试用例设计方法

  • 测试数据选择

    • 等价类划分法

      • 等价类划分法原理(言之有理即可)

        • 把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例
        • 每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也可能发生同样的错误
        • 反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误
      • 等价类划分法设计步骤

        • 确认等价类的原则

          • 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类

          • 在输入条件规定的输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类

          • 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类

          • 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

            例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。

          • 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

          • 在确知已划分的等价类中,各元素在程序处理中的分类不同的情况下,则应再将该等价类进一步地划分为更小的等价类

      • 划分等价类和列出等价类表

        • 有效等价类
        • 无效等价类
      • 确认测试用例

        • 为每个等价类规定一个唯一的编号
        • 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
        • 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类被覆盖
    • 边缘值分析法

  • 测试步骤设计

    • 因果图法
    • 判定表法
    • 正交实验法
    • 功能图法
    • 场景法