`
MyEyeOfJava
  • 浏览: 1156572 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71336
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

现代语文与软件测试学的关系

阅读更多

好久不写文,最近面试多了,感觉孩子们把学的知识都学死了,连软件测试TC设计的基础理论很多同学都不能够完全好好掌握,按照我多年质控方面的理解,今天以现代语文的方式为大家解析一下TC设计。

 

所谓语文,其实平时我们说的话都是语文,对于测试工程师,产品经理PRD里写的每一句话都是语文。所以我个人觉得学好语文和做好测试关系还挺大的。

 

举例:现代汉语词汇这样分类的,分为实词和虚词2类。

实词:名词、动词、形容词、数词、量词、代词。

虚词:副词、介词、拟声词、连词、助词、叹词。

 

而软件测试TC设计和实词关系很大。再举例来说:(这是我面试经常问的一道题)

我周六花了6000块买了一台白色的iphone6.

我 -- 代词

周六 -- 名词

花了 -- 动词

6000块 -- 数量词

买了 -- 动词

一台 -- 数量词

白色的 -- 形容词

iphone6 -- 名词

 

活学软件测试理论:

1.所有数词都试用于等价类测试,边界值测试以及压力测试

   例如:6000是一个子集、6000以下是一个子集、6000以上是一个子集,6000块 一台,那么0元是否可买,同一时间段多人采购N台如何进行压力测试?

2.所有代词、名词都适合做功能测试,等价类测试。

   例如:你、我、他。周六、非周六。iphone6、iphone7、非iphone6.

3.所有动词基本都适合做性能测试。

   例如:花了、买了。是一个人花钱使用是这个花这个方法,还是N个人同时在花钱,是买一台,还是同时买N台。

4.所有量词都适合错误推断法。

   例如:个、台。而不是条,打,粒。我不能用6000块买一打,或者一条iphone6出来。

5.所有形容词都适合做等价类划分法。

   例如:白色的,非白色的。

6.基本每一句话都适合做场景分析法。

   这个购买操作是在什么场景下进行的?什么场景不能进行?这个场景的特殊条件,前提条件是什么?用户可能会做的,还会做什么?

 

那什么样的语句适合因果图法、判定表法、正交试验法,功能图法呢?

 

因果图法:(即汉语中简单的条件性语句都适应因果图法)

例如:当/若 怎么样怎么样的时候,结果/应该 会怎么怎么样的语句,特别适合因果图法。

例如:当乘客在3公里范围内取消订单时,罚款5元,当乘客在5公里范围外取消订单,罚款10元。

 

判定表法:(即汉语中复杂条件组合的语句都适应判定表法)

你可以这样简单理解判定表法,就是当有多个原因会导致结果会改变的时候应该使用判定表法。

例如:当乘客在3公里范围内,司机已达到目的地,并且订单金额是大于50元,当用户点击取消订单是,罚款5元。其他情况乘客不做惩罚。

这个时候你应该把这几个条件列出来,得到你的结论

条件:1.乘客是否在3公里范围内  2.司机是否已经到达目的地  3.订单金额是否大于50元 4.用户是否点击了取消 这4个条件决定了程序的结果是否罚款5元。

 

正交试验法:(即汉语中,区间分布,并且均匀分布的语句都适应正交试验法。)

正交试验法,其实在应用软件的设计中,碰到使用这种场景的Case还是非常少的。因为现在的应用软件的逻辑没有那么复杂。

我举个例子:打车订单在0-20元的用户,并且周登录次数在1-5次的,每周奖励1元,打车订单在20元-50元的用户,并且周登录次数在5-10次的,每周奖励2元。

如果0-20元,周登录次数在1-5次的,与20-50元,周登录次数在5-10次的用户比例是一致的,就可以使用正交实验法,在各范围内取有代表的点就可以覆盖该范围内的所有逻辑。

若0-20与20-50的用户比例不一致,实际就要按照用户重点落在那个区域内,对该区域进行重点测试。

 

功能图法:(这个最简单,但是大部分同学不知道自己每天在用)

即平时你们看到的流程图,按照该流程图设计的方式,即功能图法。

 

 这样来理解TC设计的8种测试方法,是不是就非常非常简单,其实就是初中语文吗?你总会说话,总会知道这个词汇是什么词汇的吧,既然知道,那设计好TC也不是什么难事。

 

最后将TC设计的8种方法罗列如下:等价类划分法、边界值分析法、错误推断法、因果图法、判定表法、正交试验法、功能图法、场景分析法。

 

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics