软件测试用例设计方法

前面有曰:测试结果的准确性取决于测试用例的设计,故测试用例设计显得尤为重要。今天就好好梳理下,测试用例的相关内容.

  重要性:Test Case贯穿整个测试执行过程,分两大类:数值计算类和数据处理类

  概述:编写一组前提条件,输入,执行条件,预期结果的组合方案。完成对某个特定需求或目标的测试,体现测试方案,方法,技术和策略的文档。

  1、什么是测试用例,为什么要编写?

  测试用例就是编写一组条件,输入,执行条件,预期结果的并完成对特定需求或目标的测试,体现测试方案,方法,技术和策略的文档。

  由于测试用例是把整个测试的执行过程分解为若干测试步骤,并仔细的检查,验证所编写程序的正确性。它是软件测试的核心部件,是测试环节执行的基本依据。

  2、主要包含哪些内容?需要哪些资料?

  通常如下内容:

    测试用例的编号
测试日期
测试设计人员和测试人员
测试用例的优先级
测试标题
测试目标的描述(描述它需要实现的功能,包括性能等)
测试环境的描述(eg:硬件条件,软件条件,网络条件等)
输入数据/动作的编写(具体的执行过程)
测试的步骤(测试数据具体的执行过程)
测试的预期结果
测试审查人员

  资料:

    软件需求说明书
软件设计说明书
软件测试需求说明书
成熟的测试用例(案例库或财富库)

  3、有什么作用?

   投入小,易积累,回报大。如何在最短时间内以最少的人和资源投入发现软件自身的缺陷,完成高效率测试并交出优质产品,是每个软件公司探求的目标。因此每 个项目都需要有一套完整,高效,优质的测试方案和测试方法,如果有了测试用例和测试用例库则可以预防部分或减少潜在风险的发生,另外,若公司事先要求编写 测试用例和建立相关测试用例库,测试人员发生流动时,对测试和项目进度的影响就会降到最低程度。

  (1)实施测试指导的作用

  在实施测试时一定要严格按照测试用例规定的用例项目和测试步骤逐一测试,并把测试中的各种情况记录下来(最好用测试管理软件)。以便书写测试结果文档(建议用测试管理软件自动生成)

  注意:测试用例是指导测试人员进行测试,通过用例发现更多的缺陷,而不是限定测试人员的思维。

  (2)指导测试数据规划的作用

  测试用例数据一般都保存在数据库中, 只有进行测试用例设计时才从数据库中调出一组或若干组测试用例的数据和标准测试结果。eg:报表等一些对数据的正确性要求较高的测试,要事先对测试的数据 进行规划,报表横向,纵向多少内容。表输出的格式要求等,进行规划设计要做到事先有准备,测试操作时有案可查。除了这些标准数据,有时候还需要根据测试用 例设计大量边界值&越界值。

  (3)指导脚本编写的作用

  软件测试逐步走向人工测试和自动化测试并行发展。而自动化测试的核心就是测试脚本,自动化测试脚本编写的依据就是测试用例。

  (4)作为评判基准的作用

  测试工作完成后需要评估并进行定论,判断软件是否合格,然后出报告。以测试用例为依据进行评审。总结如下:

  测试中检测到Bug数目

  有效的Bug数目

  无效的Bug数目

  有争议的Bug数目等

  (5)作为分析缺陷的基准的作用

  测试目的就是发现Bug,测试结束后对得到的Bug进行复查,并对测试用例不断的补充,完善,最终交付给用户一个高质量的软件产品。

  4、测试用例的设计流程,白盒测试用例的设计和目的?

  一般流程包括:制定测试计划,编写测试用例,执行测试,跟踪测试缺陷,编写测试报告。

  需注意:用例应该从系统最高级向最低级逐一展开,每个用例单独放在文档中,所有功能都应该对应到用例中,需依据需求进行设计。最好是有丰富经验的测试人员来设计。用例是多样化,复杂中简单化。

  白盒测试设计方法:

  逻辑覆盖:①判定覆盖②条件覆盖③判定/条件覆盖和多条件覆盖,逻辑值必须测试真,假两个分支,需要在边界值内和可操作范围内至少循环一次,并检查数据的内部结构,保证其有效的实现预定功能。

  基本路径测试每个模块中的独立路径至少被执行一次

  5、黑盒测试用例的设计和目的?

  设计-等价类划分,边界值分析,错误推测,因果图

  目的-检查功能是否实现或遗漏,交互界面是否出错,数据库读取,更新操作是否出错,性能和特性是否得到满足。

  6、综合设计方法

  实际操作设计测试用例一般“先黑后白”,即先采用黑盒技术设计测试用例,再用白盒技术做一些补充。

  步骤:如果规格说明书中包含输入条件,则用因果图法设计;如果源码中遇到输入输出边界,则用边界值分析法;同时为输入和输出识别有效和无效等价类;使用错误推测法增加测试用例。

  5点原则和注意项:

  ①测试用例的正确性
