传输层协议:TCP、UDP

网络层:IP

网络层-传输层:TCP IP

29.Charles抓包原理

1.客户端向服务器发起HTTPS请求

2.Charles拦截客户端的请求,伪装成客户端向服务器进行请求

3.服务器向“客户端”(实际上是Charles)返回服务器的CA证书

4.Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。

5.客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称,用Charles的公钥加密,发送给“服务器”(Charles)

6.Charles拦截客户端的响应,用自己的私钥解密对称(Charles拿到了对称),然后用服务器证书公钥加密,发送给服务器。

7.服务器用自己的私钥解密对称,向“客户端”(Charles)发送响应

8.Charles拦截服务器的响应,替换成自己的证书后发送给客户端

9.至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称**,之后就可以解密或者修改加密的报文了

30.搭建过什么环境 搭建工作环境是如何搭建的

测试环境操作系统用Linux,通常测试环境包括JDK环境,Tomcat环境和MySQL环境

JDK安装:

1.安装jdk如果有自带,先卸载再装,

2.把包复制/usr/local

3.解压,

4.配置环境变量

5.检查java是否安装成功java -version

Tomcat安装:

1.安装tomcat,

2.把下载的tomcat包复制/usr/local,

3.解压,

4.在tomcat/bin目录执行startup.sh文件

5.启动服务

6.在浏览器中连接:IP:8080,

7.如果连接不上,但tomcat又是显示启动OK,检查firewall,路径为 /etc/sysconfig/iptables营销引流,将8080端口开启,

8.重启服务

Mysql数据库:

mysql安装比较简单,可以使用源码安装,也可以使用yum在线安装,在这里简单地介绍一下yum在线安装 用yum在线安装

1.rpm -qa|grep mysql –检查linux是否有存在的mysql

2.如果有mysql,卸载 rpm -e –nodeps mysql

3.安装 yum install mysql-server mysql mysql-dev -y

4.安装成功后,启动服务 service mysqld start service 服务名 restart/start

5.直接输入mysql 进入到数据库。

随着docker的发展 变成了docker+Jenkins进行的一个持续集成的部署 测试环境一般都是由运维去搭建

31.接口测试是如何做的

1.获取接口规范

2.设计接口测试功能用例(主要从用户角度触出发看接口能否实现业务需求)

3.各种入参验证(异常情况包括输入参数个数不对,类型不对 可选/必选)

4.接口返回值各种验证(符合接口文档需求)

5.发现问题 该报bug报bug 该跟踪状态的跟踪状态

32.在浏览器中输入url后发生了什么

一共分为五部 :

1.是dns解析获取ip地址

2.建立tcp链接

3.发送请求数据

4.服务器返回数据

5.浏览器进行渲染

33.接口测试检查点有哪些

1.服务器的日志

2.数据库的落库

3.服务端的业务逻辑

34.测试一个C/S 客户端时,需要考虑的因素

C/S架构:C是指客户端(Client),S是指服务端(Server),例如:聊天软件、qq、wechat等。

BS架构:是指浏览器和服务端的一种架构,例如:常用的浏览器,百度、谷歌。

只包含B:后端中的与前端交互的部分(接口文档等)

只包含S:后端中的与数据库交互的部分(进行数据库的一些操作)

1.安装/卸载

1.安装包的完整性 安装包的大小是否达到要求 显示基本信息是否正确 步骤是否明确 内容是否合理

2.首次安装

1.是否与其他已安装的软件冲突

2.各种杀毒软件(卡巴 瑞星 360)对安装程度的影响

3.安装目录的考虑(中英文字符,长度,空目录 根目录 修改目录 默认目录)

4.干净环境下能否正常完成安装

5.安装后快速启动 桌面 开始程序里面的快捷方式情况等

6.360一键智能安装是否能正常完成

7.安装的程序是否带有插件

2.1再次安装

1.在已经安装该软件的情况下 再次进行安装 表现是否正常(比如提示是否升级)

2.卸载后再次安装是否正常完成

2.2升级安装

1.在线升级时 是否能合理处理网络中断的情况 2.升级包升级时 考虑软件正在使用时是否运行进行升级 升级过程中是否正确 3.升级完成后 软件启动是否正常

3.卸载

1.卸载时是否要退出客户端(退出和不退出都要考虑),下载后的表现 不退出卸载 是否能成功 不成功 是否有相应提示等

2.是否能在控制面板里面卸载

3.是否自带卸载工具 卸载能否成功

4.借助其他工具卸载能否成功

