《软件测试用例》PPT课件.ppt

上传人:小飞机 文档编号:4860229 上传时间:2023-05-20 格式:PPT 页数:104 大小:980KB
返回 下载 相关 举报
《软件测试用例》PPT课件.ppt_第1页
第1页 / 共104页
《软件测试用例》PPT课件.ppt_第2页
第2页 / 共104页
《软件测试用例》PPT课件.ppt_第3页
第3页 / 共104页
《软件测试用例》PPT课件.ppt_第4页
第4页 / 共104页
《软件测试用例》PPT课件.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《《软件测试用例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试用例》PPT课件.ppt(104页珍藏版)》请在三一办公上搜索。

1、王雯佳,软件测试用例,本节内容,了解用例的粒度不同类型测试的用例要怎么写?什么是测试用例及为什么要做用例优质测试用例应具备的特性测试用例设计方法因果图判定表驱动分析方法错误推测法场景法测试用例数据选取方法等价类划分(设计用例和数据共用)边界值分析(设计用例和数据共用)测试用例书写标准一些测试用例的例子,测试需求的粒度,一个样例,及其简单,需要正确输入QQ号码和口令,简单,检查QQ号的各种情况检查口令的各种情况,详细,1、检查QQ号码大于允许最大长度包含特殊字符全部为数字为空空格错误的QQ号正确的QQ号,详细(续),2、检查口令大于允许最大长度包含特殊字符全部为数字 各种字符的组合为空空格错误的

2、口令正确的口令,系统功能需求,根据系统架构,从高到低逐级细分关注具体的系统功能及功能的不同处理情形粒度以到不同的处理情形为宜正常与异常处理情形都要考虑问题:测试需求的粒度跟哪些因素相关?,界面需求,界面功能根据界面划分考虑控件对各种输入的响应界面元素考虑元素各种属性(位置、大小、颜色、显示等)先整体后局部局部按界面划分考虑内容正确性,安装需求,缺省安装配置优先按照安装配置结构划分考虑所有安装配置考虑安装过程中的异常行为,业务需求,根据业务结构和分类,从上至下逐级细分关注具体业务粒度以到不同业务场景为宜考虑正常与异常业务场景,性能/压力需求,先结构后类型先列举后细分细述指标和要求,安全性需求,先

3、列举后细分详述各项内容,兼容性需求,先硬件后软件先系统后应用详述环境组合,测试范围,在测试项目中,我们需要进行开发生命周期中哪些阶段测试单元测试集成测试系统测试验收测试例如:在为A公司(某软件开发公司)提供的一个测试服务项目中,测试的范围包括集成测试和系统测试。在为B公司(某行业用户企业)提供的一个测试服务项目中,测试的范围只包括验收测试。,项目的测试目标,系统的哪些特性需要被测试以保证这些特性的质量。系统特性包括:功能、性能、易用性、安全性、兼容性测试目标要根据系统的特点进行分解细化,分解到一个可测试的粒度,即单项具体的特性。未经分解细化,笼统的、整体或者概括性的特性不利于测试工作的开展。,

4、测试需求注意事项,作为测试项目的基础,测试需求有5个需 要依据的准则:完整性无歧义性一致性可跟踪性可测试性,18,测试用例概述,测试用例是测试工作的指导,是软件测试必须遵守的准则。更是软件测试质量稳定的根本保障。测试用例的内容是一系列情景和步骤的描述,并对每个步骤中必须列出依靠输入的数据,预计输出结果。将这一过程整理成测试文档,称为测试用例。测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。是思想活动的集合。,19,为什么需要测试用例,根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;减少回归测试的复杂程度在软件版本更新后只需修正少量的测试用例便可展开测

5、试工作,降低工作强度、缩短项目周期;根据测试用例的操作步骤和执行结果,可以方便地书写软件测试缺陷报告;可以根据测试用例的执行等级,实施不同级别的测试;总结:软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,,20,优质测试用例应具备的特性.1,有效性:测试用例是测试过程中的重要参考依据。不同测试人员根据相同的测试用例,得到的输出应该是一致的。对于准确的测试用例的计划、执行和跟踪是测试有效性的有力证 明。可复用性:良好的测试用例具有重复使用的功能,使得测试过程事半功倍。设计良好的测试用例将大大节约项目执行时间,提高测试效率。易组织性:小项目可能也会有成千

