测试用例设计基本方法1.ppt

测试用例设计基本方法 中国科学技术大学 计算机科学与技术学院 TTCN实验室 为什么需要测试用例(1) 如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。 测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。 软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例 测试用例的作用 重要参考依据 提高测试质量 有效性 复用性 客观性 可评估性和可管理性 知识传递 测试用例设计方法的重要意义 软件质量的好坏很大程度上取决于测试用例的质量和数量 测试用例设计方法也可以用于非软件领域的测试 测试用例设计方法是一种分析问题的方法 测试驱动开发对开发人员也是一种挑战,不懂测试用例设计就不能算懂开发。 测试用例数和软件规模的关系 缺陷空间 测试空间上所有可能发生的缺陷构成的集合就是缺陷空间。 if (a == b) //a、b为布尔变量 { DoSomething( ); } else { return ErrorMsg( ); } 测试空间= { (0,0),(0,1), (1,0), (1,1) } 缺陷空间可以接近无限大 测试空间寻找原则 以测试数据的表现形式为线索寻找测试空间。 寻找所有的可变数据 外部输入层—在需求中找 接口层—在高层设计中找 内部实现层—在详细设计和代码中找 寻找单个可变数据的测试空间 场景分析法、元素分析法和分类推理法 分析可变数据的组合关系 因果图、判定表法 缺陷空间反向设计原则 先找缺陷空间,据此构造测试数据,设计出测试用例。 只寻找缺陷空间中那些发生概率较高的缺陷。 设计方法: 分类推理 元素分析 边界值 状态图 错误猜测 测试空间划分原则 找全测试空间和设计空间后,开始测试用例设计,也就是从测试空间中选取若干个可测数据。 以可测数据揭示缺陷的概率为依据 选取的测试数据通过测试后其他测试数据也通过测试有一个概率,这个概率越大表明选取的测试数据越有效。这个概率称为可测数据子集的选取概率,也是测试数据揭示缺陷的概率。 数据划分的例子 给定一个概率0.95,从可测数据中划分出一个数据子集{1,2,3,4,5},如果5通过测试,则1,2,3,4通过测试的概率大于等于0.95。 注意:使用测试空间划分原则的前提—需要知道有哪些可能的缺陷,如果对可能发生的缺陷一无所知,是无法对测试空间进行划分的。 实际往往只知道一些发生概率比较大的缺陷,因此测试用例设计往往是建立在对测试缺陷集合的一个子集上的测试空间划分。 测试用例的优化问题 如何划分测试空间才能以尽量少的子集覆盖整个测试空间属于测试用例的优化问题。(参考) 测试用例的评价指标 可测数据通过测试:测试结果与期望的结果一致。 假设某个可测数据有可能因为n个可能的缺陷而不能通过测试,而这n个缺陷中每个缺陷发生的概率为P(i),那么 可测数据不能通过测试的概率 = 可测数据通过测试的概率=1- 测试空间覆盖率 分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。 关心用户做什么,而不是关心产品做什么 优点:实用性强,有效,设计出来的用例有价值 缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。 基本概念 找出所有会影响结果的环境因素 找出场景中可能发生的事件序列 将环境因素和事件序列进行组合并进行分析推导,得到不同的场景。 意会知识(参见文献阅读) 显性场景 猎人、树、鸟 参见文献阅读(场景分析法) 过桥问题 4个人在晚上过一座小桥,过桥时必须要用到手电筒,只有一枚手电筒,每次最多只可以有两人通过(人多了桥支撑不住就塌了), 4个人的过桥速度分别为1分钟、2分钟、5分钟、10分钟,试问最少需要多长时间4人才可以全部通过小桥? 过桥问题--可能的事件序列 先过去2个人,其中一个拿手电筒(1分钟和2分钟) 1个人拿手电筒返回(1分钟) 再过去2个人,其中一个拿手电筒(5分钟和10分钟) 1个人拿手电筒返回(2分钟) 拿手电筒返回的人和剩下的那个人一起过桥( 1分钟和2分钟) 过桥问题--可能的事件序列 先过去2个人,其中一个拿手电筒(1分钟和2分钟) 已过桥的人站在桥头拿手电筒照亮桥。 剩下2个人一起过去(5分钟和10分钟) 过桥问题—环境因素 4个人,桥、手电筒、夜晚 人:过桥的速度是一定的,所以只有他们的过桥行为会对总的过桥时间有影响。 人:有力学知识 人:4人的情况有所不同(年龄、身体) 桥:长度和承重 手电筒:照射距离和时间 夜晚:光线 场景分析过程 由显性的环境因素分析出对结果

文档评论(0)

1亿VIP精品文档

相关文档