版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.2 测试方法,静态方法 动态方法 黑盒测试 白盒测试,静态方法和动态方法,静态方法的主要特征是在用计算机测试源程序时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。因此,静态方法常称为“分析”,静态分析是对被测程序进行特性分析的一些方法的总称。 动态方法的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况(输入/输出的对应关系)进行分析,黑盒测试,黑盒测试(Blackbox Testing)又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。用这种方法进行测试时,被测程序被当作一个黑盒,在不考虑程序内部结构和内部特性,测试者只知道该
2、程序输入和输出之间的关系或程序的功能的情况下,依靠能够反映这一关系和程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。软件的黑盒测试被用来证实软件功能的正确性和可操作性,白盒测试,白盒测试(Whitebox Testing)又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于对程序细节的严密检验,针对特定条件和/与循环集设计测试用例,对软件的逻辑路经进行测试。在程序的不同点检验“程序的状态”以判定其实际情况是否和预期的状态相一致。软件的白盒测试用来分析程序的内部结构,白盒测试,白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖的测试” 。最为常见的程序结构覆盖
3、有 : 语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过,这是最弱的逻辑覆盖准则; 分支覆盖或判定覆盖:要求程序中所有判定的分支尽可能得到检验; 条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验; 判定条件覆盖:同时考虑条件的组合值及判定结果的检验; 路径覆盖:只考虑对程序路径的全面检验。取得测试覆盖的方法程序插装,黑盒测试与白盒测试的比较,测试阶段与测试方法,2软件测试用例设计黑盒测试,2.0 概述 2.1 等价类划分 2.2 因果图 2.3 边值分析 2.4 判定表驱动测试 2.5 正交实验设计法 2.6 自动测试用例生成方法 2.7 小结,2.0 黑盒测试概
4、述,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。 黑盒测试又叫做功能测试或数据驱动测试,黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误,黑盒测试目标,用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。 但这是不可能的,假设一个程
5、序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试: 可能采用的 测试数据组: 232232 264 如果测试一 组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年,2.1 测试用例设计方法等价类划分,选取测试用例 等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。 在分析需求规格说明的基础上划分等价类,列出等价类表,2.1.1 等价类,所谓等价类是指某个输入域的集合。它表示,如果用集合中的一个输入条件作为测试数据进行测试不能发现程序中的错误,那么使用集合中的其它输入条件进行测试也不可能
6、发现错误。也就是说,对揭露程序中的错误来说,集合中的每个输入条件是等效的,有效等价类和无效等价类,在考虑等价类时,应该注意区别两种不同的情况: *有效等价类:有效等价类指的是对程序的规格说明是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以有一个,也可以是多个。 *无效等价类:无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个,等价类,输入条件 有效等价类 无效等价类 输入条件:项数可以从1到999 有效等价类为“1项数999” 无效等价类为“项数999,2.1.2 经典例子,输入三个整数作为三边的边长构
7、成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算” 注意输入和输出条件,有效等价类,覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)-(7) 4 4 5 (1)-(7),(8) 4 5 5 (1)-(7),(9) 5 4 5 (1)-(7),(10) 4 4 4 (1)-(7),(11,无效等价类,2. 1.3 问题讨论,问题:给出下面的有效和无效等价类 输入条件:“统计全国各省、市、自治区的人口” 输入条件:“标识符应以字母开头” 输入条件:长度为1-20的字符串 输入条件:数据库中的值域, CHAR(20), NOT NULL,2. 2 测试
8、方法因果图,采用因果图方法(Cause一Effect Graphics)能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题,2. 2.1因果图介绍,4种符号分别表示了规格说明中向4种因果关系 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现,关系,恒等:若ci是1,则ei也是1;否则ei为0。 非:若ci是1,则ei是0;否则ei是1。 或:若c1或c2或c
9、3是1,则ei是1;否则ei为0。“或”可有任意个输入。 与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入,约束,输入状态相互之间还可能存在某些依赖关系 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束,输入条件约束类型,对于输入条件的约束有以下4类: E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。 I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。 O约束(唯一);a和b必须有一个,且仅有1个为1。 R约束(要求):a是1时,b必须是1,即不可能a是1时b是0,输出条件约束类型,输出条件的约束只有: M约束(强制)
10、:若结果a是1,则结果b强制为0,2. 2.2 步骤,分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类。而结果是输出条件。 分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图,步骤,由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个特殊的符号标明约束条件。 把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例,2. 2.3 例子,软件规格说明书 “第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L,如
11、果第二列字符不是数字,则给出信息M。,原因和结果,原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一数字。 结果: 21修改文件; 22 给出信息L; 23给出信息M,因果图和具有约束的因果图,11为中间节点; 考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束,判定表,根据因果图建立如下的判定表,表中8种情况的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据,2. 2.4 讨论,在较为复杂的问题中,这个方法常常是十分有效的,它能有力地帮助我们确定测试用例 如果哪个开发项目在设计阶段就采
12、用了判定表,也就不必再画因果图,而是可以直接利用判定表设计测试用例了,2. 3 测试用例设计方法边值分析,在软件设计和程序编写中,常常对于规格说明中的输入域边界或输出域边界不够注意,以致形成一些差错。实践证明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果,2. 2.1 边值分析遵循的原则,如果输入条件规定了取值范围,或是规定了值的个数,应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小个数及稍小于最小、稍大于最大个数作为测试用例。例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计
13、算公式为”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。如果另一问题规格说明规定:“某输入文件可包含1至255个记录,”,则测试用例可取1和255,还应取0及256等,遵循以下几条原则,针对规格说明的每个输出条件使用前面的第(1)条原则。例如,某程序的规格说明要求计算出“每月保险金扣除额为0至116525元”,其测试用例可取000及11652、还可取一001及116526等。如果另一程序属于情报检索系统,要求每次”最多显示1条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等,遵循以下几条原则,如果程序规格说明中提到的输入或输出域是个有
14、序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用例。 分析规格说明,找出其它的可能边界条件,2. 2.2 例子,某一为学生考试试卷评分和成绩统计的程序,其规格说明指出了对程序的要求: 程序的输入文件由80个字符的一些记录组成,这些记录分为三组: 标题 这一组只有一个记录,其内容为输出报告的名字。 试卷各题标准答案记录 每个记录均在第80个字符处标以数字“2”。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3个记录相应为第51至第100,第101至第150
15、,题的答案。 每个学生的答卷描述 该组中每个记录的第80个字符均为数字“3”。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3纪录分别给出他的第51至第100,第101至第150题的解答。然后是学生乙的答卷记录。 若学生最多为200人,输入数据的形式如图4。15所示,学生考卷评分和成绩统计程序输入数据的形式,该程序应给出4个输出报告,即: 按学生学号排序,每个学生的成绩(答对的百分比)和等级报告。 按学生得分排序,每个学生的成绩。 平均分数,最高与最低分之差。 按题号排序,每题
16、学生答对的百分比,2. 4 判定表驱动测试,在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。处理这类问题的一个非常有力的分析和表达工具是判定表(Decision Table,2. 3.1 例子1,一张关于科技书阅读指南的判定驱动表:3个问题8种情况,判定表组成,条件桩(Condition Stub) 动作桩(Action Stub) 条件项(Condition Entity) 动作项(Action Entity,规则及规则合并,任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项
17、的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。 化简 就是规则合并有两条或多条规则 具有相同的动作, 并且其条件项之间 存在着极为相似的关系,两条规则合并成一条 两条规则的进一步合并,一个规则合并的例子,一个规则合并的例子,2. 3.2 例子2,问题要求:”对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理” 假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 按5步建立判定表,建立判定表的步骤,确定规则的个数。这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。 列出所有的条件茬和
18、动作茬。 填人条件项。为防止遗漏可从最后1行条件项开始,逐行向上填满乙如第三行是: Y N Y N Y N Y N第二行是: Y Y N N Y Y N N等等,建立判定表的步骤,填人动作桩和动作顶。这样便得到形如图的初始判定表,建立判定表的步骤,化简。合并相似规则后得到图,2. 3.3 判定表在功能测试中的应用,一软件规格说明 (1)当条件1和条件2满足,并且条件3和条件4不满足,或者当条件1、3和条件4满足时,要执行操作1。 (2)在任一个条件都不满足时,要执行操作2。 (3)在条件1不满足,而条件4被满足时,要执行操作3,规则,只给出了16种规则中的4种,根据规格说明得到的判定表 默许的规则,2.3.4 判定表的优点和缺点,优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 缺点:不能表达重复执行的动作,例如循环结构。 其他,使用判定表设计测试用例的Beizer条件,规格说明以判定表形式给出,或是很容易转换成判定表。 条件的排列顺序不会也不应影响执行哪些操作。 规则的排列顺序不会也不应影响执行哪些操作。 每当某一规则的条件已经满足,并确定要执行的操作后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 2 Starting out-Understanding ideas《合作探究一》课件
- 2025 网络基础中网络无线安全的保障措施课件
- 智能垃圾分类系统项目可行性研究报告
- 2026年煤炭销售合同(1篇)
- 2026年篮球培训合同(1篇)
- SD1250高强钢筋项目可行性研究报告
- 2026年邵阳市高三第二次联考试题英语试卷含答案
- 2025 高中信息技术数据与计算之数据安全的同态加密智能合约应用课件
- 2026年春季消防安全专项整治课件
- 2025 高中信息技术数据与计算之数据与计算提升在线教育互动体验课件
- 货梯使用专项安全培训课件
- (2025版)国家基层高血压防治管理指南2025版课件
- 女职工安全教育培训内容课件
- 2026年南阳科技职业学院单招职业技能考试题库附答案
- 2026年合肥信息技术职业学院单招职业技能测试题库附答案详解
- 跨界合作营销模式在汽车行业中的应用可行性研究报告2025
- 2026年湖南铁道职业技术学院单招职业适应性测试题库及答案详解一套
- 培训老师美术上课流程
- 健康评估神经系统
- 药店医保人员合同范本
- DB41∕T 2230-2022 全自动水文缆道远程测流规程
评论
0/150
提交评论