• 11
  • 12
分享
  • 测试用例优秀例子:功能测试用例设计方法分享——软件测试圈
  • 曼倩诙谐 2022-02-17 10:40:47 字数 1879 阅读 3256 收藏 12

  测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点;如何能编写优秀的测试用例,就需要测试人员掌握更多的用例编写技巧以及思考出更多的测试点。针对于游戏测试,大多更偏向于功能方面的测试,根据功能测试用例逐项测试,检查产品是否达到了策划的需求。功能测试主要采用黑盒测试策略设计测试用例,进行测试。主要功能模块测试的测试用例设计方法包括:等价类划分、边界值分析、错误推测法、因果图和判定表、场景法、正交实验法。下面就以上几种方法进行一些分享。

  等价类划分法

  等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,以此发现更多的软件缺陷,统计好数据后由此对软件进行改进升级。

  举例一: 设有一个认证条件,要求玩家输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。 首先,划分等价类并编号,下表等价类划分的结果。

1-1.png

  设计测试用例,以便覆盖所有的有效等价类,在表中列出了3个有效等价类,编号分别为(1)、(5)、(8),设计的测试用例如下:

1-2.png

  为每一个无效等价类设计一个测试用例,设计结果如下:

1-3.png

  举例二: 登录账号的时候,邮箱地址输入框输入数据,程序检测,判断用户输入的邮箱地址是否合法。现用等价类划分法和边界值分析法设计测试用例:

  1)对输入的要求

  1、用户名只能用小写字母和数字还有‘.’组成

  2、邮箱用户名首位必须是小写字母或者数字

  3、用户名长度在6-30个字符之间

  4、必须要有 @ 符号和必须要有 ‘.’

  5、@后面要以*.*结束(*为任意字符串)

  2)等价类表:

1-4.png

  3)覆盖等价类的测试用例:

1-5.png

  边界值分析法

  其实边界值可以算是为了配合等价类而加的一个限制条件,一般会根据略小于最小值、略大于最大值、等于最小值/最大值进行边界值的一些验证;一般来说,关于区间型数据边界值的测试,大多都是略小于最小值和略大于最大值是不满足要求的,中间的数据是满足需求的。 边界值附近的数据确定的几种方法:

1-6.png

  举例一: 还是以上面要求玩家输入以年月表示的日期来作为例子。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能",下面是关于边界值需要检测的点。

-7.png

  举例二: 购买一个宝箱,一次性最多只能购买5个,以边界值的标准可选取5个(正好等于)、6个(刚刚大于)、4个(刚刚小于),3个(正常值)作为边界值来测试。

1-8.png

  错误推测法

  没有确定的步骤,很大程度上是凭经验, 结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,进行容错性测试。例如输入数据为零或输出数据为零时容易发生错误的情况,所以可选择输入值为零的例子,以及使输出值为零的例子;又如输入表格为“空”或输入表格只有一行是较易出错误的情况,所以可选择表示这些情况的例子。根据字面意思,也就是列出可能出现问题的点,猜测哪些情况可能会有问题。 举例一: 如面购买宝箱的例子,针对于需求,仅是对于给出的数据进行了测试,但是在实际情况中,实际要求中需要注意的点。根据平时测试,出现过问题的地方,所以又应该考虑到以下的测试点:

  (1)尝试购买-1个宝箱

  (2)尝试购买0个宝箱

  (3)多次购买小于5个宝箱

  (4)多次购买5个宝箱

  (5)购买宝箱后重启客户端/服务器

  (6).......

  举例二:对于游戏中,需要做屏蔽词功能,需要考虑到以下玩家会进行操作的功能点进行测试(多多自走棋为例),我们需要考虑到所有可能出现玩家输入信息的地方,根据对平时对项目的熟悉以及自己的经验,想到一些可能会出现问题的地方:

  (1)创建账号(玩家填写角色名称)

  (2)聊天功能(世界聊天、好友私聊、队伍聊天、发送邀约信息、制图工坊、房间队伍聊天、局内战斗聊天、局内私聊、局内观众、局内裁判、观战发送聊天信息)

  (3)个人信息(玩家修改昵称)

  (4)自建房间(玩家创建/修改房间昵称)