5.卸载是否完全卸载干净 包括快捷方式 注册表信息等

4.界面及用户体验

(1)界面美观及控件样式是否符合用户的常用习惯

(2)程序所有可点击地方是否可以进行操作,菜单、按钮、超链接(文字颜色以及 是否能正常链接)、文字等

(3)还需要考虑在不同显示器上的显示,各种比例和分辨率下的显示情况

5.窗口

(1)窗口的缩放(双击的最大最小,点击按钮的最大最小,关闭)、拖动(开 多个窗口拖动)任务栏(左键单击和右键单击的操作)、托盘区、任务管理 器操作。一般客户端软件,开着窗口在桌面上移动的时候,cpu占用都比较 高,这个性能需要控制在某个合适的范围内。

(2)多窗口的操作是否合理,需要考虑窗口的模态性,比如有模态窗口的时候, 进行其他的操作,以及模态窗口的重绘等

6.提示信息

自带浏览器电脑版_自带浏览器电脑打不开_电脑自带的ie浏览器在哪里

(1)各种操作对应的正确、错误类提示信息是否正确

(2)界面文字提示是否友好、易懂、简练

(3)操作流程是否清晰,用户知道自己每步都是在做什么,即操作提示是否清晰明了

(4)有错误类信息,不要使用代码类文字,考虑到用户群体的情况,还要区分中英文(用哪个更好)

7.键盘鼠标操作

(1)快捷键操作是否正常,是否与其他软件的快捷键冲突等

(2)鼠标拖放显示是否正常,是否影响操作

(3)鼠标右键功能是否正常合理

8.具体功能

(1)是否所有可操作的功能都能按需求实现(如:登陆退出,信息传输功能,备份功 能,系统设置功能,搜索功能,界面模板更新,信息增删改功能等)

(2)对于功能块的无效操作和极端操作是否都有合理的处理(如:无效的输入字符, 超长的字符长度,脚本注入等)

(3)操作界面是否即时动态刷新

(4)如果有托盘图标,需要考虑托盘图标的显示状态,是否能显示,操作是否正常等

(5)各类控件的表现和操作是否正常,如下拉列表、日历控件等

9.文件传输功能

(1)需要考虑不传输文件、传输文件内容为空(大小为0KB,边界值考虑)、文件内容包含特 殊字符、文件名字符

(2)传输文件的格式

(3)涉及到网络传输,和端口有关系的,要考虑模拟一下端口错误,封端口的操作

(4)发送文件时,考虑本地文件,还要考虑ftp,http上的文件

(5)需要考虑磁盘空间不足的情况

(6)正在使用的文件是否是独占状态

(7)涉及到文件保存时,需要考虑文件保存的类型、名称的默认给出

(8)文件拖动类的考虑

(9)涉及到文件写入读取的,需要考虑移动设备,比如U盘、硬盘、ftp等

(10)是否超过最大容量、流量限制

10.兼容测试

(1)不同语言系统上的使用区别,在控制面板的区域和语言选项里面进行设置,管 理选项卡里更改系统区域设置。例如中文系统电脑自带的ie浏览器在哪里,英文系统,韩语系统等。

(2)不同操作系统上使用的区别(winXP,Vista,Win7,Win2000,Win2003, Win2008,32位和64位系统)

(3)同一个系统的不同系统用户操作(管理员和非管理员)

(4)需要考虑计算机休眠,待机后在启动软件的表现情况,各种杀毒软件对软件的 影响。瑞星、卡巴、360等(杀毒软件对一些文件类型、端口等有监控,需要考 虑。可能由于软件使用某些端口而被杀毒软件阻止而导致不能正常使用)

11.性能测试

(1)并发负载问题

(2)不同网络环境的信息传输性能,丢包率

(3)同等网络环境下,不同并发数场景下,信息传输性能,丢包率

(4)大数据量的测试

35.一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别

一个客户端,三百个用户

只有一个客户端,三百个用户肯定不能同时进行操作,假设每次一人操作客户端对服务器施压,服务器承受的压力小但持续时间长

三百个客户端,三百个用户

假设三百个客户端同时进行操作对服务器施压,就要求服务器带宽能够承受三百人同时在线操作,且服务器短时间内承受压力大但持续时间短

36.你对测试最大的兴趣在哪里

感觉这是一个有挑战性的工作;

测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣,

通过自己的工作电脑自带的ie浏览器在哪里,能使软件产品越来越完善,从中体会到乐趣。

原文链接:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注