等价类

【华为云技术分享】【测试微课堂】典型测试设计方法介绍

懵懂的女人 提交于 2020-01-22 01:32:53
本文介绍典型测试设计方法,如场景分析法、等价类划分、边界值分析、因果图、判定表、正交法等。灵活运用测试设计方法可以帮助减少测试用例冗余,提高测试覆盖率、用例可维护性、用例复用程度,减轻无效的测试执行工作量,改进测试效果。 测试设计是测试活动中起到承前启后作用的重要环节,根据测试计划分析测试对象、测试场景、测试类型、测试环境等,根据测试策略选取合适的测试方法和测试技术,设计测试用例。测试设计有场景分析法、等价类划分、边界值分析、因果图、判定表、正交法等方法。灵活运用测试设计方法可以帮助减少测试用例冗余,提高测试覆盖率、用例可维护性、用例复用程度,减轻无效的测试执行工作量,改进测试效果。 等价类划分 把系统输入数据划分为若干等价类,在每个等价类内部,选择所有输入数据进行测试与只选择其中一个输入数据进行测试是等价的。如果一个输入数据不能发现系统错误,则该等价类内部的其他所有输入数据都不能发现系统错误。等价类划分测试方法就是从每一个等价类中选取一个数据作为测试输入,提高测试场景的覆盖率,并减少无效测试工作量。 等价类划分法 等价类划分有效等价类和无效等价类。有效等价类总结合理的有意义的输入数据构成的集合,即通常所说的常规路径测试输入。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。与之相反,无效等价类是总结不合理或无意义的输入数据构成的集合。 举例1:输入条件是一个布尔量

测试方法:

橙三吉。 提交于 2020-01-18 08:57:34
测试方法的划分 一般的,从看不看代码来划分黑、白盒测试。看代码和内部接口称为白盒测试,否则是黑盒测试方法。 而从软件是否运行的角度来划分静态和动态测试。不运行代码是静态测试,反之就是动态测试。 那么从我们人来参与的角度来看人工测试和自动化测试的。 黑、白、灰盒测试 刚才说了,我们从看不看代码来划分黑、白盒测试。 那黑盒测试可以有静态测试和动态测试,也可以有人工测试和自动化测试。 当然,白盒测试也是一样的。 比如我们要测这个自动售货机。 我们投币然后得到饮料;或者刷卡、扫码等都能得到想要的饮料。 我们做黑盒测试就是测试投币相关的逻辑、选择饮料相关的逻辑,找零或其他的逻辑。 这是我们不管内部结构,只是根据一些数据测试输入输出,比如投币5毛钱,却能得到一瓶2.5的饮料,这就是bug了。 等等等..... 除此之外,我们还需要看内部代码的逻辑,比如如何处理银行和第三方支付的接口逻辑,本地的饮料存储、统计等,看看相关关联的数据之间的交互。这些都是白盒测试范畴。 在测试之前,我们要搞清楚被测对象应该是什么样的,然后实际做出来的和预期进行比较,这样就能及时的发现缺陷;根据被测对象不同,而采用不同的测试方法。 白盒测试 白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况。 白盒测试是基于程序结构的逻辑驱动测试。

测试用例

浪子不回头ぞ 提交于 2020-01-17 21:41:30
测试用例的设计方法: 基于需求的设计方法 2.(最常用)等价类:对于无穷输入 (强调输入)依据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的的等价类测试通过。 有效等价类:对于程序的规格说明书是合理的 无效等价类: 3.(最常用)边界值:对于输入,输出 对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充。 例如:输入框长度1-11,取边界值:0,1,11,12 对于闭区间是往外取,开区间往里取。 对于不说明开闭区间,一般是闭区间。 因果图:强调输入输出之间的关系,结果依赖输入 基本知识:恒等(如果原因为真,那么结果必定为真) 与(只有两个结果都为真,那么结果为真) 或(两个原因中有一个为真,结果为真) 非(只有原因为假,结果才为真) 因果图法设计测试用例的步骤: 1)分析所有可能的输入和可能的输出 2)找出输入与输出之间的对应关系 3)画出因果图 4)把因果图转换成判定表 5)把判定表对应到每一个测试用例 5.正交排列:目的是减少用例数目,用尽量少的用例覆盖输入的两两组合 ** 正交表的性质:每一列中各数字出现的次数一样多,任何两列所构成的各有序数对出现的次数都一样多。 因素数用C表示,水平数用T表示 正交表的表示形式:L=行数(水平数因素数)即L=N(TC) 正交法设计测试用例的步骤: 1

【温故而知新】关于测试的分类和用例设计方法

