互联网科技IT技术分享 随心

王麻子的春天 之等价类划分法设计测试用例

2019-04-16  本文已影响5人  Lyuao

“麻子师兄,早上好!”妹子热情洋溢的笑容足以明媚整个工作日。

王麻子脸上也浮起笑容:“早......啊......嘭!”

一阵天旋地转,王麻子脸上的笑容还来不及散去,便重重摔在了办公室门口,引来了一大片视线。

图片来自网络

挣扎着撑地坐起来,从没出过如此洋相的王麻子有些恼羞成怒。很快他就发现了罪魁祸首,因为妹子十分歉意的捡起了地上的香蕉皮。

“啊,对不起,麻子师兄。”妹子一脸忐忑看着王麻子:“麻子师兄,你没事吧?”

“没事!”王麻子咬牙切齿挤出两个字。

“麻子师兄,我不是故意的,刚吃了三根香蕉,扔皮的时候掉了一根。”

“你吃那么多香蕉干嘛?”

“三根不是边界值吗?我在验证你昨天的题目啊!”

“那只是一个比喻,比喻懂不懂?8也是边界值,你怎么不吃8根?”王麻子吼道。

“我打算明天吃8根的。”妹子挠了挠头,有些窘迫。

......

“跟我过来,今天教你一种新的方法。”

“好的,麻子师兄,是等价类吗?”妹子一脸雀跃,脸变得比六月的天还快。

“是。那我还是以微信发红包为例,假如发红包功能现在处于测试阶段。那么除了要测试金额的边界值以外,你认为我们需要将0.01到200.00之间所有的金额都遍历测试吗?”

“那要测多久啊?”

“是啊,这不现实,浪费时间且枯燥乏味。

因此我们采用等价类分析法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例。这样,每一类的代表性数据在测试中的作用都等价于这类中的其他值。

比如微信红包,金额的有效数据就是0.01到200.00之间的数字。在此范围之外的都可以归类为无效数据。”

“我明白了,麻子师兄。那是不是测试的时候只要从有效数据和无效数据里各选一个数据测试就行了呢?”妹子有点疑惑。

王麻子没有直接回答:“那我问你,如果要你从有效数据里选一个数据进行测试,你选哪一个呢?”

“嗯...我可以任选一个吗?”

“自然可以。”王麻子鼓励道。

“那我选66,不,选66.10...麻子师兄,只选一个数据是不是太少了?我觉得整数和小数应该是不同的类型。”

“没错,只选一个数据当然不够。我们初步将输入数据分为有效类和无效类之后还要再细分。比如0.01到200.00之间的数字之间的有效数据还可以再细分为:1、整数;2、一位小数;3、两位小数;然后从划分好的每一个小类里面选取一个有代表性的数据进行测试。”

“我知道了,麻子师兄。按照这样的方式无效类数据也需要再细分是吗?”妹子一脸恍然大悟的表情。

“是的。那你说说无效数据又可以怎么划分呢?”

“这个简单。1、小于0.01的数;2、大于200的数;3、0.01到200.00之间小数位多余2位的数;”

“只有这些吗?再想想。”

“啊,还有还有,还有不是数字的。不过麻子师兄,不是数字的有英文字母、汉子、标点符号等等,我要把每一类都测到吗?”

“是的。在测试的时候要注意输入有效等价类中的数据时,程序应该正确计算、执行;输入无效等价类中的数据时,程序应该给予错误提示或者根本不允许用户输入。

“我明白了,麻子师兄,那如果有两种数据很难区分是不是应该分为一类的时候怎么办呢?”

“那建议你分两类,宁可冗余也不要漏测。虽说我们没办法保证完全不漏测,但在可控的情况下要做到尽量不漏测。”

“我懂了。”

“真懂了?那你给我总结下等价类划分法。”

“好的麻子师兄。使用等价类划分法要先划分等价类,将输入数据分为有效类和无效类;然后再细分等价类,将有效类数据和无效类数据划分为更小的不可分的类型;然后就可以编写测试用例了。”

“不错。”抬起手腕看了看表,已经过去半小时了,王麻子说:“时间差不多了,你先回去做事吧。半小时后过来一下,我告诉你今天的练习。”

半小时后,妹子一脸轻松的过来,看到王麻子拿出来的谢了满满一页纸的题目,脸上的表情很精彩。

“麻子师兄,你不会是在公报私仇吧?”妹子苦着脸问。

“怎么会呢?等价类分析法虽然听起来简单,但是很重要,我这都是为了你好。”王麻子一本正经。

鬼才信!妹子悄悄做了个鬼脸。

上一篇下一篇

猜你喜欢

热点阅读