从功能测试到接口测试,原来的技能可以通用
一、什么是接口业务安全测试
业务安全测试是根据业务需求,针对业务安全规则展开的系统功能测试。业务安全测试作为该系统功能测试的重要组成部分,在接口测试过程中同样适用。区别于系统漏洞扫描、SQL注入防范等技术安全测试,针对接口展开的业务安全测试更加关注程序逻辑本身对于保障业务规则安全所进行的检查、校验、控制等功能方面的测试,例如银行业务中针对客户信息有效性、账户信息一致性的检查等等。
二、为什么要做接口业务安全测试
顾名思义,业务安全测试的目的自然是为了防范业务风险,提高接口的业务安全性。之所以针对接口测试再次强调业务安全测试,就不得不提到一个众所周知的零信任原则。
所谓零信任原则就是后端系统对于前端提供的请求报文保持不信任。简单讲就是作为后台服务方,时刻保持一种总有前台想要害朕的迫害妄想症,认为前端送过来的报文都是不靠谱的。
当然并不是说前端的系统真的不靠谱,很多系统前台都针对业务规则展开了细致的检查、控制,这也是我们在进行系统功能测试过程中最常设计的测试场景。那么我们为什么还要在接口测试中针对业务安全再展开一次测试呢?那是因为前后端系统调用过程中,特别是对客服务系统前后端交互过程中涉及报文拼装、传输等环节,很可能被别有用心的坏人利用,对报文进行篡改,从而产生业务风险。在一些交易场景中后端系统又很难辨别接收到的报文是否被篡改,因此需要对输入信息进行必要的检查校验,以提高业务安全性当然可以通过各种技术手段对报文进行防篡改控制,这是技术安全层面的内容,这里不再展开。
在业务安全测试过程中,我们经常提到的就是越权访问。
举个例子,一个用户登录系统之后查询自己的账户信息,这是一个正常流程。如果这个过程中,用户通过篡改报文将自己的账号更换为其他人的账号,从而获得了其他人的账户信息,这就是越权访问中的水平越权。即用户利用系统缺陷访问了其他相同权限用户的私有数据。
与之相伴的还有垂直越权,即用户通过身份冒充等方法获取了诸如管理员权限等高于自身级别访问能力得越权。
三、怎么做接口业务安全测试
1。需求分析
既然是业务安全测试,业务需求分析是必不可少的。同系统功能测试一样,针对接口的业务安全测试也要我们根据业务需求提炼业务规则、梳理权限要求、设计测试场景。但由于接口的抽象性,我们还需要另一个十分重要的资料来帮助我们设计测试案例,那就是接口设计文档。
接口设计文档,一般应包括以下几部分内容:
接口功能简介
对接口基本功能的简单介绍。
输入输出参数说明
这部分内容包括了接口参数的字段类型、长度、取值范围等信息,是我们使用边界值等方法设计案例的重要信息来源。
同时还有一个接口设计原则需要我们重点关注,即最小必需原则。这里的最小必需原则可以从两方面去理解。一方面,就接口的输入来说,就是尽量少的从前端特别是依靠用户录入的方法获取输入信息。这一点是同前面提到的零信任迫害妄想症一脉相承的录入的东西不靠谱,能通过后端系统从数据库里获取的就不要前台录入。另一方面,接口的输出在满足需求的情况下尽量减少冗余信息,从而避免不必要的信息暴露。是否满足最小必需原则也是我们在进行接口业务安全测试的时候需要关注的。
接口功能规则描述
这里应该描述了接口的主要功能、业务规则等,是我们设计场景案例的重点参考。
错误信息描述
在进行接口业务安全测试时,为验证各种业务规则和权限控制,反向案例会占据很大比例。因此报错信息的描述是我们应该十分关注并需要在测试过程中同开发持续交流的内容。毕竟我们怎么知道案例预期结果里我们想要的报错信息就是我们想要的呢?哈哈。
2。案例设计
总结上面的描述,接口业务安全测试案例的设计可以从以下几方面着手:
验证正向功能是否符合预期。
边界值、等价类等方法对于接口参数的边界值、异常值进行测试,验证接口的容错能力。
根据业务规则设计相应的反向案例,检查接口是否具备对应有效的控制逻辑。
设计越权案例,检查身份校验、权限控制相关检查是否完备。
3。测试工具
针对接口测试,当下有Postman、Jmeter、Selenium等一众报文及自动化测试工具可供选择,可以根据需要和习惯选取。
四、谁来做接口业务安全测试
接口业务安全测试应该由谁来执行呢?让我们从两个方面来看这个问题:
接口消费方vs接口服务方
作为调用接口的消费方,应该对接口提出明确的功能需求,就像业务人员向开发人员提出系统功能需求一样。因此消费方在测试过程中更关注接口功能是否满足需要。
作为提供接口的服务方,提供的接口不光要满足服务方的功能需求,还应在输入合法性、业务规则、权限控制、身份认证等方面进行相应校验,提高接口的业务安全性。
因此从系统层面来看,接口业务安全测试应该是由服务方来完成的。
测试vs开发
在一个项目流程中,提到接口测试,往往联想到模块逻辑层面的调度调试,想到单元测试,是开发者的工作。然而,我们这里谈到的接口业务安全测试,是站在业务规则的视角针对接口展开的功能测试。接口业务安全测试同单元测试的区别就如同系统功能测试和集成测试的区别一样,测试和开发的关注点是不同的。因此接口业务安全测试和接口单元测试是不能相互替代的。
另一方面,为提高接口业务安全质量,在接口设计上也需要开发多动些脑筋。比如接口的最小必需原则,就应该在接口设计阶段予以考虑,并同测试保持沟通。如果等到交付测试才思考这个问题,往往木已成舟,修改难度较大了。
当前,随着软件系统架构、技术的不断升级优化,对于系统测试环节的要求也越来越高,系统功能测试、系统性能测试、技术安全测试、业务安全测试、接口测试等等划分愈发精细,不断考验着我们测试人员的能力与智慧。文末福利推荐一个《Python自动化测试学习交流群》给大家:
请关注私信回复:头条就可以免费拿到软件测试学习资料,同时进入群学习交流
摇起来某宝特价版(简称某特)最近推出了一个摇现金活动。刚开始我以为这是走拼夕夕的老套路,但是抱着一分也是爱的心思就试了一下,结果出乎意料之外的收获满满。活动内容很简单,设置了一……
杨丽菁的电影及电视剧(73部电影22部电视剧)你看过杨丽菁的电影及电视剧吗?杨丽菁演技非常的棒,印象深刻的就是《中原镖局》中赵家三小姐,那个年代的男女主角是真心的美,演技也是极好的。下面给大家整理了杨丽菁的电影及电视剧合集……
仙剑奇侠传1确定翻拍仙剑奇侠传1翻拍男女主角是谁网曝仙剑奇侠传1确定翻拍的消息上热搜引起巨大的热议和讨论!不得不说娱乐圈第一翻拍大剧要来了!据悉,胡歌、刘亦菲主演的《仙剑奇侠传1》确定翻拍,并且已经开始挑选角色了。1仙……
既坚固又强硬利用细菌可制造汽车材料如果有人告诉你,细菌并不可怕,甚至还能制造出坚固、耐受和有弹性的工程材料,你会怎么想?这并非一种幻想,而是南加州大学维特比工程学院(USCViterbiSchoolOfEngi……
温客行和周子舒小时候认识吗温客行和周子舒什么关系看过《山河令》的小伙伴应该对温客行和周子舒都很熟悉,那么有就很多网友很好奇,温客行和周子舒小时候认识吗还是长大才相识的,下面就和小编一起来看看吧。1温客行和周子舒小时候认……
青簪行番位之争到底是怎么回事真相了原来是这样!近日,电视剧《青簪行》正式官宣表示男女主角是吴亦凡和杨紫,本来是件官宣电视剧的事,但是之后的番位之争让人不能理解,到底是怎么回事呢?真相原来是这样的!一起来看一下具体的详情。……
玉蒲团系列电影古装剧情片中的经典玉蒲团系列电影:古装剧情片中的经典古代剧情片中玉蒲团相信听过最最多的可能就是了,玉蒲团一个系列有很多部情爱三级片电影,且都是古装,符合各种喜欢看古代三级片的喜好。玉……
红魔手表首发评测半月一充的潮男新装备随着红魔手机6的发布,各家手机厂商纷纷推出自家的智能手表,连红魔也不例外,在发布会之后也是让用户在智能手表里面多了一个上上之选,今天给大家带来的体验就是刚刚发布的红魔手表。……
财富世界500强榜单出炉,9家中国车企榜上有名8月2日,《财富》世界500强排行榜发布,今年世界500强排行榜企业的营业收入约为31。7万亿美元,比去年下降5,净利润总和为1。6万亿美元,同比大幅下降20,是2009年以来……
清洁低碳,共享未来2021新能源汽车产业链展将于11月开幕指导单位:中国南方电网有限责任公司2021第三届广州国际新能源汽车产业生态链展览会(简称:EVE)将于2021年11月19日至22日在中国进出口商品交易会展馆举办。第三届……
双汇系内斗终局可有赢家?独立稀缺穿透挑战序幕刚刚拉开。作者:于照野编辑:科科风品:司廷来源:铑财铑财研究院最是无情帝王家。历史上,因权力导致父子反目的案例不胜枚举。……
9。17r日BTC火币全球站数据显示,BTC短线上涨,突破48000美元关口,现报48109。16美元,日内跌幅达到0。02,行情波动较大,但是整体还是处于一个慢涨形态,昨日回踩MA5止跌,这个……