②测试用例的代表性
③测试结果的可判定性和可重现性
④足够详细,准确,清晰的步骤
⑤不能把测用例设计等同测试输入数据的设计

  ①务追求测试用例设计一步到位。
②勿将多个测试用例混在一个。
③用例中,最好不是无经验的人员设计测试用例。

  7、测试用例设计需关注7大要点

  (1)单元测试用例需注意

  在一组单元模块设计完成后就开始的测试,单元测试以程序设计说明书为指导。测试模块范围内的主要控制路径,以揭露错误。重心放在代码审查,测试用例,测试特性,用例描述,测试总结上。后期我会对单元测试进行补充说明。

  被测单元模块声明初始状态时,即此模块单元测试的开始。

  正面测试:依据设计说明书设计用例,用等价划分设计用例

  负面测试:错误猜测和边界值分析

  覆盖率:分支覆盖/条件覆盖

  (2)功能测试用例设计要点

  首先考虑等价划分类,边界值共用,并用错误推测法补充;如果业务流程清晰可采用场景法设计;若程序有详细的因果关系,应该一开始就采用因果图法;如果是文件配置类型的测试,考虑功能图法

  (3)集成测试用例设计要点

  按详细设计说明书来设计,测试用例数据来源于UC,内部逻辑结构分析按单元测试进行。

  (4)性能测试用例,需要不断的迭代完善的过程,一个完整的性能测试通常包括:预期指标性能测试,独立业务性能测试,组合业务性能测试,疲劳强度性能测试,大数据量性能测试,网络性能测试,服务器(操作系统,Web服务器,数据库服务器)性能测试,一些特殊的测试。

  预期性能测试用例依据需求和设计文档明确的性能要求进行设计;

  独立业务性能从单个模块功能和性能要求出发设计;

  组合业务性能从需求,设计文档,现场调查,系统采集数据方面进行用例设计;

  疲劳强度性能测试需要编写不同参数或者负载条件下设计测试用例;

  大量数据性能需考虑数据处理能力,用边界值分析法设计用例;

  网络性能测试使用工具调整网络设置;

  服务器测试一定要和前面的测试结合起来进行。

  (5)系统测试用例根据需求分析来检验软件是否满足功能,行为,性能,系统协调性等方面的要求。

  使用的数据应具有代表性,并与真实数据的大小和复杂性相当

  (6)验收测试用例设计

  应该在研发阶段测试用例基础上重新编写,而不能直接拿来使用;需与客户需求相对应,面向客户;把握客户的关注点并适当展示软件的独特性。

  (7)回归测试用例设计要点

  不需要重复设计,只需选择以前的测试用例,针对最重要或最频繁使用的功能测试用例。

  综上描述需要结合实际工作运用实践,精益求精。赶快行动吧~

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 01:45:19

软件测试用例设计方法的相关文章

浅谈手机软件测试用例设计方法

手机产品和用户交互非常紧密,手机的软件质量就显得尤其重要.要使最终用户对手机软件感到满意,必须要在手机软件发布之前进行充分的测试.而不完全.不彻底是软件测试的致命缺陷,但是我们又不可能进行穷举测试,任何程序只能进行少量而有限的测试.为了节省时间和资源,提高测试效率,我们必须要从数量极大的可用测试数据中精心挑选出具有代表性或者特殊性的测试数据进行测试.测试用例在此情况下产生.测试用例是为特定的目的而设计的一组测试输入.执行条件和预期的结果.简单地说,测试用例就是设计一个场景,使软件程序在这种场景下

软件测试用例设计生命周期

测试用例分析与设计是整个测试生命周期中非常重要的一个活动,该测试活动的输出是后续测试执行的主要输入,其质量直接影响后续测试效率.有效性及测试质量.测试用例分析与设计的过程,采用的技术与方法,以及测试人员的测试经验与技能等,都会影响最终的测试用例质量. 图1是测试用例设计生命周期示意图.在该示意图中,包括了测试用例设计相关的主要测试活动,可能可以采用的技术与方法等.主要的测试活动包括: 1)确认测试用例设计的参考输入来源: 2)识别初始测试条件(测试点): 3)采用测试类型分析与功能交互分析细化测

一种全新的软件界面设计方法(摘)