6、上万的测试用例测试用例在使用中被反复的更新、修改或者新增,所以能有效地组织这些测试用例是非常重要的。,21,优质测试用例应具备的特性.2,可评估性:从测试的项目管理角度来说,测试用例的通过率是检验 代码质量的保证。软件质量好坏的量化标准:测试用例的通过率和软件BUG的数量。可管理性:测试用例也可以作为检验测试人员工作进度、执行工作 量以及跟踪、管理测试人员工作效率的因素 尤其是比较适用于新的测试人员的检验,从而更加合理 的做出测试计划。,22,测试用例设计思路,测试用例的设计是一种思路,可以从如下角度分析:(1)根据被测软件的功能和特性设计测试用例-根据被测试功能点设计测试用例-根据软件性能指

7、标设计测试用例-根据软件的兼容性要求设计测试用例-根据软件的国际化用户要求设计国际化测试用例(2)根据软件的组成元素设计测试用例-根据模块设计用例-设计联机帮助和文档手册的设计用例-设计软件的模版等数据文件的测试用例(3)根据软件的开发阶段(里程碑)设计测试用例-单元测试设计用例-集成测试设计用例-系统测试设计用例-验收测试设计用例,23,测试用例设计思路(续),(5)根据被测的最小目标,确定测试用例的测试目标(6)根据用户使用环境确定测试环境(7)根据以下因素确定测试用例的步骤 用户使用软件的步骤或者特定场景,确定测试执行步 骤地具体内容 执行者对产品的熟悉程度确定步骤的详细或粗略程度 被测

8、特性的复杂性也决定步骤的详细或粗略程度 测试用例的执行方法(手工测试或自动化测试)确定 步骤地内容表示 自动测试用例要编写和调试测试脚本,手工测试给出 执行步骤 根据设计规格说明书确定期望的测试用例执行结果,24,测试用例设计方法,等价类划分边界值分析因果图判定表驱动分析方法错误推测法场景法,25,等价类划分.1,等价类划分方法把所有可能的输入数据,即程序的输入划分成若干类,然后从每一类中选取少数有代表性的数据做为测试用例/数据。等价类是某个输入的子集合。在该子集合中,各个输入数据对于揭露程序中的BUG都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。,26,等价类划分.2,等价类

