地址: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通讯过程
参考这篇文章:《HTTPS的通信过程》