- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 类测试 罗 东 俊 ZSUJONE@126.COM 主要内容 12.1类测试基础 12.2构建类测试用例 12.3构建测试驱动程序 12.4测试类的层次结构 12.1类测试基础 12.1.1类测试的方法 12.1.2类测试的层次 12.1.3类的功能性测试和结构性测试 12.1.4类测试的考虑 12.1.1类测试的方法 类测试的前提是:要测试的类有完整而正确的说明,并且已经在模型环境下进行了测试;类的规格说明是用对象约束语言(OCL)、自然语言或状态图表述的。 测试一个类代码的基本方法有两种: 静态代码检查 动态执行测试用例。 12.1.2类测试的层次 对类的测试可以分成两个层次进行: 方法内测试 方法间测试。 方法内测试 方法内测试用来测试单个的方法,这个层次的测试等效于传统程序中对单个过程进行的测试,因此传统程序中设计测试用例的技术例如逻辑覆盖、等价类划分、边界值分析和错误推测等方法,仍然可以作为测试类中每个方法的主要技术。 如果类中的方法都已定义了前置/后置条件,则可以此来开发对各方法进行测试所用的测试用例。 要测试类中的方法,必须用一个驱动程序对被测方法发一条消息来驱动执行。 如果被测试模块或者方法中有调用其他的模块或方法,则都需要设计一个模拟被调子程序功能的存根程序代替。 驱动程序、存根程序及被测模块或方法组成一个独立的可执行的单元。 方法间测试 方法间测试用来测试某一方法与类中别的由该方法直接或间接调用的方法间的协作情况。 需要对方法的不同次序组合分别进行测试 12.1.3类的功能性测试和结构性测试 类测试一般有两种主要的方式:功能性测试和结构性测试,即黑盒测试和白盒测试。 功能性测试以类的规格说明为基础,它主要检查类是否符合其规格说明的要求。 例如,对于Stack类,即检查它的操作是否满足LIFO规则; 结构性测试则从程序出发,它需要考虑其中的代码是否正确, 同样是Stack类,就要检查其中代码是否动作正确且至少执行过一次。 功能性测试 功能性测试包括两个层次: 类的规格说明 方法的规格说明。 类的规格说明 类的规格说明是各方法规格说明的组合及对类所表示概念的广义描述。 例如,Stack类的规格说明中包括了方法push和pop的规格说明,但push和pop中都没有说明这两个操作在一个类中同时工作的情况,即push的规格说明只要求把其参数值加入到栈顶上,但对删除不加任何说明,而pop也同样不对被删除项的加入作任何描述,仅在类这一层的规格描述中才表达LIFO的要求限制。 方法的规格说明 每个独立方法的规格说明可以用其前置/后置条件描述 一般根据前置条件选择相应的测试用例,就可以检查其产生的输出是否满足后置条件,从而完成对独立方法的测试, 结构性测试 结构性测试分为两层: 第一层是考虑各独立的方法,这可以与过程的测试采用同样的方法,两者之间最大的差别在于方法改变了它所在实例的状态 第二层要考虑一个方法调用本对象类中的其他方法和从一个类向其他类发送信息的情况。 这一类测试的准则是要求遍历类的所有主要状态。 12.1.4类测试的考虑 在单独类的测试环境下,类测试时需要考虑以下5个方面: 测试人员:通常为开发人员, 优点:熟悉代码,便于开发测试系列和测试驱动程序 缺点:对类说明的任何误解都会影响测试系列和驱动程序 测试内容:确保一个类的代码完全满足类说明所描述的要求。 测试时间:完全说明一个类并且对其编码后不久,就开发一个测试计划,或至少确定测试用例的某种形式,从而有助于开发人员理解类说明,避免确定不正确或不充分的测试用例。类实现改变时,执行回归测试。若变化是因为发现了缺陷,则应增加或改变测试用例。 测试过程:开发测试驱动程序;由该驱动程序创建类的实例,并为实例创造环境以便运行一个测试用例。 类的静态成员和方法要测试。 测试程度:根据测试了多少类实现和多少类说明来衡量测试的充分性。 12.2构建类测试用例 12.2.1根据OCL规范构建测试用例 12.2.2根据状态转换图构建测试用例 12.2.3类测试系列的充分性标准 12.2.1根据OCL规范构建测试用例 类规范的OCL说明通常会描述每个操作的前置条件和后置条件,因此可以根据前置条件和后置条件构建测试用例。 根据前置条件和后置条件构建测试用例总体思想: a.为所有可能出现的组合情况确定测试用例需求,在这些可能的组合情况下,可以满足前置条件,也能够达到后置条件。 b.创建测试用例表达这些需求(创建特定输入的测试用例;增加违反前置条件的测试用例) Velocity类的UML模型 Velocity类的OCL规范 前置条件对测试系列的影响 后置条件对测试系列的影响 例如 对Velocity::SetDirecti
文档评论(0)