ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

转:测试用例设计方法篇-等价类划分法

2021-05-17 11:58:23  阅读:294  来源: 互联网

标签:无效 等价 划分 测试用例 测试 比如 输入


测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。

今天我们主讲等价类划分法。

等价类划分法

前面文章中提到过测试是不能穷举的,那么等价类划分法就是将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

等价类划分法是把所有可能的输入数据(输入域),划分成若干部分(子集),然后从每一个子集选取少数具有代表性的数据作为测试数据去测试。输入域的每个子集就是一个等价类,等价类中任意一个输入数据对于揭露程序中潜在错误都具有同等效果。在测试过程中我们只要从每个等价类中任意选取少数的值作为代表进行测试即可,等价类划分法可以让我们用少量测试输入取得较好的测试覆盖结果。

要注意的是,在进行等价类划分的过程中,我们不仅要考虑有效等价类划分,也要考虑无效等价类划分。具体定义如下:

有效等价类:是指输入完全符合程序规格说明的数据集合。利用有效等价类可以测试程序是否满足规格说明书规定的功能和性能。

无效等价类:和有效登记类相反,即不满足程序规格说明的数据集合。使用无效等价类,可以测试程序对异常情况的处理。在程序设计中,不但要保证所有有效数据输入能产生正确的输出,同时也需要保证在输入错误或者输入为空等异常数据时程序有异常保护或者说明。比如:测试人员在测试QQ的时候不能只测试网络正常时候消息的传送、存储和展示,也要测试断网/弱网等情况下消息的传送、聊天记录的存储和展示等。否则就可能会出现一旦断网,之前发送的消息全都没了,甚至发送者这边提示消息发送成功,但是接收方却没收到消息(即消息丢失)等糟糕的情况。

接下来我们来看个例子:

我们要测试学习成绩这一输入框(假设总成绩都是100),那么我们就可以如下图划分,有效的成绩是>=0且<=100的,无效的是<0和>100这两部分;另外图中还有一个无效等价类没有表现出来--非数字字符(比如:英文字母、中文、特殊的符号等单一或者组合,如a、abc、你好、你abc、你=我、\你\a\等;以及他们分别与数字组合,比如:a123、321a、你123、12你、1你2、1\2、1=你等)。

 

那么根据上述分析,最终设计出来的测试用例如下:

有效等价类1:0~100(包含0和100)之间的任意数,比如:19;

无效等价类1:小于0的负数,比如:-1;

无效等价类2:大于100的数,比如:121;

无效等价类3:其他任意非数字字符,比如:a、你、\;

无效等价类4:空字符(什么也不填写或者输入多个空格,很多人容易忘了这个呢)。

可能会有人有疑问了,为什么前三个等价类都给了一个值,而无效等价类3给了那么多?这就是我们即将要说的等价类最终必须是分割到最小单位,只有这样才能保障测试覆盖全面。比如上述说的:

无效等价类3:其他任意非数字字符。

非数字字符可以是包含英文字符、中文、特殊符号的字符串或者字符,所以其实它又可以分为三个无效等价类,分别是:

无效等价类:包含英文字符的字符串,比如:a、a123、a=、b你a;

无效等价类:包含中文的字符串,比如:你、你12、1你2、你=;

无效等价类:包含特殊字符的字符串,比如:\ 。

 

标签:无效,等价,划分,测试用例,测试,比如,输入
来源: https://blog.csdn.net/gaoqing1129/article/details/116923129

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有