设计 关键字:COM MySpy IE SetUIHanlder IcustomDoc IDocHostUIHandler GetExternal 前言 作者在解决各种问题的时候喜欢首先使用C++ Builder来尝试,这篇文章也是这样,但这并不影响其他开发工具的使用者阅读,因为这都是微软的开发技术,选择什么工具并不重要,我们理解了他的原理可以使用任何工具实现同样的功能. 正文 使用过VC.Net的朋友可能知道,在VC.Net中全新提供了一种基于Web的界面设计方法,不过可能真正用到的人很少,至

手机软件测试用例设计实践

一.测试用例设计概述 测试伴随在整个手机软件开发的各个阶段中,测试质量的高低直接关系到手机软件的可用性,友好性,可靠性.可以说,测试环节是手机软件开发的重要环节,是整个开发过程的"中枢神经".同时,测试用例的设计在测试过程中是非常重要的一个环节,是重中之重. 一般来说,设计测试用例应该考虑如下几方面: 1)有效性:测试用例是测试人员测试过程中的重要参考依据.不同的测试人员依据相同的测试用例所得到的输出应该是一致的. 2)可复用性:良好的测试用例具有重复使用的功能,使得测试过程事半功倍,

关于自动化软件测试用例设计的几点分析

1.手工测试用例和自动化测试用例功能定位的区别. a)手工测试用例 i.较好的异常处理能力,能通过人为的逻辑判断校验当前步骤的功能实现正确与否. ii.人工执行用例具有一定的步骤跳跃性. iii.人工测试步步跟踪,能够细致的定位问题. iv.主要用来发现功能缺陷 b)自动化测试用例 i.执行对象是脚本,任何一个判断都需要编码定义. ii.用例步骤之间关联性强. iii.主要用来保证产品主体功能正确完整和让测试人员从繁琐重复的工作中解脱出来. iv.目前自动化测试阶段定位在冒烟测试和回归测试. 2

软件测试用例设计需要参考哪些输入?

不管是文档化的测试用例,还是存在于测试人员头脑中的测试想法和思维,针对测试对象的分析和设计都是整个测试过程的重要测试活动之一.在进行测试分析和设计之前,测试人员首先需要确定测试的需求来源,即测试用例设计需要参考哪些测试依据文档? 测试用例设计的输入文档是什么?测试人员头脑中第一个蹦出的参考依据就是需求规格说明.确实,需求文档是我们测试设计的最主要参考文档.但是,由于时间限制.成本限制和个人能力限制等方面的原因,提供完备的需求规格说明几乎是不可能的.现实情况是,需求规格说明常常是不全的.模糊的,甚

软件测试用例设计难在哪里?

试用例设计是测试过程中非常重要的一个活动,不管是文档化的设计输出,还是只是存在于他们脑海中的测试思想,其质量都会直接影响测试执行的质量. 尽管每个测试人员都掌握了不少的测试用例设计技术与方法,例如:等价类划分.状态转换测试等,但是如何将它们应用到具体的测试对象测试中去,很多测试人员都会感觉有些力不从心,甚至有无从下手的感觉. 下面是针对某个功能模块的一个简单的需求描述:该基本功能是为了创建某个条目,它的基本需求如下: 假如dataBit0 = 0, 并且cBPDU或者pBPDU的值不为1,那么创

从场景软件测试用例设计谈业务测试

作为测试人员,编写测试用例是我们的核心,他最重要的作用就是让我们跟着测试用例测试,不会遗忘一个测试的功能点.在现实的设计用例环节来说,做到很好的测试用例对我个人来说是很难的.尤其是场景测试用例设计. 本文不以概念和一些教科书似的例子来讲解场景测试和业务测试的相互关系.以一个轻松交流的方式来总结场景测试的流程.当今很多产品不再是单一的互联网或者是独立产品作为测试的对象,往往跟多个模块进行配合测试.即使有严格的规格说明书,事件流的测试也是不能忽视. 为什么要用场景测试用例: 因为用等价,边界等设计方

测试用例与输入数据的设计方法

测试用例的设计是测试设计的重要内容,关于测试用例的设计方法,当前不少出版的测试书和发表的测试文章,不少存在着表述错误,主要是把测试用例中的输入数据的设计方法与测试用例的设计方法混为一谈,对测试初学者和测试用例设计人员产生误导. 这种错误的主要表现举例如下: 测试用例的设计方法包括: ◆ 等价类划分法 ◆ 边界值法 ◆ 功能图与判定表法 ◆ 错误推测法 ◆ 用户场景法 ◆ ...... 其实,测试用例中输入数据的设计方法只是测试用例设计方法的一个子集,上面列出的集中方法都是确定黑盒测试用例的输入测