2,利用python的pyes库调用ELSATICSEA普拉多CH的API服务,依照特征字段抓取xml和json格式的接口报文。

欢迎大家拍砖。

守旧的接口测试方法首要行使手工业编写制定接口报文的章程,那种措施只要依据接口文书档案的叙述构造测试报文就OK了,即使简易,不过有失高效。于是这些艺术有了升级版本,便是经过参数化报文中的关键字段,批量变型测试案例,那也是接口质量测试的最主要措施之一。这几个法子就算缓解了获取报文的频率难点,不过并无法很好消除覆盖率的标题,终归报文是人工构造出来的,并无法卓殊真实的展现实在的业务交易场景,实际测试结果也印证了这一理念。于是,大家想既然古板的接口测试是在例行的事情交易测试中覆盖了,那么大家大致去直接破获前段发起交易爆发的接口新闻报文。11分幸运,集团绝半数以上的付出部门都以从严遵从LOG4J格式记录应用交易日志的,由此我们假使根据一定的平整去分析利用的交易日志,就可见提取出大家所供给的内容。

 

咱们理解的冒烟测试是要在玩命短的光阴内,对新的版本或测试环境举办贰个准入测试,以咬定其是不是富有开始展览继续是验收及适应性测试的规则,因而冒烟测试的功能至关心珍视要。大家的国策是透过异步小批量作业的艺术不间断的扫描日志处理报文,天天定时并发的不二法门去实践测试案例,执行时间取决于版本安装时间或测试任务的急需,如今2万笔测试案例,基本能够操纵在10分钟以内。

上面作者将依次介绍大家的化解方案:

四 、执行功能的题材

叁 、怎样判定再次回到结果的没错;

4,利用python的http和socket接口库落成接口测试案例,那里恐怕要依据分歧应用做一些客户化,尽量通过通用的法门落成。

总结和题材:

json 1

四 、测试功用难题。

3,对收集到的接口报文实行格式化处理,格式化日期、流水号或时间戳等字段,并对格式化后的报文做MD5的校验。

平日对接口测试关怀的比较少,超越二分一接口功效都是经过行使前段的作用测试案例覆盖了,并从未独立安排针对接口安排测试案例,因此真的到了实施时,作者才察觉对于接口测试还不够五个纯正的概念。求助度娘,百度精通上的定义如下:接口测试是测试系统组件间接口的一种测试。接口测试首要用以检查和测试外部系统与系统里面以及中间各样子系统之间的交互点。测试的要害是要检查数据的沟通,传递和控制管理进程,以及系统间的并行逻辑信赖关系等。这些定义与大家从前的驾驭并不曾太大差异,一言以蔽之,开放平台应用通过接口服务实现选用间新闻和数据交流,因而我们的测试主要就聚焦在音讯和调换多个难题上了。

音信可以回顾的乃是接口测试案例,比置换难题错综复杂很多,必要考虑很多因素,大家总计为以下四个根本难点:

上述那种测试方法还只是从技术的角度测试,为了知足实际业务测试的须求,大家也落实部分简便的功能:比如我们提供了多维度的测试结果总计;提供依照业务主要字的报文案例和测试结果的摸索效率,以便工作测试职员快捷的找到本人的测试案例;允许工作测试人士手工业修改报文案例库,那样就足以跳过使用前端,间接针对接口开始展览测试;最后大家对每1遍执行时间都开始展览记录,形成了报文案例响应时间的基线,用于后续的接口质量评估。

换到那些标题会不难一些,毕竟应用常用的接口服务类型重要就是HTTP和SOCKET三种,而针对性那两体系型服务的测试方法也很多,百度时而会有很多互为表里测试方法和框架。对于大家那些不懂编制程序的小白,python自然是首要选用。python提供了最中央的request和httplib2库完结报文的出殡和埋葬和吸收,当然对于HTTP类型接口还会有别为post和get,这么些在request库中也都有相应的措施,大家通过一张接口登记表来记录每二个接口的花色、地址和章程,这么些消息都足以从配置管理系列中获得。

7,接口定义平台提供了一个web的接口定义模块,扶助理工科程师作测试人士依据接口文书档案编辑接口要素,并拼装成接口报文举办测试。对于复杂的贸易场景(比如流程长或彼这次数多),能够在阳台上编写制定接口的调用顺序和内外项逻辑关系,完毕1个比较复杂场景的接口测试。尽管那些职能更偏重于自动化测试,可是这些效用接济我们贯彻了不能够透过选拔前段功能测试覆盖的接口测试,是卓殊好的补充。

