· 测试时间。类测试可以在开发过程的不同位置进行。在一个递增的、反复的开发过程中,一个类的说明,实现可能会发生变化,所以应该在软件其他部使用该类之前执行类的测试。每当一个类的实现发生变化时,就应该执行 归测试。所以类的测试要和类的设计、开发保持同步,因为确定早期测试用例有助于对类说明的理解保持一致,也有助于获得独立代码检查的反馈。若 一个类的开发人员不能设计充分和准确的测试用例,其测试结果会给人一个 错觉——即该类通过了所有测试。但是当该类被集成到某个较大的系统时, 将会导致严重的问题。
· 测试过程。类的测试通常要借助测试驱动程序,这个驱动程序创建类的实例,并为那些实例创造适当的环境以便运行一个测试用例。驱动程序向测试用例指定的一个实例发送一个或多个消息,然后根据参数、响应值、实例发生的变化来检查 那些消息产生的结果。如果编程语言(例如c___)具有程序员管理存储分配的机 制,那么测试驱动程序需要删除它所创建的那些实例。
· 测试程度。町以根据已经测试丁多少娄实现和多少类说明来衡量测试的充分性。对于类测试来说,要测试操作和状态转换的各种组合情况,但有时穷举法是不能的,此时就应该选择配对系列的组合情况,如果能结台风险分析进行选择,效果会明显些。
3构建测试用例
首先看怎样从类说明申确定测试用例,然后根据类实现引进的边界值来扩充附加的试用例。类说明通常可以用多种方式进行描述,如自然语言和状态图等,假如要测试类的说明不存在,那么就可通过“逆向工程法”产生一个说明,并在开始测试之前让开发人员对之进行检查。
根据前置条件和后置条件来构建测试用倒的总体思想是:为所有可能出现的组合情况确定测试用倒需求。在这些可能出现的组合情况F,uJ以满足前置条件,也能够达到后置条件。接下来创建测试用倒来表达这些需求,根据这些需求还可以创建拥有特定输入值(包括常见值和边界值)的测试用例,并确定它们的正确输出。最后,还可以增加测试用例来阐述违反前置条件所发生的情况。
4类测试系列的充分性
在某些情况下。司以使用穷举法来测试每个类,即用所有可能的值来测试,以确保每一个类都符合它的说明。在这种情况下,穷举测试法所带来的好处就超过了编写测试驱动程序以运行更多测试用例所花的代价。
但是穷举测试法一般是不可能实现的,如果不能使用穷举测试法时,就不能保证个类的每一方面都符合它的说明,但能够运用某个充分性的标准来使我们对测试系列的质量抱有高度的信心。充分性的3个常用标准是:基于状态的覆盖率、基于限制的覆盖率、基于代码的覆盖率。最低限度地符合这些标准将会产生若十不同的测试系列。将所有3个标准用于测试系列,将会提高我们对测试充分性的信任度。
· 基于状态的覆盖率。咀测试覆盖了多少个状态转换为依据。假如测试没有覆 盖一个或一个以上的状态转换,那么其类的测试就不充分。即使测试用例对所有的状态部覆盖了一次,测试的允分性仍值得怀疑,因为状态通常包含了各种对象属性的值域。这样,必须测试这些值域里的所有值,包括典型值和
边界值。
· 基于约束的覆盖率。与基于状态转换的充分性类似,还可以根据有多少对前置条件和后置条件被覆盖来表示充分性。例如,如粜一个操作的前置条件是prcl或者pre2,而后置条件足postl或者pon2,充分的测试则需要包含所有有效的组合 况(即prel=【nle,pre2一false,postl=订ue,post2一false;prcl=false,pre22nⅥe,postl2mle,Don2=false等)的测试用例。假如生成的测试用例满足了每一个需求,那么就符合这个充分性的标准。
· 基于代码的覆盖率。当所有的测试用例都执行结束时,确定实现一个类的每一行
代码,或代码通过的每一条路径至少执行了一次,这是一种很好的崽想。文章来源于领测软件测试网 https://www.ltesting.net/