8.16软件测试用例分析与设计—范建华

上传人:门**** 文档编号:243750775 上传时间:2024-09-30 格式:PPT 页数:65 大小:3.85MB
返回 下载 相关 举报
8.16软件测试用例分析与设计—范建华_第1页
第1页 / 共65页
8.16软件测试用例分析与设计—范建华_第2页
第2页 / 共65页
8.16软件测试用例分析与设计—范建华_第3页
第3页 / 共65页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,Beijing,Yonyou,Government Affairs Software,Co.,Ltd,.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,Beijing,Yonyou,Government Affairs Software,Co.,Ltd,.,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,Beijing,Yonyou,Government Affairs Software,Co.,Ltd,.,软件测试用例分析与设计,北京用友政务软件有限公司,范建华,2013,年,8,月,9,日,软件测试用例的设计,测试用例概述,测试用例设计方法,测试用例的设计步骤,在日常的测试用例设计过程中,存在的问题?,讨论,如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。,测试用例是测试工作的指导,是软件测试的必须遵,守的准则,更是软件测试质量稳定的根本保障。,测试用例概述,测试用例可以独立进行测试执行的最小单元。,测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例。,测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。,软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例。,什么是测试用例,在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性;,测试用例的使用令软件测试的实施重点突出、目的明确;,根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;,减少回归测试的复杂程度,在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;,为什么需要测试用例,功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断细化其效率也不断攀升;,根据测试用例的操作步骤和执行结果,为分析软件缺陷和程序模块质量提供依据;可以方便地书写软件测试缺陷报告;,可以根据测试用例的执行等级,实施不同级别的测试;,便于大型软件测试项目外包测试指导基础;,为什么需要测试用例,可以最大程度地找出软件隐藏的缺陷,可以最高效率的找出软件缺陷,可以最大程度地满足测试覆盖要求,既不过分复杂、也不能过分简单,使软件缺陷的表现可以清楚的判定, 测试用例包含期望的正确的结果, 待查的输出结果或文件必须尽量简单明了,不包含重复的测试用例,测试用例内容清晰、格式一致、分类组织,测试用例的简明性, 与易理解性, 达到仅根据测试用例即可完成测试为目的,良好测试用例的特征,可以设计多少个测试用例?,问题,UC,TC1,、,TC2TS,判断测试的质量,取决于广度、深度,不取决于频度。,广度:功能需求的覆盖率;,深度:单功能点的测试用例的数量。,深度的级别:,A:Main,TC (,基本流,),A1:,(备选流),B:additional,TC,(等价类、边界值),C:supply,TC(,错误推导法、因果图法,),D:AD-HOC,随机测试,固定时长,测试用例深度的设计,取决于功能的优先级、重要度。,小结,conception,FetureScenarioUCcode,-TC,-IT,功能的重要度分为,4,级:,critical,、,major,、,minor,、,Don,t care,。,分析需求规格说明书,标识功能点中待测的业务实体,业务实体与测试的关系, 数据库测试(数据实体图),读需求规格来完成业务实体的标示,需求规格中的业务实体完整性判断,数据实体:输入、输出,分析需求规格说明书,标识功能点中待测的业务规则,业务规则与测试的关系?,业务规则分类标识,狭义的业务规则与广义的业务规则,操作步骤、界面、规则、业务,主要完成细节,TC,逻辑设计,分析需求规格说明书,标识功能点中待测的业务流,业务流程中的动作与状态分析,业务流程中动作按照时间列表,读,UML,图中的活动图完成动作或活动的标示,完成流程用例的设计,分析需求规格说明书,标识功能点中待测的业务状态,业务状态与业务流程,业务状态定义依据(未发生、发生中、已发生),业务状态的转换条件标识,完善流程、功能用例的设计,业务状态测试,分析需求规格说明书,标识功能点中待测的业务角色,读需求规格说明书中的组织结构域业务角色,角色对业务实体以及相关属性操作的行为,角色之间的隶属关系,读业务执行者的关系图,权限测试(用户与数据权限、用户与行为权限、用户与角色权限等),分析需求规格说明书,标识功能点中待测质量因素,读需求规格说明书的非功能部分,客户对软件系统质量的细节要求标出列表,将与软件系统相关的质量属性标出列表,对软件系统的质量属性进行优先级别的排序,非功能性测试(性能、可靠性、健壮),此部分测试基本都是通过自动化测试完成的(压力、疲劳、容量等)。,分析需求规格说明书,标识功能点中待测环境因素,读需求规格说明书关于软件系统运维环境的描述部分,标识软件系统运行的相关环境因素,对相关的环境因素给出详细列表,对易变动环境与稳定环境进行标识,生产环境对测试的影响,分析需求规格说明书,正确理解需求的过程,分析需求规格说明书,测试用例设计的视角,测试种类、阶段和用例的关系,测试用例设计,1,、软件版本编号。,2,、测试用例编号,编号的格式可根据软件版本号,+,用例号来确定。,3,、用例的优先级,在一个时间紧凑的测试环境下,为了按效率的完成测试用例。,4,、前提条件:参数、配置、数据准备。,5,、业务说明。,4,、用例步骤,ID,。,5,、输入数据。,6,、期望输出数据。某个步骤下,输入了某条数据,你期望程序会输出什么数据,可以用来与实际输出的数据相比较。,8,、备注。为什么要备注,可能你在考虑这个,Case,的时候有一个好的点子或者思路,可写在备注里面。,9,、测试环境。,10,、用例编写人,/,日期。,(,不重要,),11,、测试执行者,/,日期。(不重要),可能根据不同的项目还需要一些补充,可以根据具体情况具体分析。,注:在测试用例设计中,测试步骤、测试数据分离。,测试用例的基本结构,5W1H,􀂄 ,Why ,为什么而测?,目的,􀂄 ,What ,测什么?,内容、期望结果,􀂄 ,Where ,在哪里测?,环境,􀂄 ,When ,什么时候开始测?,时间,􀂄 ,Which ,哪些输入数据?,测试数据,􀂄 ,How ,如何操作软件?,步骤,测试用例要描述什么,测试用例的元素,􀂄 ,是由一组逻辑上相关联的操作构成的。,􀂄 有初始化操作,预计的输入,处理,输出。,􀂄 需要区分主业务流程和辅助业务流程,􀂄 测试用例应该划分优先级,首先保证重点业务流程的正确性。,􀂄 测试用例决不是一个一个的孤岛,而是按照逻辑关系组合到一起,由数据构成的逻辑包。,测试用例的组成,软件测试用例的设计,测试用例概述,测试用例设计方法,测试用例的设计步骤,􀂄,黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容,(,实现,),是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果,黑盒测试的基本概念,􀂄,黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。在已知软件产品功能的基础上:,检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;,􀂄 检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;,􀂄 检测行为、性能等特性是否满足要求等;,􀂄 检测程序初始化和终止方面的错误等。,黑盒测试的基本概念,􀂄,黑盒测试着眼于软件的外部特征,通过上述方面的检测,确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作。,两个显著的优点:, 黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用;,􀂄 设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。,黑盒测试的基本概念,穷举输入测试是不现实的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。,常用的黑盒测试方法有等价类划分、边界值分析、决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。,黑盒测试的基本概念,等价类划分,􀂄,等价类划分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。,黑盒测试方法,等价类划分,􀂄,􀂄所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并便是整个输入域。,1, 划分等价类,􀂄 (,1,)有效等价类,􀂄 检验程序是否实现了规格说明预先规定的功能和性能。,􀂄 (,2,)无效等价类,􀂄 检查软件功能和性能的实现是否有不符合规格说明要,求的地方。,黑盒测试方法,等价类划分,􀂄,2,常用的等价类划分原则,􀂄 (,1,)按区间划分,􀂄 (,2,)按数值划分,􀂄 (,3,)按数值集合划分,􀂄 (,4,)按限制条件或规则划分,􀂄 (,5,)细分等价类,黑盒测试方法,等价类划分,3,等价类划分测试用例设计,在设计测试用例时应同时考虑有效等价类和无效等价,类测试用例的设计。根据等价类表设计测试用例,具 体步骤如下:,(,1,)为每个等价类规定一个唯一的编号。,(,2),设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。,(,3),设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。,黑盒测试方法,等价类划分,-,-,案例分析,三角形问题的等价类测试,输入三个整数,a,、,b,和,c,分别作为三角形的,3,条边,通过程序判断由这,3,条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形),输入,3,个整数,a,、,b,和,c,分别作为三角形的三条边,要求,a,、,b,和,c,必须满足以下条件:,Con1,1a100 Con 2,1b100,Con 3,1c100 Con 4,a,b+c,Con 5,b,a+c,Con 6,c,a+b,黑盒测试方法,等价类划分,-,-,案例分析,三角形问题的等价类测试,黑盒测试方法,等价类划分,-,-,案例分析,三角形问题的等价类测试,黑盒测试方法,边界值分析法, 大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。, 设计方法:,确定边界情况(输入或输出等价类的边界),选取正好等于、刚刚大于或刚刚小于边界值作为测试数据,黑盒测试方法,边界值分析法,-,案例分析,加法器程序计算两个,1,100,之间整数的和。,对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即,1,个有效等价类(,1,100,之间),两个无效等价类(,100,)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。,黑盒测试方法,边界值分析法,-,案例分析,为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。,黑盒测试方法,边界值分析法,-,案例分析,为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。,黑盒测试方法,边界值分析法,其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。,在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,黑盒测试方法,错误推测法测试用例设计,基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。,􀂄,发现程序经常出现的错误的方法:,􀂄,单元测试中发现的模块错误;,产品的以前版本曾经发现的错误;,输入数据为,0,或字符为空;,当软件要求输入时,(,比如在文本框中,),不是没有输入正确的信息,而 是根本没有输入任何内容,单单按了,Enter,键;, 这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择,Cancel,键放弃输入,,黑盒测试方法,测试场景法设计测试用例,现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。,黑盒测试方法,测试场景法设计测试用例,用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。每个基本流都是一个完整的业务流程,或者用例。,黑盒测试方法,测试场景法设计测试用例,案例分析,以,ATM,取款为例,按照基本流、备选流的概念,讨论哪些是基本流、备选流。,黑盒测试方法,基本流,开端是,ATM,处于准备就绪状态。,1.,准备提款,-,客户将银行卡插入,ATM,机的读卡机。,2.,验证银行卡,- ATM,机从银行卡的磁条中读取帐户代码,并检查它是否属于可以接收的银行卡。,3.,输入,PIN - ATM,要求客户输入,PIN,码(,4,位),4.,验证帐户代码和,PIN -,验证帐户代码和,PIN,以确定该帐户是否有效以及所输入的,PIN,对该帐户来说是否正确。对于此事件流,帐户是有效的而且,PIN,对此帐户来说正确无误。,5.ATM,选项,- ATM,显示在本机上可用的各种选项。在此事件流中,银行客户通常选择“提款”。,6.,输入金额,-,要从,ATM,中提取的金额。对于此事件流,客户需选择预设的金额(,10,美元、,20,美元、,50,美元或,100,美元)。,7.,授权,- ATM,通过将卡,ID,、,PIN,、金额以及帐户信息作为一笔交易发送给银行系统来启动验证过程。对于此事件流,银行系统处于联机状态,而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余额。,8.,出钞,-,提供现金。,9.,返回银行卡,-,银行卡被返还。,10.,收据,-,打印收据并提供给客户。,ATM,还相应地更新内部记录。,用例结束时,ATM,又回到准备就绪状态。,黑盒测试方法,黑盒测试方法,银行卡无效,在基本流步骤,2,中,-,验证银行卡,如果卡是无效的,则卡被退回,同时会通知相关消息。,ATM,内没有现金,在基本流步骤,5,中,- ATM,选项,如果,ATM,内没有现金,则,“,提款,”,选项将无法使用。,ATM,内现金不足,在基本流步骤,6,中,-,输入金额,如果,ATM,机内金额少于请求提取的金额,则将显示一则适当的消息,并且在步骤,6 -,输入金额处重新加入基本流。,PIN,有误,在基本流步骤,4,中,-,验证帐户和,PIN,,客户有三次机会输入,PIN,。,如果,PIN,输入有误,,ATM,将显示适当的消息;如果还存在输入机会,则此事件流在步骤,3 -,输入,PIN,处重新加入基本流。,如果最后一次尝试输入的,PIN,码仍然错误,则该卡将被,ATM,机保留,同时,ATM,返回到准备就绪状态,本用例终止。,帐户不存在,在基本流步骤,4,中,-,验证帐户和,PIN,,如果银行系统返回的代码表明找不到该帐户或禁止从该帐户中提款,则,ATM,显示适当的消息并且在步骤,9 -,返回银行卡处重新加入基本流。,帐面金额不足,在基本流步骤,7 -,授权中,银行系统返回代码表明帐户余额少于在基本流步骤,6 -,输入金额内输入的金额,则,ATM,显示适当的消息并且在步骤,6 -,输入金额处重新加入基本流。,达到每日最大的提款金额,在基本流步骤,7 -,授权中,银行系统返回的代码表明包括本提款请求在内,客户已经或将超过在,24,小时内允许提取的最多金额,则,ATM,显示适当的消息并在步骤,6 -,输入金额上重新加入基本流。,记录错误,如果在基本流步骤,10 -,收据中,记录无法更新,则,ATM,进入,“,安全模式,”,,在此模式下所有功能都将暂停使用。同时向银行系统发送一条适当的警报信息表明,ATM,已经暂停工作。,退出,客户可随时决定终止交易(退出)。交易终止,银行卡随之退出。,“,翘起,”,ATM,包含大量的传感器,用以监控各种功能,如电源检测器、不同的门和出入口处的测压器以及动作检测器等。在任一时刻,如果某个传感器被激活,则警报信号将发送给警方而且,ATM,进入,“,安全模式,”,,在此模式下所有功能都暂停使用,直到采取适当的重启,/,重新初始化的措施,。,测试场景法设计测试用例,案例分析,用例设计,黑盒测试方法,测试场景法设计测试用例,案例分析,数据设计:,一旦一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。,黑盒测试方法,因果图法,等价类划分方法和边界值分析法都是着重考虑输入条件,也没有考虑到输入情况的各种组合,也没考虑到各个输入情况之间的相互制约关系。,因果图方法的思路是:仅用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。,黑盒测试方法,因果图法测试用例设计,设计方法:,分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件戒是输入条件的等价类,而结果是输出条件;,找出原因与结果,原因与原因之间的对应关系,划出因果图;,在因果图上标上哪些不可能发生的因果关系,表明约束或限制,条件;,根据因果图,创建判定表,将复杂的逻辑关系和多种条件组合很具体明确的表示出来;,把判定表的每一行作为依据设计测试用例。,黑盒测试方法,因果图法测试用例设计,因果图中用到的基本符号,黑盒测试方法,因果图法测试用例设计,因果图中用到的条件之间关系的符号,黑盒测试方法,因果图法测试用例设计,案例分析,有一个处理单价为,1,元,2,元的盒装饮料的自动售货机软件。若投入,1,元硬币,按下“可乐”、“雪碧”和“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还,1,元硬币。,黑盒测试方法,因果图法测试用例设计,案例分析,黑盒测试方法,决策表法,决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。,它能够将复杂的问题按照各种可能的情况全 部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。,黑盒测试方法,决策表法,黑盒测试方法,白盒测试用例的设计方法,􀂄逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、条件覆盖、判定,-,条件覆盖、条件组合覆盖等;,基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。,白盒测试方法,软件测试用例的设计,测试用例概述,测试用例设计方法,测试用例的设计步骤,在测试时,不可能进行穷举测试,为了节省时间和资源,提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。,测试用例编写有三种主要格式:,Step by Step(,按步骤,),:最基本的格式,Matrix(,矩阵表,),:用例设计分析,Automated Script(,自动化脚本,),测试用例设计步骤,以功能测试用例的设计为依据来说明测试用例的设步骤:,1,、,TP,设计,定义测试范围(,Feature,),制定测试执行的质量标准;,2,、 分析需求,,Feature,重要度分析,,TC,设计深度(,ABCD,);,3,、场景法,:,(1),Happy Day,场景、异常事件流,设计操作步骤与期望结果;(,2,)测试用例数据设计;,Happy Day A,类测试用例数据,每一个异常流都是,A1,类的测试用例数据;,4,、使用等价类划分:分析需求输入数据,划分等价类,,B,类测试用例;输入数据覆盖尽可能多的有效等价类,一个无效等价类一个用例;,5,、使用边界值,分析需求输入数据边界,每个边界,3,个测试用例验证,,B,类测试用例;,6,、合并,A,、,B,两类测试用例,用尽可能少的测试用例完成测试。一般,A,类用于回归测试,自动化测试实现;,A,、,B,类测试用例保障系统的基本健壮性,正确性。,测试用例设计步骤,7,、 使用错误推导法,根据测试人员的经验进行测试数据的设计;,8,、 当前,4,种设计方法使用后,感觉仍需要加深测试,加入因果决策分析法,形成完整测试用例,所有测试用例排列组合,补充测试用例。一般会形成,60-80TC,进行全面测试用例的补充;,9,、,AD-HOC,测试,:固定时长,碰运气;,10,、进行,TS,设计;,11,、非功能性测试:压力测试、基准测试、峰谷测试、疲劳测试、破坏测试,一般采用自动化工具实现,自动化测试脚本,加载执行,设计负载场景等。,测试用例设计步骤,Q/A,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!