- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试理论知识基资料整理
语句覆盖:设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次
复杂的程序不可能达到语句的完全覆盖,复杂的程序不可能达到语句的完全覆盖
语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句数量)
判定覆盖:也叫做分支覆盖,含义是:在测试的时候设计若干个测试用例,运行被测程序,使得程序中的每个判断至少被取真值和假值一次,即真分支和假分支一次。比语句覆盖稍强的覆盖标准是判定覆盖
判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)
条件覆盖:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)
判定/条件覆盖:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
判定条件覆盖率=(条件操作数值或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)
组合条件覆盖:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
显然满足组合条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/条件覆盖的,但不一定满足路径覆盖
路径测试:涉及足够多的测试用例,要求覆盖程序中所有可能的路径。
路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)
功能覆盖率(Function Coverage)属于黑盒测试范畴。功能覆盖率中还有一种覆盖称之为接口覆盖,又叫做入口点覆盖。其含义是设计一定量的测试用例,使得系统的每个接口都被测试到。
功能覆盖率中最常见的是需求覆盖,其含义是通过设计一定的测试用例,要求每个需求点都被测试到。
需求覆盖率=(被验证到的需求数量)/(总的需求数量)
使用覆盖率的基本原则:
(1)覆盖率不是目的,只是一种手段,一种度量。
(2)你不可能针对所有的覆盖率指标去进行测试;
(3)不要追求绝对100%的覆盖率。
衡量采用哪种覆盖率进行度量的5个纬度(推荐作为重点考虑的角度)
(1)可自动化性 (2)可获得性 (3)可理解性 (4)可维护性 (5)完整性
目标:使用最少的测试用例来达到所需的覆盖要求
结构化程序是由三种基本控制结构组成的。
(1)顺序结构---构成串行操作 (2)选择结构---构成分支操作 (3)循环结构---构成循环操作
流程图简称N-S图。N-S图也被称为盒图
流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成
右图给出了4种基本控制结构的N-S图
基本路径测试:
前提条件:测试进入的前提条件是在测试人员已经对被测试对象有了一定的了解,基本上明确了被测试软件的逻辑结构。
测试过程:过程是通过针对程序逻辑结构设计和加载测试用例,驱动程序执行,以对程序路径进行测试。测试结果是分析实际的测试结果与预期的结果是否一致。
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法:
程序的控制流图:描述程序控制流的一种图示方法。
程序环路复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
导出测试用例:根据环路复杂度和程序结构设计用例数据输入和预期结果。
准备测试用例:确保基本路径集中的每一条路径的执行。
基本路径测试 - 计算圈复杂度
计算环路复杂度
环路复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。
有以下三种方法计算环路复杂度:
流图中区域的数量对应于环型的复杂性;
给定流图G的环路复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
给定流图G的环路复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
决策表:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具
在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。
决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问
文档评论(0)