时间秒杀一切 提交于 2020-01-16 20:22:12
测试的分类: 1.按照阶段分类: 单元测试 集成测试 系统测试 验收测试 2.按照是否覆盖源代码: 白盒测试 黑盒测试 ---「功能测试, 性能测试」 灰盒测试 3.按照是否运行程序分类: 静态测试 --->> cr代码 review 文档 动态测试 4.其他类型 冒烟测试 回归测试 随机测试 探索性测试 5.是否自动化 人工测试 自动化测试 二测试用例设计的常用方法: 等价类设计法: 输入具有代表性数据的子集 有效等价类: 满足条件的子集 无效等价类: 不满足条件的子集 例: qq限定:6-10位自然数 1.明确需求:6-10位自然数 2.确定有效和无效等价类: 2.1 有效等价类: 6-10位自然数 2.2 无效等价类: <6 >10 非自然数[中/英文, 特殊字符, 小数, 空格, 空] 例2: 地区码: 空白或者3位数字 前缀: 非0且非1开头的三位数字 后缀: 4位数字 有效等价类: 地区码: 空白或者3位数字 前缀: 非0且非1开头且是三位数字 后缀: 4位数字 无效等价类: 共同: 非数字 不同: 地区码:非空且不是三位数字[<3,>3] 前缀: 以0,1开头或者非三位(数字) 后缀: 非4位数字 例3: 注册功能: 需求: 用户名(昵称)长度:3-19且以字母开头 登陆名: 非空 密码: 非空 确认密码: 值和密码相同 有效等价类: 用户名: 3-19,以字母开头

测试基础

巧了我就是萌 提交于 2020-01-16 01:58:57
软件测试 定义: 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 目的: 为了发现程序中的错误,而不是去证明程序中不存在缺陷。 测试流程: 1、对要执行测试的产品/项目/需求进行分析,确定测试策略,制定测试计划。 2、针对测试计划书进行评审(测试经理、测试负责人员、需求人员、软件开发人员等) 3、设计测试用例。越详细越好。若在测试的过程中发现用例中没有的软件缺陷,可以将该软件缺陷补录入测试用例中。 4、执行测试用例。执行前,要将测试过程中所需要的环境及数据准备好。 5、提交软件缺陷bug。 6、验证软件缺陷。 7、编写测试报告。对测试进行分析,总结本次的经验教训。 测试方法: 1、等价类 1)定义:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。等价类分为有效等价类和无效等价类。 2)如何划分等价类 1]在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 如:输入值是学生成绩,范围是0~100。 2]在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类。 2、边界值 1)定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法

测试用例编写规范

我怕爱的太早我们不能终老 提交于 2020-01-14 20:12:18
1 目的 测试用例是测试人员执行测试的基本依据,因此测试用例质量的高低直接影响测试的有效性和效率。为了保证测试执行人员使用最有效的测试用例,使测试工作能有序、合理化的进行,从而提高实施测试时对所测产品、系统或者模块的测试质量,最终提高仁科互动公司产品线的质量。特编写统一测试用例编写规范,为测试设计人员提供测试用例设计编写指导,提高编写用例的可读性、可执行性、合理性。 2 用途 适用于对各业务线测试人员对功能测试用例和接口测试用例的编写。 3 用例设计流程 测试分析: 进行测试用例编写的前提。测试人员根据产品部门提供的PRD、用户故事以及研发部提供的设计文档进行测试需求分析,找出明显的和隐含的需求。有些需求无法从需求文档中获得,可借助概要设计文档或者详细设计文档,或直接从最终的软件产品上获得。 测试设计: 依据测试分析整理并编写出测试用例大纲,并将测试大纲细化为测试用例。测试用例大纲用脑图的形式进行管理,在时间受限的情况下,测试用例评审对象是脑图,详细测试用例会抽取一些作为附加评审对象。参加的人员应包括测试负责人、项目经理、开发人员及其他相关的测试人员。 测试用例完善: 测试用例编写完成之后需不断完善,软件产品新增功能或更新需求后,测试用例必须定期修改更新;在测试过程中发现设计测试用例时考虑不周,需要对测试用例进行修改完善;产品上线后客户反馈的软件缺陷

自己动手开发编译器(四)利用DFA转换表建立扫描器

回眸只為那壹抹淺笑 提交于 2020-01-12 16:53:33
上回我们介绍了两种有穷自动机模型——确定性有穷自动机DFA和非确定性有穷自动机,以及从正则表达式经过NFA最终转化为DFA的算法。有些同学表示还是难以理解NFA到底怎么转化为DFA。所以本篇开头时我想再多举一个例子,看看NFA转化为DFA之后到底是什么样。首先我们看下面的NFA,它是从一组词法分析所用的正则表达式转换而来的。这个NFA合并了IF、ID、NUM、error这四个单词的NFA。因此,它的四个接受状态分别代表遇到了四种不同的单词。 用上一篇学到的方法,我们需要求出一个DFA,它的每个状态都是NFA状态集合的一个子集。首先我们要定义任何状态的ε-闭包,之所以叫ε-闭包,是因为它对ε转换而言是封闭的,也就是说ε-闭包内任何状态,经过ε转换之后,都还是闭包内的一个状态。接下来,从初始状态ε-闭包开始,我们要计算输入任何一种字符后,NFA所能转换到的下一个状态集合。这一步的公式是: 其中那个U型的符号,表示:对NFA状态集合d中的任何状态s,求出s在遇到符号c之后所能达到的所有状态组成的集合,再把所有这种集合求并集。最后,再对这个集合求出ε-闭包。我很难找出一种更简单的描述方式,简而言之就是要计算出NFA状态集合d,在输入符号c之后,所能达到的一切状态的新集合。而这个集合,就会变成DFA的一个状态,这个状态是从d,沿着一条标有c的边达到的。我们首先求出初始状态的ε