设计思路:

完毕方案:

贰 、新闻是还是不是能够覆盖全部的先后分支难题:

越多技术干货请戳:听云博客

③ 、怎样判断新闻重回结果的不易难题:

每3个采纳对于接口报文的安排都是依据一定的科班和习惯,大家只须求梳理出标记交易得逞景观的字段就足以了。某个交易不含有那一个字段,大家就要求开始展览人工判断,并对成功的结果开始展览格式化(比如timestamp,流水号等),提取MD5特征值,作为判断接口后续测试结果正确的基于。但是,状态字段是马到成功并不代表接口测试通过,究竟重回结果中还带有了不少事情数据字段须要评释。假若这几个字段值变化相比规律(比如一贯不变、持续增多或回落),大家准备定义一些模子规则去看清它们。而那个上蹿下跳的多寡,这就留给人去判断了。其实,对于冒烟测试而言,大家认为并不供给苛求去判断每一笔交易的不错,只需求总结大批量测试案例结果的成功率,并与中期成功率举行比较,以判断测试结果是或不是健康。

一 、新闻获得的门径难题:

1,通过开源ELK实现采纳日志的采访与管理。在客户端计划logstash
agent,并配置日志采集策略;日志记录以key-value的格式上送REDIS内部存款和储蓄器数据库,这一个设计重点是为着在client和server之间做二个缓冲,保障了日记记录的0丢失;ELSTICSEALANDCH提供了日志的全文检索成效,并提供了API服务用来外部调用

贰 、音信是还是不是能够覆盖全部的顺序分支;

当年遇到了几个难点,与接口的功能和性子相关,恰巧近期公司也在公司以冒烟测试为宗旨的活动,于是乎突发奇想,寻思着能或不能够将接口测试与冒烟测试结合起来,发掘一些新的接口测试思路与方法。

由此上述方式,大家在一周的光阴里,在二个使用举办了考试,发现了30两个接口,接近2万笔报文案例,案例的得力能够高达了97%。通过每天对这个案例开始展览自动化测试,发现了一些接口效率和应用环境配置的标题。

5,对于尤其的测试案例开始展览自动退出。为了保障案例集的可用性,大家那边做了八个大致的接口退出规则,要是执行超越一遍且每一趟都退步的接口案例,会被系统活动定义为失效案例。

壹 、新闻获得的路径有哪些;

关键步骤如下:

贯彻架构拾贰分简单,正是一套开源的ELK日志采集架构,加上python开发的接口测试框架和结果总括成效,如下图所示:

原来的文章链接:http://blog.tingyun.com/web/article/detail/1340

上述措施是一个非凡简单的接口冒烟测试方法,前提是功用测试覆盖过接口案例,并且接口报文种记录在日记中。随着案例和施行结果的不停积累,接口测试覆盖会愈加充足,总括结果会越来越纯粹。假如能够从生育环境日志中取得案例,那么测试效果会更好。上述情势还有不少不成熟的地方,比如对于测试结果的应用上、在波折报文的分类和归因分析上,还相应会有更好的点子。如若周全推广实施,测试的效能,特别是测试报文提取和分析的频率还亟需越来越升级。

据说音讯内容的两样,应用程序会采纳不一样的程序逻辑分支,怎么着能够覆盖全数的分段,古板办法唯有经过白盒测试落成,不过验收测试更偏重于黑盒或灰盒测试,因而过去隔三差五因为测试案例不健全,导致某一个未覆盖分支的次第难题流入生产条件。大家当前想到的方法,是透过在系统中导入存量的接口测试案例,并由此日记中抓获的测试案例,经过一段时间的积攒,渐渐形成一个较为完好的接口测试案例库。假设能够旁路一台湾学生产环境应用服务器日志,效果会更好,毕竟生产的交易品种和气象是最完美的,当然那里还要化解生产数据脱敏等难点,对于金融行业还要面对诸多制度流程的标题。

6,对案例的施行结果实行成功率分析和错误归因分析,最后发现存在的接口难题。那里不再关切每1个测试案例重临的成功和挫败,而是针对每一类接口的成功率、失败率和不当类型实行计算,从数值和数据变化的角度去发现难点。

相关文章

网站地图xml地图