网络模型

  1. OSI模型,是开放系统互连参考模型,是一套关于如何设计网络、如何连接网络、如何发送和处理网络数据规定的集合
    1. 物理层、数据链路层、网络层、传输层、会话层、标识层、应用层
  2. TCP/IP:

    1. 应用层、传输层、互联网层、网络接口层
    2. 应用层、传输层、互联网层、数据链路层、物理层

      B/S架构核心问题

      如何表示网络中的每个资源

      资源包含哪些内容

      HTML、CSS、JavaScript、图片、视频、Json、xml

      客户端浏览器和服务器之间进行交互使用什么协议

  3. http 超文本传输协议

    1. 属于应用层协议,默认端口号80
  4. https 安全的超文本传输协议

    1. 属于应用层协议,默认端口号是443

      json语法

  5. json全程 java script Object Notation指的是java Script对象表示法

  6. json采用完全独立于变成语言的文本格式来存储、标识和交换数据
    1. json是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,并且有效的提升网络传输效率

      java Script与Java的区别

      java是一种编程语言,可以做完整的软件
      javascript是脚本语言,是java的一部分,不能用于做完整的软件,常用与开发和测试中,辅助编码,实现程序中的一部分代码的编写

      json语法规则

      使用{}大括号保存对象
      数据以键值对 行驶标识
      数据之间有英文逗号分隔
      []中括号保存数组 ```python { “name”:”网站”, “num”:3, “sites”:[“tedu”,”百度”,”淘宝”]

}

  1. <a name="kRFqX"></a>
  2. ### 数据值类型
  3. - 字符串
  4. - 数字
  5. - 逻辑值
  6. - 空值
  7. - 对象
  8. - 数组
  9. <a name="loLb2"></a>
  10. ### json与python字典区别
  11. - json与字典类似,都是key-value行驶,json与字典可以通过函数进行互转
  12. - json是一种数据格式,是字符串
  13. - 字典是一种数据结构
  14. - json的key只能是字符串,字典可以是任意对象
  15. - json的key是有序的、重复的
  16. - 字典的key是不可以重复的
  17. - json的值只能是字符串、浮点数、布尔值或null、或是数组或对象
  18. - json任意键存在默认值,字典没有默认值
  19. - json的字符串强制双引号,字典字符串可以单引号、可以双引号
  20. - 字典可以嵌套元祖,json里只有数组
  21. - json:true、false、null
  22. - 字典:True False None
  23. <a name="cBMD4"></a>
  24. ### jsonpath
  25. - 可以对json数据结构进行内容提取
  26. - 对象使用$标识,而且无需区分是对象还是数组
  27. - 表达式可以使用 . 也可以使用[]
  28. ```python
  29. {
  30. "a":14,
  31. "b":{
  32. "c":15
  33. }
  34. }
  35. # 提取a的值
  36. JSON.parse(responseBody).a
  37. JSON.parse(responseBody).["a"]
  38. # 或
  39. $.a
  40. $['a']
  41. # 提取c的值
  42. JSON.parse(responseBody).b.c
  43. JSON.parse(responseBody).["b"]["c"]
  44. # 或
  45. $.b.c
  46. $["b"]["c"]

金字塔模型

image.png

  • 最高层是基于ui界面的功能测试:少做,不能不做,系统和验收阶段
  • 中间层是服务层,进行接口测试:继承阶段
  • 单元层,单元测试,主要进行白盒测试:单元阶段、

    测试金字塔模型的理念

  • 越底层,越稳定

    • 认为单元测试的稳定性高,需要多投入
  • 越底层、越高效
    • 程序问题,最终还得落在具体的代码上,所以底层测试更容易发现问题
  • 越底层、越低成本
    • 越底层测试越能尽早的发现问题,修复的成本就越低
  • 越底层、越难实施
    • 越底层实现的对技术专业性要求高

      测试的分层

      黑盒测试

      通过检查每个功能是否能正常使用
      手工测试、功能测试

      灰盒测试

      介于白盒测试与黑盒测试之间的一种测试
      灰盒测试更多用于集成测试阶段
      接口测试

      白盒测试

      结构测试、透明盒测试、逻辑驱动测试、基于代码的测试
      单元测试阶段
      开发自测