作者:佚名   

来源:http://www.51testing.com/html/15/n-4477215.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •        大家好,我是虚竹,首先介绍一下我自己,从事软件测试行业到现在是10年时间,毕业之后一直从事的软件测试行业。很幸运在毕业时赶上互联网这波浪潮,然后就一直在互联网公司工作,虽然那时候的软件测试技术发展还相对比较混乱,但自己因为公司业务发展的原因,硬件测试、功能测试,性能测试、自动化测试什么的也都做过。       因为我接触软件测试的时间算是相对比较早,那时候也没有相对比较全面、深入的培训体系或者说学习途径,只有通过一些前辈的指导,以及自我的学习加总结来进行自我提升。这种提升的方式,无疑是很缓慢且痛苦的,...
            0 0 2396
            分享
          • 移动应用特点与传统的PC软件系统相比,移动应用开发成本相对低廉,具有很好的便携性,极高的碎片时间利用率,很强的用户粘性及忠诚度,尤其随着网络及智能移动设备的迅速发展,移动应用占据了用户日常生活的大部分,人们常说的“手机控”“低头族”也充分说明了移动应用发展前景的火爆。移动应用具有以下几个特点。1、应用场景多变有了移动应用,人们参与互联网活动不再局限于办公室、家庭或其他固定场所,随处可见的“低头族”足以说明移动应用的应用场景广泛。2、高便携性以手游为例,传统的游戏有端游、页游,都需在PC上运行,随着掌上游戏机的发展,渐渐地将游戏移植到便携设备上,发展至今非常火爆的手游,如王者荣耀、大话西游、部落...
            0 0 1792
            分享
          • 1、公司从哪些方面入手通过技术的手段提高测试效率?  想要提高效率的方法很多,例如增加自动化,增加人员的培训,规范工作流程等,但是我觉得,如果一个团队的lead,想要确实的提高团队的效率,最好的方法是问题驱动的过程改进。简单讲就是先将工作阶段细分,评估每个小阶段的效率,发现真正影响整个测试活动效率的问题,根据优先级,逐个去解决这些问题,持续性的过程改进,才能真正意义上的提交效率。2、如何有效的在项目中引入自动化,总感觉在现有的项目中进行自动化测试,是在为了自动化而自动化,并没有提高测试的效率。  我觉得这是一个好问题,而且是一个非常普遍的问题,我觉得想要引入自动化,最少要经过三个步骤:  第一...
            0 5 3437
            分享
          •   环境准备  1.安装JDK(自行安装)  2.安装Jmeter  (1)Jmeter下载地址并解压(本位使用5.1.1版本~)  https://archive.apache.org/dist/jmeter/binaries/  (2)打开Jmeter  进入Jmeter解压文件的bin目录下,双击jmeter.bat文件,即可打开Jmeter  知识点-Jmeter取样器  在正式开始使用Jmeter前,先了解“Json Extractor”的概念。  Json取样器:使用Jsonpath语法,一般用于从响应结果数据里面获取动态变量值  Jsonpath基础语法说明  项目背景  使用J...
            1 3 2614
            分享
          • 1.1. Web技术演化 1.1.1. 静态页面在互联网最初开始的时候,Web网站的主要内容是静态的,由文字和图片组成,制作和表现形式也是以表格为主。当时的用户行为也非常简单,仅仅是浏览网页。1.1.2. 多媒体阶段随着技术的不断发展,音频、视频、Flash等多媒体技术诞生了。多媒体的加入使得网页变得更加生动形象,网页上的交互也给用户带来了更好的体验。1.1.3. CGI阶段渐渐的,多媒体已经不能满足人们的请求,于是CGI(Common Gateway Interface)应运而生。CGI定义了Web服务器与外部应用程序之间的通信接口标准,因此Web服务器可以通过CGI执行外部程序,...
            13 13 1628
            分享
      • 51testing软件测试圈微信