软件测试中根据测试用例设计的方法,测试用例设计方法有哪些?举例说明[通俗易懂]

软件测试中根据测试用例设计的方法,测试用例设计方法有哪些?举例说明[通俗易懂]众所周知,测试用例是编制的一组测试输入、执行条件及预期结果,专门为的是某个特殊目标,即测试某个程序路径,或是核实是否满足某个特定的需求。一般来讲,常用的测试用例设计方法有五种,分别是:正交实验法、边界值分析法、等价类划分法、判定表法、错误推测法。当然测试用例的设计方法不止这些,下面只是通过举例说明着重讲讲这常用的五种方法。一、正交实验法用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立…

大家好,又见面了,我是你们的朋友全栈君。

众所周知,测试用例是编制的一组测试输入、执行条件及预期结果,专门为的是某个特殊目标,即测试某个程序路径,或是核实是否满足某个特定的需求。一般来讲,常用的测试用例设计方法有五种,分别是:正交实验法、边界值分析法、等价类划分法、判定表法、错误推测法。当然测试用例的设计方法不止这些,下面只是通过举例说明着重讲讲这常用的五种方法。

0f650ff9721aa156a337cf18f1bf4a93.png

一、正交实验法

用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。利用正交实验设计测试用例的步骤:

1、提取功能说明,构造因子–状态表。

2、加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权,可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。

3、利用正交表构造测试数据集。利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

二、边界值分析法

一般来讲,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值。

举例说明,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。 例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。

三、等价类划分法

顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。 等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。

举例说明,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。 我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。 然后从每个子集选出若干个有代表性的值:

空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)

1-7位数字:”234” (无效等价类实例)

8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)

9位或以上数字:”1234567890” (无效等价类实例)

非数字:”abc&!!!” (无效等价类实例)

他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。

四、判定表法

又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

举例说明:对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理。

条件桩:

C1:功率大于50马力吗?

C2:维修记录不全吗?

C3:运行超过10年吗?

动作桩:

A1:进行优先处理

A2:作其他处理

生成判断表:

35d2fde8ced25f461101a40d699f3b9a.png

简化判定表:

1,2合并,5,7合并,6,8合并

befec77f5af104f9a537da5d1c63a86f.png

五、错误推测法

错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。 这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到,这里就不另外举例说明了。

以上就是测试用例的五种设计方法,大家都弄明白了吗?大家要是第一遍没看太懂,可以通过结合相关设计方法的举例说明,多看几遍从而弄懂这些测试用例的设计方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148070.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • burpsuite 越权_挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别

    burpsuite 越权_挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别这里分享一个自动化发现IDOR(越权)漏洞的方法,那就是在BurpSuite中利用Autozie和Autorepeater插件实现IDOR漏洞的探测识别,而无需针对每个请求手动去变化参数或请求。IDOR(越权)漏洞:也称“不安全的直接对象引用”,场景发生于当用户对内部资源的访问请求,或基于用户提供的输入对象进行访问时,服务端未进行合理的权限验证,导致当前用户可以未经授权访问获取到不属于自己账户权限…

    2022年6月4日
    71
  • Method类的Invoke方法[通俗易懂]

    Method类的Invoke方法[通俗易懂]Dto:dto里面放的都是同一类型的字段/**Creation:2Dec2015*/packagecom.java.invoke;publicclassDto{privateIntegerCol1;privateIntegerCol2;privateIntegerCol3;privateIntegerCo

    2022年6月1日
    36
  • 自监督学习(Self-supervised Learning)

    自监督学习(Self-supervised Learning)自监督学习(Self-supervisedlearning)是这两年比较热门的一个研究领域,它旨在对于无标签数据,通过设计辅助任务(Proxytasks)来挖掘数据自身的表征特性作为监督信息,来提升模型的特征提取能力

    2022年9月14日
    3
  • Linux xsync命令脚本

    Linux xsync命令脚本在/bin/目录下创建xsync脚本如下:#!/bin/bash#1.判断参数个数if[$#-lt1]thenechoNotEnoughArguement!exit;fi#2.遍历集群所有机器forhostinmasternode1node2doecho====================$host====================#3.遍历所有目录,挨个发送forfilein$@do#4…

    2022年5月5日
    161
  • 最经典的黑客入门教程[通俗易懂]

    最经典的黑客入门教程[通俗易懂]第一节、黑客的种类和行为以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是我们平时经常听说的“黑客”(Cacker)和“红客”(Hacker)。无论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是.

    2022年6月7日
    34
  • linux中mysql忘记密码[通俗易懂]

    linux中mysql忘记密码[通俗易懂]第一种解决方案解决方法:1、利用“servicemysqlstop”命令关闭mysql服务;2、修改mysql的配置文件“my.conf”;3、用“servicemysqldstart”命令重启数据库;4、用“usemysql”语句修改密码。本教程操作环境:linux7.3系统、mysql8.0.22版本、DellG3电脑。linux中mysql忘记密码怎么解决解决方法:1、检查mysql服务是否启动,如果启动,关闭mysql服务 .

    2022年6月25日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号