黑盒测试用例设计技术概述

北城余情 提交于 2020-01-08 10:06:32
1.等价类划分法   1.1 测试中的疑问      做加法器功能测试时,测试了 1+1,1+2 , 1+3和1+4之后,还有必要测试I+ 5和1 +6吗,能否放心地认为它们是正确的?      1.2 等价类划分     1.把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例     2.每类的代表性 数据在测试中的作用等价于这一类中的其他值,如果某一 类中的一个例子发现了错误,这一 等价类中的其他例子也能发现同样的错误。反之,如果某-类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误       1.3 基本步骤      1. 有效等价类 2.无效等价类      3.确定等价类的原则 1.4 确定测试用例      1.为每一个等价类规划一个惟一的编号。     2.设计一个新的测试用例,使其尽可能多覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。     3.设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。 2.边界值分析法    2.1 边界值得选择原则       1.如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。       2.分析规格说明,找出其他可能的边界条件。       3

如何评测软件工程知识技能水平?

纵然是瞬间 提交于 2020-01-06 15:40:22
软件工程师应该具备的基础和能力 具备软件工程课程是软件开发的指导思想,方法体系,这是需要掌握的核心内容: (1)软件工程知识 (2)系统分析基础知识 (3)系统设计基础知识 (4)系统实施基础知识 (5)系统运行和维护基础知识 (6)软件质量管理基础知识 (7)软件过程改进基础知识 具有基本代码实践能力:最拿手的计算机语言之一,代码量多少?(偏web前端,PC/Mobile App) 具有行业洞察力:你最感兴趣的领域是什么?这个领域过去10年经历了哪些创新? 项目管理能力:如何决定项目中各种任务的优先次序,有什么理论来支持你的做法? 团队协作能力:协同工作,提供反馈,说服别人 软件设计能力:架构设计,模块化设计,接口设计 一.单选题,共8题。 1.软件开发的增量模型____。 A.最适用于需求被清晰定义的情况 B.是一种能够快速构造可运行产品的好方法 C.最适合于大规模团队开发的项目 D.是一种不适用于商业产品的创新模型 试题1分析 增量模型是一种非整体开发的模型,该模型具有较大的灵活性,适合于软件需求不明确的一种模型。使用该模型开发产品,一般是尽快构造出可运行的产品,然后在该产品的基础上再增加需要的新的构建,使产品更趋于完善。 试题1答案 B 2.为了有效地捕获系统需求,应采用____。 A.瀑布模型 B.敏捷开发 C.原型模型 D.螺旋模型 试题2分析

第九组关于软件测试计划

♀尐吖头ヾ 提交于 2020-01-06 13:19:26
1、Discuss your test plan 我们项目是搭建一个学生管理系统网站。 我们网站的架构和普通网站基本架构相同,都由三部分组成:交互模块,控制模块,以及数据库模块。针对我们的用户的要求,我们在交互界面,控制模块,以及数据库模块功能的设计上也有所强调。这些特点都会体现在我们的测试计划中。 测试目的 对学生管理系统项目中所有的软件测试活动中,包括测试进度、资源、问题、风险以及测试组和其他组间的协调等进行评估,总结测试活动的成功经验与不足,以便今后更好的开展测试工作。熟练掌握软件测试的活动,以及练习学习的Java程序设计。学生管理系统使用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户、已创建的成绩数据的录入、修改、浏览、统计等功能操作,基本能够满足各高校教师的需求。对此次项目中的所有软件测试活动中,包括测试内容,进度,以及存在的问题,会产生哪些风险有一个详细的了解,有利于以后做项目时对此类错误的避免或改正。 测试范围 学生管理系统测试项目主要管理学生的成绩及其存档信息,只对系统的功能和时间进行测试,其性能不在测试范围之内。主要功能包括:用户管理、查询管理、成绩录入管理/更新管理、统计管理、注册管理等。 用户管理:设置了权限管理功能,学生用户只能查询成绩信息,管理员可以完成其他操作。 查询管理:包括查询成绩和基本操作。可以显示单独一条记录,也可以显示所有信息。