总结-6

 2023.10.20
 要求:
 1.负责对公司的iOS、Android应用进行测试和公司产品app与硬件交互测试;
 2.python的selenium,request等第三方函数库;
 3.熟悉HTTP协议/RESTful规范/JSON/XML/正则表达式 / TCP-IP协议;
     a.HTTP协议:(HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型)
             Web系统的基础就是HTTP协议,HTTP协议是一个应用层协议,也就是TCP传输层的上一层协议,
             HTTP的 URL是由 http:// 起始与默认使用端口 80,而 HTTPS的 URL则是由 https:// 起始与默认使用端口443。
        1.HTTP协议特征:
         (1)支持客户/服务器模式。

         (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径,
             请求方法常用的有GET、POST、HEAD、PUT、DELETE等。每种方法规定了客户与服务器联系的类型不同,
             由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

        (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
         
        (4)无连接: (注意:HTTP1.1版本后支持可持续连接)
             无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
             采用这种方式可以节省传输时间。可以设置Connecction:keep-alive 保存TCP连接。后面如果还要用到这个连接不会每次都新建连接
         
        (5)无状态:
             HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
             缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量増大。
             
        (6)安全性:
             明文传输,HTTP协议不支持加密处理,所以在安全性方面是一大硬伤,
             目前解决这一安全问题的方法是使用Https协议(基于HTTP+SSL/TLS协议)的一种安全传输方案
             
        2.HTTP消息结构:
             (1)request请求
                 请求行,请求头,空行,请求正文
             (2)response响应
                 状态行,响应头,空行,响应正文
        3.补充:
          既然我们有postman、jmeter、apifox等工具都可以实现接口测试,
          为什么我们还要封装框架或者是开发测试平台?工具的弊端如下:
             (1)敏捷开发接口数量巨大,如何实现团队合作和版本控制(如果是联网协助,安全问题?)
             (2)功能太死板,有些接口功能难以实现(比如:自定义加密、RSA加密、签名等)
             (3)当接口项目当中出现了多种协议的接口
             (4)没有办法生成美观的测试报告以及日志监控的实现
             (5)框架或平台可以自动以功能并推广到所有的项目中复用
             
        4.URL:
             统一资源定位符是互联网上标准资源地址。互联网上的每一个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它
             URL 的一般语法格式为:
                 protocol://host[:port]/path/[?query]#fragment
                 http://www.itcast.cn/index.html?name=andy&age=18#link
                 
                     protocol   通信协议,常用:http、https 等
                     host       主机(域名)
                     port       端口号,可选,省略时候使用方案的默认端口,如:http的默认端口为80
                     path       路径,由零或多个 ‘/’ 符号隔开的字符串,一般用来表示主机上的一个目录或文件地址
                     query      参数,以键值对的形式通过 & 来连接
                     fragment   片段,# 后面内容常见于链接 锚点
                 
        5.什么是数据驱动?
             数据驱动就是通过excel,yaml或者xml,数据库等数据结构来维护测试数据,
             通过相应的技术去处理,拿到测试数据用于测试,从而实现测试数据与代码的解耦,数据驱动测试的本质是高级的参数化       
        6.excel中的数据怎么拿出来?
             通过第三方库openpyxl来完成,项目只需要引入openpyxl库,通过它提供的api即可完成对于excel的操作,
             甚至于我们自己也可以做一些二次封装,使得操作更方便。一行数据就是一个用例。
        7.类和对象有什么区别?
             类(Class)被视为对象的蓝图。类中的第一行字符串称为doc字符串,包含该类的简短描述。
             在Python中,使用class关键字可以创建了一个类。一个类包含变量和成员组合,称为类成员。
             对象(Object)是真实存在的实体。在Python中为类创建一个对象,我们可以使用obj = CLASS_NAME()
             例如:obj = num()
             使用类的对象,我们可以访问类的所有成员,并对其进行操作。
             
    b.RESTful规范:目前最流行的API设计规范
             Rest设计原则:后端实现的接口怎么才能算是一个rest风格的接口呢,需要满足以下风格
             每一个URI代表一种资源,这个很好理解,就是一个URI只代表一种类型的资源
        1.RESTful规范需要遵守三个规则,分别如下:
             每个URL请求路径代表服务器上唯一的资源
             使用不同的请求方式表示不同的操作
             接口响应的资源表现形式采用json

你可能感兴趣的:(总结-6)