用户多租户的测试用例怎么写?
一、用户多租户的测试用例
1.功能用例设计
用户多租户的接口与客户端的功能是对应的,那么这个接口是否能提供给客户端某个特定功能所需要的数据自然是我们需要验证的地方,功能性用例的主要目的是帮助我们验证该接口最初设计的功能是否被实现以及该功能是否按照规定的接口文档进行实现等等。
2.业务逻辑用例设计
业务逻辑方面的测试用例主要是针对用户多租户接口的处理逻辑进行的用例设计,这种用例设计不是针对某个功能点是否实现,而是对接口的处理逻辑以及一些相互依赖的业务进行验证,通常依照接口的逻辑流程图来进行。举一个例子,购物系统中的两个动作:登录和下单操作,这两个业务是相互依赖的,下单操作必须在登录完成后(登录状态下),否则无法完成下单,这个时候我们就可以设计这样一条case:没有登录的状态下进行下单操作,看用户多租户如何处理。
3.异常处理的情况
用户多租户接口和客户端之间通常是通过HTTP请求来传递数据,在发送请求的时候,客户端会携带各种不同的参数,此时用户多租户会根据不同的参数进行不同的处理,所以异常处理主要是针对请求中的参数情况:比如参数增加和缺省、参数的数据类型错误,参数携带错误的值、参数为空等等,这需要我们根据接口文档中各种不同的参数去构造不同的参数异常,检查用户多租户的响应情况。
4.性能和安全性方面
服务器的性能往往是个非常重要的关注点,在实际的测试中我们主要关注的是接口的QPS数值,以及CPU和内存占用等性能指标,通常借助于其他工具比如LoadRunner进行性能测试。安全性方面,主要考虑一些常见的安全策略比如请求加密、sql注入等等。
延伸阅读:
二、接口测试常用工具
说到接口测试,最常见的一种测试方式就是检查服务端返回的数据正确性了。实际项目中,服务端在收到客户端的请求之后,对请求进行处理并将处理的结果返回给客户端,这种结果比较常见的是Json、XML等数据格式,所以测试的时候一个主要工作就是检查这些数据的正确性。比如,服务端以Json的格式返回客户端需要的数据,那么在测试中我们就需要关注返回的Json中是否包含我们期望的字段、字段的内容是否正确等等。这个时候自动化脚本就显得非常重要了。
在测试过程中发现好多接口都是以Json格式返回数据的,在实际执行中,我们用到了Python的一个开源框架Requests,该框架保留了所有urllib2的优点,比起urllib2更加简洁明了,更像是纯粹的“Python”,该框架在平时接口测试中几乎所有的自动化脚本中都在使用,关于该框架,小编之前在一次公开课中做过一次分享,有兴趣的话大家可以关注搜狗测试粉丝群(459645679)进行查看哦。
还有一些工具在实际的操作中用的比较多,比如Postman。Postman是谷歌Chrome的一个插件,使用起来非常简单,可以支持我们以get/post等各种方式发送请求,当然也可以自己构造请求,服务器返回的数据会全部展示出来,便于检查,这和Fiddler比较相似。此外Postman还支持用户自行构造环境,设置检查点等,不考虑时间的情况下基本能满足接口数据验证的需求。关于Postman的安装和使用教程,网上资源比较多,此处就不再赘述了。

猜你喜欢LIKE
相关推荐HOT
更多>>
python函数中使用for循环
python函数中使用for循环1、在for循环中使用函数需要更长的执行时间,因为每次迭代都会调用该函数。2、如果for循环是在函数内部实现的,那么该...详情>>
2023-11-14 13:53:34
python3.1版本的特性有哪些
python3.1中的特性有哪些1、千位数格式化,可以在使用字符串格式化函数时直接完成。在格式化大数时,通常是每三位数放置逗号,使数字更易读(例...详情>>
2023-11-14 13:18:27
python__new__()和__init__()有什么区别?
在python中,__new__()不是一定要有,只有继承自object的类才有,该方法可以return父类(通过super(当前类名,cls).__new__())出来的实例,或者直...详情>>
2023-11-14 12:38:55
pythonwheel是什么
python的第一个主流打包格式是.egg文件,现在大家庭中又有了一个叫做Wheel(*.whl)的新成员。wheel“被设计成包含PEP376兼容安装(一种非常接近于...详情>>
2023-11-14 11:30:39热门推荐
pythonSymPy求极值
沸python归并排序和快速排序比较
热pythonpartition如何分割字符串
热pythonif-elif-else语句的使用注意
新python函数中使用for循环
python3.1版本的特性有哪些
python__new__()和__init__()有什么区别?
python作为小白该如何抉择python编辑器?
pythonwheel是什么
python如何定义一个函数
pythonpython是什么类型的语言
python怎么传参数
pythonshell是什么
python如何查看对象属性
技术干货






