b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

常见分布式系统 Mock+Proxy在SDK项目的自己主动化测试实战(5)

电脑杂谈  发布时间:2018-02-17 01:43:55  来源:网络整理

这里写图片描写叙述

常见分布式系统_分布式系统架构_分布式系统

有的同学会问:我们协议还不稳定,error code也不明白,有些输入也不知道相应什么error code,怎么破?别急。后面告诉大家。

5. 生成mock数据

完毕了以上准备工作以后,剩下的就是生成我们mock须要的response json数据了。

解析Wiki协议中的json模版,给相应的json字段赋上生成的值。这里须要写一段代码来完毕,在此不做赘述。

番外篇:工具的二次开发

在使用过程中。我们发现工具PICT不能满足业务场景的复杂度要求,主要有两点:

- 异常输入测试的时候,不能同一时候输入多个异常值

在case设计中多个异常值输入是非经常见的测试场景。尽管pict提供负面测试(negative testing)功能。即假设模型文件里,有值被标记为异常值(默认的异常值标识符为“~”),则case中会随机出现一个异常输入的值,可是PICT限制每一个case仅仅能有一个异常值存在,原因是多数异常值的组合尽管可能会引发问题,可是代码在catch了一个异常值造成的异常后,不会再去处理还有一个异常值。

先通过一个演示样例来感受一下pict的负面测试。演示样例模型文件例如以下:

Destination:      Canada, Mexico, USA, ~Japan
Class:            Coach, Business Class, First Class
Seat Preference:  Aisle, Window, ~Door

产生的case例如以下:

这里写图片描写叙述

通过上图能够看出,PICT同一时候保证了正常值的组合,也保证了异常值的组合,可是我们不难发现,每一个case仅仅会出现一个异常值,那么 ~Japan,First Class, ~Door的case就会遗漏,显然case覆盖率不够,不能满足我们的需求。

针对这个问题,在对PICT的源代码进行了具体的解读后,我们对代码进行了二次开发,扩展了负面测试的覆盖范围。彻底攻克了这个问题,改动后的模型文件例如以下:

Destination:      Canada, Mexico, USA, ~Japan
Class:            Coach, Business Class, First Class
Seat Preference:  Aisle, Window, ~Door
~{Destination, Seat Preference}  
//添加一行公式,在模型文件里指定了Destination和Seat Preference两个字段能够进行异常值组合,数量不限。

扩展后的case生成是这种:

这里写图片描写叙述

正则表达式过于简单。不支持复杂的语句

PICT支持IF[ ] THEN[ ]格式的约束规则。可是约束规则中LIKEkeyword的通配符操作仅仅支持*和?(分别表示随意多个字符和随意一个字符)。显然简单的通配符操作限制了约束规则的表达能力。

因此,我们在原有的基础上,引入C++的regex库支持正则表达式,改动后支持了更丰富的正则表达式。

例如以下演示样例中,添加一条规则。假设Destination字段为数字类型(”\d”),那么Seat Preference字段也为数字类型。

Destination:      Canada, Mexico, USA, 3
Class:            Coach, Business Class, First Class
Seat Preference:  Aisle, Window, 4
If [Destination] like "\d" then [Seat Preference] like "\d";


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-81263-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 陈贵兰
      陈贵兰

      中国是一个爱好和平的国家

    热点图片
    拼命载入中...