当前位置:网站首页>【软考软件评测师】基于规则说明的测试技术下篇
【软考软件评测师】基于规则说明的测试技术下篇
2022-08-01 19:01:00 【进击的横打】
【软考软件评测师】基于规则说明的测试技术下篇
七.判定表测试
1)判定表概念
判定表展示出输入条件和输出结果之间的对应关系。
判定表测试以判定表的形式使用了测试项条件(原因)和动作(结果)之间的逻辑关系(判定规则)模型。
2)判定表的组成
判定表通常由四个部分组成:
条件桩:
列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
动作桩:
列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
条件项:
列出针对他所列条件的取值,在所有可能情况下的真假值。
动作项:
列出在条件项的各种取值之下应该采取的动作。
3)判定表的规则
任何一个条件组合的特定取值及其相应要执行的操作;在判定表中贯穿条件项和动作项的一列就是一条规则。显然判定表中列出多少组条件取值,也就有多少条规则,条件项和动作项就有多少列。
4)适合使用判定表设计测试用例的条件
1.规格说明以判定表的形式给出,或很容易转换成判定表;
2.条件的排列顺序不影响执行哪些操作;
3.规则的排列顺序不影响执行哪些操作;
4.当某一规则的条件已经满足,并确定要执行的操作之后,不必检验别的规则
5.如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
八.因果图法
1)因果图的定义
因果图是一种简化的逻辑图,能直观地表明输入条件和输出结果之间的因果关系。
2)因果图的作用
它可以帮助测试人员把注意力集中到软件功能有关的输入组合上,使用因果图来辅助设计测试用例,非常适合描述多种输入条件的组合,根据输入条件和约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例。
3)因果图的表示
在因果图当中一般以左侧为原因,右侧为结果;表示原因和结果之间基本关系的符号。
为了表示因果图当中原因和原因,结果和结果之间可能存在的约束条件,可以在因果图当中增加一些可以表示约束条件的符号。
4)使用因果图的步骤
利用因果图来导出测试用例,需要经过以下这几个步骤:
1.分析在程序规格说明的描述当中,哪些是原因哪些是结果,原因往往是输入条件,或者是输入条件的等价类,而结果是输出条件。
2.分析程序规格说明中描述的语义的内容,并将其表示成连接各个原因与各个结果的因果图
3.标明约束的条件,由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的,为了表明这些特殊的情况,在因果当中,使用若干标准的符号来标明约束条件。
4.把因果图转换成判定表
5.为判定表中每一列的表示情况设计测试用例
九.状态转移测试
1)基本概念
状态转移测试是把被测软件的若干个状态以及状态之间的转换条件和转换路径给抽象出来。从覆盖所有状态转移的路径的角度去设计测试用例,关注状态的转移是否正确。
有限状态机是一种用来进行状态行为建模的一个工具,主要用于描述对象在其生命周期内所经历的状态序列,以及如何响应来自外界的各种事件进行状态的迁移。
2)状态转移测试的步骤
1.画出状态迁移图
2.列出状态事件表
3.画出状态转换树,并从状态转换数推导出测试路径
4.根据测试路径,编写测试用例
3)测试覆盖率的要求
状态转移测试的完成程度,取决于对测试的覆盖率要求;状态覆盖有以下几种不同的要求:
1.状态覆盖:
能使状态模型当中的所有的状态都被覆盖和访问到;
2.单步转移
应能覆盖到状态模型当中的所有的有效单步状态转移。
3.全转移
应能覆盖到状态模型当中的有效转移和无效转移;
4.多步转移
应能覆盖状态模型中N+1步转移的有效序列。
十.场景测试
1)场景测试的基本概念
现在的软件几乎都是使用事件触发来控制流程的,那么事件触发时的情景便可以形成场景。而同一事件的不同触发顺序和处理结果就形成了事件流。
场景测试,使用被测软件与用户或者其他系统之间的交互序列模型来测试被测软件的使用流程。
测试条件是需要在测试中覆盖基本场景和可选场景,也就是用户和系统交互的事件流序列组成一个场景。
2)场景测试包括的内容
基本场景:
是被测软件的预期的典型的动作序列。或者无典型序列时所采取的一个任意选择。
可选场景:
表示被测软件可选择的场景,他是非基本场景,可选的场景包括了非正常的使用,极端或者压力条件和异常等等。
3)场景测试的举例说明
以自动取款机ATM系统为例,来示范场景测试的使用。该系统要求如下:允许有银行账户的客户,通过自动取款机ATM从他们各自的账户取款,取款要求用户必须有一个激活的账户、一张有效的卡和匹配的密码,以及一台可工作的ATM机。当取款完成了以后,账户余额扣除取款的金额,打印出取款的回执条,然后ATM机就可以服务下一个用户。
那么根据用户需求,我们可以定义出如下的场景:
基本场景:用户成功取款
可选场景:不支持取款,原因如下
银行卡不能被ATM机识别;
用户输入密码错误超过三次;
用户选择存款或者转账,没有选择取款;
用户选择了错误的账户,该账户不存在;
用户输入的取值金额是无效的;
ATM机当中现金不足;
用户输入不符合面额的取款金额;
用户银行卡账户中的余额不足;
用户在ATM当中输入的取款金额超过了每日最大限额;
十一.随机测试
1)随机测试的目的
随机测试的目的是在选定的输入分布模型内生成被测软件的输入参数,形成一个测试集。
这种测试技术不需要对测试的输入域进行划分,仅要求输入值是从输入域当中随机选择的。
2)随机测试应用场景
随机测试一般用在在测试用例自动化生成和执行的过程当中,常见被测软件输入分布模型的定义如正态分布,均匀分布,运行剖面等。
按照预先定义好的输入分布模型,计算机随机选择分布值并执行,反复执行这一个过程,直到满足是先定义好的停止条件为止。
3)随机自动化测试
随机测试,可以分为手动测试,也可以分为自动化测试,完全自动化随机测试不需要人工的干预,是最有效率的。但是为了达到完全的自动化,必须满足:
自动生成随机测试的输入值;
从测试依据中自动生成测试的预期结果;
自动按照测试依据,核对测试结果;
十二.测试设计方法选择策略
1)首先,采用分类树或等价类对函数的输入域进行划分,将无限测试变成有限测试,这是减少工作量,提高测试效率最有效的方法。
2)在任何情况下,都需要使用边界值分析方法,经验表明用这种测试用例设计出的测试用例发现程序的错误的能力越强。
3)对于参数配置类的软件,要用组合技术选择较少的组合方式达到最佳效果。
4)如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法绘制判定表,然后采用判定表法继续进行测试。
5)对于业务流清晰的系统,场景测试法可以贯穿整个测试案例过程,综合考察主要的软件业务流,功能和错误处理能力。
6)状态转移测试对于明确存在不同状态转移的软件设计测试用例的效果非常好,我们可以通过不同状态之间的转移条件的有效性设计出不同的测试数据。
7)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当在补充足够的测试用例
8)如果测试用例可以自己生成和使用中可以结合被测软件实际,考虑使用分类树,状态转移测试,随机测试等多种方式。
9)对于形式化方式定义的规格说明,语法测试是一种比较适合的方式。
十三.编写测试用例
编写测试用例,在整一个软件测试过程当中是属于动态测试过程中的测试设计和实现过程的工作。
编写测试用例过程的最终工作产品包括了测试设计规格说明,测试用例规格说明和测试规程规格说明三个文档。
1)编写测试用例说明过程
编写测试用例过程,应完成下面的工作:
1)分析被测软件的相关测试依据,将待测的特征组合成特征集,记录在测试设计规格说明中;
2)根据测试计划中规定的测试完成准则,确定每个特征的测试条件,并记录在测试设计规格说明中
3)根据测试条件,导出测试覆盖项,并记录在测试设计规格说明当中;
4)去测试覆盖项,导出测试用例,并记录在测试设计规格说明当中;
5)根据执行的约束,将测试用例汇集到一个或多个测试集当中,并记录在测试设计规格说明当中;
6)根据前置条件后置条件,以及其他条件要求所描述的依赖性,对测试集中的各测试用例进行排序,导出测试规程,并将其记录在测试规程规格说明当中;
2)测试设计规格说明
他是测试设计和测试实现过程的第一个工作产品,它确定了要测试的特征,并从每个特征的测试依据导出测试条件,作为定义测试用例和要执行的测试规程的第一步。
3)测试特征集
特征集是测试项需被测试的特征的逻辑分组。一般来说特征集可能直接对应测试项的体系结构,也可能为了更有效率的测试,与体系结构不同,特征集也可能是由一系列特征组成的业务流程。
测试特征集包含的内容
测试特征及应包含如下的内容:唯一标识符,测试条件描述,测试目标,测试优先级,测试策略,和可追溯性。例如用于说明被测软件的功能的文字。
测试条件
在总结完特征值以后,需要将对应的测试依据指定的项或者事件梳理成测试条件。测试条件可能是一个需求的简单引用或者一个设计描述,也可以是需求或者一组需求的重新措辞。
测试条件包含的内容
测试条件应该包含如下内容:
唯一标识符,测试条件描述,测试的优先级和可追溯性。例如:等价类,边界,语法模型等。
4)测试用例规格说明
该文档标识了测试覆盖项,以及从一个或者多个特征集的测试依据中导出的相应测试用例。
测试覆盖项
测试覆盖项指的是使用测试设计技术从测试条件中导出的,预计未来的测试用例将覆盖的内容。
测试覆盖项包括内容
完整的测试覆盖项,应该包含以下内容:
唯一标识符,测试覆盖项的描述,测试优先级和可追溯性;每个测试覆盖项都能够追溯到其所属的测试条件,特征集或引用的测试依据。例如等价类划分,分类树的组合分类,不同边界值法到处的用例等。
针对每一个测试覆盖项再进一步导出测试用例。
测试用例应该包括的内容
唯一标识符,测试目标,测试优先级,可追溯性,测试的前置条件,输入,预期结果和评价判定结果的准则。
在执行完测试后,再增加对应的一个或多个测试覆盖项。
3)测试规程规格说明
就是用于解决测试用例从设计到执行这一问题的文档。
该文档按照执行顺序描述了所选测试集中的测试用例,以及设置初始前置条件和执行结果后活动所需的任何相关操作。
测试规程指的是对应测试集中的测试用例,如何按照前置条件后置条件,以及其他测试需求所描述的依赖关系,执行的顺序和操作。
边栏推荐
- What are the application advantages of SaaS management system?How to efficiently improve the digital and intelligent development level of food manufacturing industry?
- The elder brother of the goldfish RHCA memoirs: CL210 experiment management it network - chapter
- 暑假第一周总结博客
- Write code anytime, anywhere -- deploy your own cloud development environment based on Code-server
- Win11怎么安装语音包?Win11语音包安装教程
- explain 各字段介绍
- Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案
- [Server data recovery] Data recovery case of offline multiple disks in mdisk group of server Raid5 array
- 对于web性能优化我有话说!
- 屏:全贴合工艺之GFF、OGS、Oncell、Incell
猜你喜欢
MLX90640 红外热成像仪测温模块开发笔记(完整篇)
483-82 (23, 239, 450, 113)
小白系统初始化配置资源失败怎么办
Become a Contributor in 30 minutes | How to participate in OpenHarmony's open source contributions in multiple ways?
硬件大熊原创合集(2022/07更新)
GZIPOutputStream 类源码分析
Redis启动时提示Creating Server TCP listening socket *:6379: bind: No error
通配符 SSL/TLS 证书
网站建设流程
使用常见问题解答软件的好处有哪些?
随机推荐
PanGu-Coder:函数级的代码生成模型
【木棉花】#夏日挑战赛# 鸿蒙小游戏项目——数独Sudoku(3)
MySQL中超键、主键及候选键的区别是什么
modbus bus module DAM-8082
在GBase 8c数据库后台,使用什么样的命令来对gtm、dn节点进行主备切换的操作?
What are the application advantages of SaaS management system?How to efficiently improve the digital and intelligent development level of food manufacturing industry?
2022,程序员应该如何找工作
在Map传值与对象传值中模糊查询
COS User Practice Call for Papers
请你说说多线程
Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案
123123123123
Heavy cover special | build the first line of defense, cloud firewall offensive and defensive drills best practices
odoo 编码规范(编程规范、编码指南)
SQL的 ISNULL 函数
随时随地写代码--基于Code-server部署自己的云开发环境
Become a Contributor in 30 minutes | How to participate in OpenHarmony's open source contributions in multiple ways?
Tencent Cloud Hosting Security x Lightweight Application Server | Powerful Joint Hosting Security Pratt & Whitney Version Released
Industry Salon Phase II丨How to enable chemical companies to reduce costs and increase efficiency through supply chain digital business collaboration?
vtk体绘制代码报错的解决办法(代码在vtk7,8,9中都能运行),以及VTK数据集网站