欢迎来到天天文库
浏览记录
ID:36659763
大小:224.91 KB
页数:11页
时间:2019-05-10
《《交互测试》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十三章交互测试13.1对象交互?13.2测试用例抽样13.1对象交互重要性:对象的正确协作,即交互,对于程序的正确性非常关键讨论范围:阐述如何测试与其它类有交互的类,这种交互发生在运行期的各个对象之间。例:对象作为参数;一个对象保持了另一个对象的引用并将其做为状态的一部分测试重点:确保对象的消息传送能够正确进行测试方法:有两种使用嵌入到应用程序中的交互对象在独立的测试工具(Tester)提供的环境中,使得该环境中的对象相互交互13.1对象交互(续)概念:是一个对象(sender)对另一个对象(receiver)的请求,发送者请求接收者执行接收者的一个操作,而接收者进行
2、的所有处理工作就是完成这个请求。对象交互的方式:公共操作将一个或多个类命名为正式参数的类型公共操作将一个或多个类命名为返回值的类型类的方法创建另一个类的实例,并通过该实例的调用操作类的方法引用某个类的全局实例注意:多态性增加了与被测试的类进行交互的对象数量13.1对象交互(续)汇集类:有些类在说明中使用对象,但实际上从不和这些对象中的任何一个进行协作,又是表现为以下行为:存放这些对象的引用创建实例删除实例协作类:在一个或多个操作中使用其它的对象并将其作为实现中不可缺少的一部分。13.1对象交互(续)一组对象间的交互非常复杂,对每个交互进行独立的测试还是将所有交互作为一个
3、整体进行测试,即选择正确的“块”的大小,取决于三个因素区分与被测试的某个对象有组成关系的对象和有关联的对象聚合层数与缺陷的能见度有关,若“块”太大,会有不正确的中间结果。对象越复杂,在一轮测试之前应该被集成的对象应该越少对象交互的测试测试汇集类:测试驱动程序要创建一些实例,并传送给一个正在测试的集合,测试用例的中心目的是保证实例被正确地加入集合以及正确地从集合移出,测试时应估算集合的上限,测试系统应包含否定测试,应该用超过指定客量限制的测试例进行测试,令其抛出异常。测试协作器类:更复杂,测试这些类时,需要与之相关联的每个类的一个或多个实例。例:BrickPile,构造方
4、法中都要PlayField,Cpoint,Hint的实例。测试与设计方法:使用约束性设计方法时,类一级代码减少,但交互测试时,为了保证设计者服从前置条件约束,约束性设计的代码需要更多地测度。13.2测试用例抽样选择测试用例,从而在最感兴趣的地方发现错误其于概率分布的抽样方法:总体:所有可能被执行的测试用例,所有前置条件和所有输入值的可能组合样本:是基于某个概率分布选择的总体的子集概率:可建立在用户的使用情况上,例如可按使用频率来给出概率,或统一分布。分层样本:将来自用模型的使用者作为分层的基础,即从每个使用者的用例中挑选出测试用例抽样,从而发现在典型使用中的缺陷。例:两
5、个类之间的交互,CollideInto()中的Sprite类和MoverableSprite前置条件对参数没有限制,需用其它方法来确定抽样的总体Sprite是类族的基类,类族中任何一个类的实例都可以用Sprite代替,因此应从这组类中抽样可能用到的参数。考虑类族中每个成员的不同状态。MoveableSprite类族中的任何类都可以应用所设计的测试某个测试用例将会包含MoveableSprite类族的一个成员,它给Sprite类族的其它成员发送消息,送些成员可能处于自己的任意一个状态。正交阵列测试提供了一种特殊的抽样方法,通过定义一组交互对象的配对方式的组合,以尽力限制测
6、试配置的组合数目的激增。正交阵列是一个数值矩阵,每一列代表一个因素。在例子中,它代表软件系统中一个特定的类族。每一个变量都可以取一组特定的值,称为级别,在例子中,每一个级别就是类族中一个特定类,以及对应于这些状态的因素和一系列级别。正交阵列中,各个因素组合成配对方式,例:A,B,C三种因素,各有3个级别,则有27种可能的组合情况,若限制每个级别只出现两次,则只有9种情况。正交阵列中,每一行可看作测试用例。使用正交阵列确定测试用例的五个步骤:确定所有的因素:发送层次,接收层次,与消息中的每个参数位置相关联的因素,与类的实例相关联的状态。确定每个因素的层次:通过考虑这些可能
7、的值的集合来决定每个因素的层次。定位一个适合这个问题的标准正交阵列。建立从每个因素到陈列中整数的映射,以便可以解释这个标准陈列。基于映射和表中的行构建测试用例。另一个例子:BricksP171图6.2OATS的充分性标准改变被测试软件覆盖的完全程度,有可能用到的层次:穷举性:考虑全部因素的所有可能的组合情况。最小性:仅测试每个级别基类之间的交互。随机性:随意根据几个类来选择测试用例。代表性:统一的抽样,确保每个类都被测试到某种程度。加权代表性:以类的相对重要性和风险性为基础来抽样。
此文档下载收益归作者所有