天天看点

面试题(六)

地址:​​https://www.nowcoder.com/subject/index/5df01449f0884aa88e055c286c43ed79​​

黑白盒测试的区别

参考这篇文章:《白盒测试和黑盒测试的区别》

给了一个邮箱让设计测试用例

思路可以参考这篇文章:​​《别小看QQ邮箱测试,80%的测试新手都不能写出完整的测试用例~》​​

测试流程

可以结合自己公司的说

pytest/unitest 区别

参考这篇文章:《Python测试框架之unittest和pytest 的区别》

关注点 unittest pytest
定义 Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架 Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试
用例编写规则

1)测试文件必须先import unittest

2)测试类必须继承unittest.TestCase

3)测试方法必须以“test_”开头

4)测试类必须要有unittest.main()方法

1)测试文件名必须以“test_”开头或者"_test"结尾(如:test_ab.py)

2)测试方法必须以“test_”开头

3)测试类命名以"Test"开头

用例分类执行 默认执行全部用例,也可以通过加载testsuite,执行部分用例 可以通过@pytest.mark来标记类和方法,pytest.main加入参数("-m")可以只运行标记的类和方法
用例前置和后置 提供了setUp/tearDown,只能针对所有用例 pytest中的fixture显然更加灵活。可以任意自定义方法函数,只要加上@pytest.fixture()这个装饰器,那么被装饰的方法就可以被使用
参数化 需依赖ddt库 使用@pytest.mark.parametrize装饰器
断言 很多断言格式(assertEqual、assertIn、assertTrue、assertFalse) 只有assert一个表达式,用起来比较方便
报告 使用HTMLTestRunnerNew库 有pytest-HTML、allure插件
失败重跑 无此功能 pytest支持用例执行失败重跑,pytest-rerunfailures插件

OSI的七层架构

参考文章:《OSI 七层网络结构》

七层是指OSI七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)

OSI 模型 主要协议 单位 TCP/IP
应用层 Telnet、FTP、HTTP、SNMP等 数据流 应用层
表示层 CSS GIF HTML JSON XML GIF 数据流 应用层
会话层 FTP SSH TLS HTTP(S) SQL 数据流 应用层
传输层 TCP UDP 数据段 传输层
网络层 IP(IPV4、IPV6) ICMP 数据包 网际层
数据链路层 802.2、802.3ATM、HDLC 网络接口层
物理层 V.35、EIA/TIA-232 比特流 网络接口层

TCP和UDP在哪一层

根据上述的答案,在传输层

http和https区别

免费: https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用

安全:http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议

端口:http使用80端口,https使用443

https通讯过程