9、的划分有两种不同的情况:有效等价类:代表对程序的有效输入。无效等价类:代表的则是其他任何可能的输入(即不合理的,无意义的输入值)。使用等价类设计测试用例要经历划分等价类(列出等价类表)和选取测试用例/数据两步。,27,划分等价类的原则.1,(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。例如:在ATM机取款时,只供应100元面值的纸钞,最少取100元,一次最多取2000元.有效等价类是“100=取款额=2000”无效等价类是“取款额100”无效等价类是“取款额2000”。,28,划分等价类的原则.2,(2)如果输入条件规定了输入值的集合或者规定了“必须如

10、何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。例如:在提款机主界面,系统只接受查询、取款和取消按钮,并分别进入对应的功能。则可以划分为三个有效等价类:查询、取款、取消。一个无效等价类:其它按钮。,29,划分等价类的原则.3,(3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。例如:安装程序时,询问客户是否接受“软件许可协议”。一个有效等价类是一个无效等价类否,30,划分等价类的原则.4,(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。例如:在注册信息界面,要求登录名必须是“汉字,字母

11、,数字,不能包含特殊符号”n个有效等价类:汉字、字母、数字或者三者组合。一个无效等价类:特殊符号。,31,划分等价类的原则.5,(5)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,用户名由字符和数字组成,必须以字符开头,不能包括特殊字符或空格,不能为空,长度介于位之间。则可以确立一个有效等价类(符合规则)若干个无效等价类:以数字开头;包括空格;包括特殊字符;为空;小于位,32,根据等价类划分选取用例/数据,根据上述原则,列出所有的有效等价类和无效等价类设计一个新的测试用例,使其尽可能多地覆盖那些尚未被涵盖的有效等价类,重复

12、这一步,直到所列出的所有有效等价类都被覆盖为止设计一个新的测试用例,使其覆盖一个且仅一个尚未被涵盖的无效等价类,重复这一步,直到所列出的所有无效等价类都被覆盖为止。,33,划分等价类的实例.1,在证券柜台系统中规定:“用户密码是由字母开头,后跟字母或数字的任意组合构成。最少字符数为4个,最大字符数为12个。”并且规定:“用户密码不能与用户注册号相同,且不能全为字母。”用等价类划分方法,建立输入等价类表:,34,划分等价类的实例.2,某工厂公开招工,在报名系统年龄输入框中规定报名者年龄应在1967年02月1986年03月之间。即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。

13、,35,划分等价类的实例.3,36,一个很重要的例子.1,根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。”,37,一个很重要的例子.2,我们可以设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足:A0,B0,C0且A+BC,B+CA,A+CB。如果是等腰的,还要判断A=B,或B=C,或A=C。如果是等边的,则需判断是否A=B,且B=C,且A=C。,38,一个很重要的例子.3,39,一个很重要的例子.4,40,因果图

14、,使用前提:如果在测试时必须考虑输入条件的各种组合,就可使用因果图来设计测试用例。它适合于描述“对于多种条件的组合,会相应产生多个动作”的情况。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。,因果图,42,因果图生成基本步骤.1,生成基本步骤:(1)将软件规格说明(用例)分解成可执行 的片断。(2)确定软件规格说明(用例)中的因果关系。(3)分析软件规格说明(用例)的语义内容,并将其转换为连接因果图关系的布尔图。,43,因果图生成基本步骤.2,生成基本步骤:(4)给图加上注解符号,说明由于语法或者环境的限制而不能联系起来的“因”和“果”。(5)通过仔细的跟踪图中的状态

15、变化情况,将因果图转换为一个有限项的判定式。(6)将判定式表中的列转换为测试用例,44,因果图-基本符号.1,若a1则b1,若a1则b0,45,因果图-基本符号.2,若a或b或c1则d1,若ab1则c1,46,因果图-约束条件.1,为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。,互斥:表示不同时为1,即a,b中至多只有一个1。,47,因果图-约束条件.2,包含:a、b、c中至少有一个应为1a、b、c不能同时为0,48,因果图-约束条件.3,唯一:表示a、b中必须有一个且仅有一个为1,49,因果图-约束条件.4,要求:如果a=1,b也必须为1

16、即不可能a=1且b=0.,50,因果图-约束条件.5,对于输出条件的约束只有M约束。屏蔽:如果结果a为1,则b强制为0,51,因果图示例.1,例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来若投入元钱的硬币,同样也是按下橙汁或者啤酒的按钮,则自动售货机在送出相应饮料的同时退还5角硬币,52,(1)分析这一段说明,列出原因和结果:1.投入1元硬币 2.投入5角硬币 3.押下橙汁按钮 4.押下啤酒按钮,因果图示例.2,53,(3)结果:21.退还5角硬币22.送出橙汁饮料23.送出啤酒饮料(4)画出因果

17、图。所有原因结点列在左边,所有结果结点列在右边。(5)由于 1 与 2,3 与 4 不能同时发生,分别加上约束条件E。(6)转换成因果图判定表。,因果图示例.3,54,因果图示例.4,已投币,已按钮,55,因果图示例.5,因果图法测试举例,奖金计算软件员工分为普通员工和管理人员员工表现分为普通,优秀和特出贡献(普通和优秀员工都可能有特殊贡献,普通员工表现为普通、优秀和管理人员表现为普通、优秀的奖金是不同的,特殊贡献的奖金是一样的)奖金分为1类,2类解题步骤:(1)分析程序的规格说明,列出原因和结果。(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。(3)将因果图转换成决

18、策表。(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。,因果图法测试举例(续),(1)分析程序规格说明中的原因和结果:,因果图法测试举例(续),(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):,因果图法测试举例(续),(3)将因果图转换成如下所示的决策表:,因果图法测试举例(续),(4)根据决策表中的每一列设计测试用例:,61,判定表驱动分析方法.1,判定表又称为决策表。当模块中包含复杂的条件组合,并要根据这些条件选择动作时,使用判定表能清晰地表示出复杂的条件组合与各种动作之间的对应关系。,判定表举例,条件桩,动作桩,条件项,动作项,63,判定表驱动分析方法.2,

19、一张判定表的田字型结构:条件桩、条件项、动作项、动作桩规则。决策表的读表方法:顺时针方向。,64,判定表驱动分析方法.3,条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。条件项:列出针对它所列条件的取值,在所有可能情况下的真假值。动作项:列出在条件项的各种取值情况下应该采取的动作。,65,判定表驱动分析方法.4,判定表的绘制步骤:判定表中列出多少组条件取值,也就有多少条规则,条件项和动作项就有多少列。确定规则的个数。假如有n个条件,每个条件有两面个取值(0,1),故有2n种规则。列出所有的条件桩和动作桩填入条件项

20、填入动作项。制定判定表简化。合并相似规则或者相同动作。,66,判定表驱动分析方法.2,举例 问题说明:“某货运站收费标准如下:如果收件地点在本省,则快件每公斤5元,慢件每公斤3元;如果收件地点在外省,则在20公斤以内(含20公斤)快件每公斤7元,慢件每公斤5元,而超过20公斤时,快件每公斤9元,慢件每公斤7元。”,67,判定表驱动分析方法.5,条件取值分析表,68,判定表驱动分析方法.6,判定表,69,判定表驱动分析方法.7,简化判定表,70,判定表驱动分析方法.8,化简后的判定表,举例订购单的检查。如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批

21、准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。,条件取值分析表,判定表,简化判定表,设计测试用例以上判定表里,右部的每一列(条件项和对应的动作项)都是一条规则。每一条规则都可以转化为测试用例。,77,错误推测法.1,人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。,78,错误推测法.2,单元测试中发现的模块错误;产品的以前版本曾经发现的错误;输入数据为0或字符为空;当软件要求输入时(比如

22、在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入,79,错误推测法.3,Sql注入式攻击是指利用设计上的漏洞,在服务器上运行Sql 命令以达到的攻击目的Select*from 用户表 where 姓名=name and 密码=passwordSelect*from 用户表 where 姓名=111 or 1=1 and 密码=aaaa,80,用例数据选取-边界值分析.1,

23、边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。所谓边界值,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。,81,边界值分析.2,边界值分析方法和等价类划分方法不同的两个方面:1.与从等价类中挑选任意一个元素作为代表不同,边界值分析需要选择一个或多个元素,以便等价类的每个边界都经过一次测试。1:依据边界值分析法确定测试用例Id 110个字母地址 010个汉字邮编 6个数字,82,边界值分析.3,如果输入条件规定了一个输入值范围,那么应针对范围的边界值设计测试用例。假如输入值的有效范围是-1.0至+1.0,那么应针对-1.0、1.0、-1.001和1.001的

24、情况设计测试用例,不要忘了0这个数值。,83,边界值分析.4,如果输入条件规定了输入值的数量,那么应针对最小数量输入值、最大数量输入值,以及比最小数量少一个、比最大数量多一个的情况设计测试用例。例如某个输入文件可容纳1-255条记录,那么应根据0,1,255和256条记录的情况设计测试用例。,84,测试用例书写标准.1,标示符用来说明这个文档的编号、名称或者用途等测试项本测试文档测试的对象文档拥有者、版本编号、创建日期谁写的?版本号?创建日期?修改日期?测试环境要求软件运行的环境(软环境和硬环境)测试动作描述测试一步一步执行的详细步骤描述,85,测试用例书写标准.2,预期值软件的设计要求的数据

25、测试数据为本测试用例执行准备的验证数据测试用例间关联这份测试用例可能会跟谁相关联,组合测试,86,一个简单的例子,快速的风险分析:文件/新建(0001)对于客户非常重要文件/打开(0002)对于客户重要 文件/保存(0003)对于客户非常重要文件/另存为(0004)对于客户重要 文件/页面设置(0005)对于客户非常重要文件/打印(0006)对于客户非常重要文件/退出(0007)对于客户非常重要菜单布局(0008)对于客户非常重要快捷键(0009)对于客户一般,87,一个简单的例子.1,88,一个简单的例子.2,89,一个简单的例子.3,90,一个简单的例子.3,91,测试用户登录对话框的功能

26、,测试场景:在各种输入条件下,测试程序的登录对话框功能。用户名和密码的规则如下:用户名长度为6至10位(含6位和10位)用户名由字符(a-z、A-Z)和数字(0-9)组成 不能为空、空格和特殊字符 密码规则同用户名规则,92,登录对话框的功能(续1),93,登录对话框的功能(续2),94,数据驱动测试(Data Driven),概要是一种成熟的自动化测试技术强调测试逻辑与测试数据分离对于手工测试也是很好的方法适用于需要用不同数据进行重复测试的情形通过测试数据调整测试覆盖率,95,原理,以参数代替测试步骤中原始数据测试数据依参数保存在数据文件中(Excel)测试步骤和测试数据相对分离执行时将测试

27、数据按参数代入测试步骤执行,96,举例,普通测试在用户名输入框输入“张三”在口令输入框输入“123456”点击“登录”按钮结果:进入论坛,数据驱动测试在用户名输入框输入在口令输入框输入点击“登录”按钮结果:,97,优点,大大简化了测试步骤通过分离测试逻辑和测试数据,使设计测试逻辑和数据时分别关注于使用各自的设计方法有利于测试分工的细化测试逻辑更加简洁易懂很容易转化成自动测试脚本,98,样例,一个简单的转账业务:用户输入信息:转出账户的账号和密码、转入账号、金额以及备注信息点击转账按钮进行转账检查提示信息是否正确,99,样例:普通测试用例,100,样例:数据驱动测试用例.1,101,数据驱动测试

28、用例.2,102,场景法,现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。提出这种测试思想的是Rational 公司,并在RUP2000 中文版当中有其详尽的解释和应用。用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。,103,基本流和备选流,右图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。,104,实践才是硬道理!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号