面试小结汇总
1、软件测试流程介绍
第一阶段:分析需求,公司先把需求给到我们,让我们先去了解一两天,这两天我们会把一些不明确的需求点记录下来。输出:不明确的需求问题,然后会有一个需求的澄清会,我们把不理解的地方在会议上说出来,包含需求的合理性,还有可测性等。
第二阶段:会议结束后我们就开始准备测试工作,我们测试这边会写一个测试计划,分配每个人的测试任务,然后根据自己手里的任务进行测试点的提炼,然后再进行测试用例的编写。编写好之后,我们测试小组会先评审一下,然后再进行修改、补充,然后再项目组进行评审,评审完成之后再完善测试用例。输出:测试计划(内容包括:目的和范围、需求、测试方法、测试环境、测试时间与人员安排、交付件)和测试用例。
第三阶段:执行测试用例,开发会在禅道里给我们对应的测试人员下发一个测试单,然后我们测试人员就开始按照测试单上的内容进行测试工作,发现bug提交bug,到回归测试,每一轮测试结束之后我们都会输出测试报告。当达到上线标准后,测试报告会认为通过,然后就可以安排上预生产测试,预生产没问题之后就可以投入生产环境正常使用了,最后也会在生产环境验证一下。输出:测试报告(内容包括:项目和背景、用例设计、测试环境、测试工具、测试范围、用例执行情况、遗留的bug、测试结论)。
2、SQL硬删除、软删除
所谓软删除(Soft Deleting),即在删除数据表中的数据时,并不直接将其从数据表中删除,而是将其标志为删除,即在每张表中设置一个删除字段(如:IsDeleted)等,默认情况下其值为0,及未删除状态;当需要将数据删除时,则将此字段更新为1。与之对应的,将数据从数据库中彻底删除的方式称为硬删除,即(Hard Deleting)。
3、SQL创建表的方法
普通创建:
create table a1 (id int,name char(30));
复制创建:
create table new_table LIKE old_table; #复制表的所有结构
4、SQL增删改查语法
左外连接:left join
Select * from t1 left join t2 on t1.id = t2.id
右外连接:right join
Select * from t1 right join t2 on t1.id = t2.id
内连接:inner join
Select * from t1 inner join t2 on t1.id = t2.id
增加数据:
Insert into 表名称(字段。。。) values(值。。。)
修改表数据:
Update 表名 set 字段=值,字段=值,。。。where 更新条件
删除表数据:
Delete from 表名 where 删除条件
5、索引有哪些,索引的优缺点
主键索引 primark,唯一索引 unique,普通索引 index,组合索引 index,全文索引 fulltext。
提高了查询速度,但是降低了表更新的速度,更新表是不仅要保存数据,还要保存一下索引文件,建立索引会占用磁盘空间的索引文件。
6、索引的原理
不管数据表有无索引,数据缓冲区中查找所需要的数据,如果数据缓冲区中没有需要的数据时,服务器进程才去读磁盘。
无索引,直接去读表数据存放的磁盘块,读到数据缓冲区中再查找需要的数据。
有索引,先读入索引表,通过索引表直接找到所需数据的物理地址,并把数据读入数据缓冲区中。
7、商品价格9.9,购买2件,提交订单,付款19.78,是什么原因
(1)查看需求是否有优惠政策。
(2)分2步,一次购买一件看价格是否有变动。
(3)查看前端界面是否显示错误。
首先排除优惠政策,和前端界面显示错误。如果需求和界面都没问题,那么后端算法出现问题。
8、微信发红包设计测试用例
(1)功能
1)在红包钱数,和红包个数的输入框中只能输入数字
2)红包里最多和最少可以输入的钱数 200 0.01
3.1)拼手气红包最多可以发多少个红包 100
3.2)超过最大拼手气红包的个数是否有提醒
4)当红包钱数超过最大范围是不是有对应的提示
5)当发送的红包个数超过最大范围是不是有提示
6)当余额不足时,红包发送失败
7.1)在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号
7.2)是否可以输入它们的混合搭配
8)输入红包钱数是不是只能输入数字
9)红包描述里允许能有多少个字符 10个
10)红包描述,金额,红包个数框里是否支持复制粘贴操作
11)红包描述里的表情可以删除
12)发送的红包别人是否可以领取
13)发的红包自己可不可以领取
14.1)24小时内没有领取的红包是否可以退回到原来的账户
14.2)超过24小时没有领取的红包,是否还可以领取
15)用户是否可以多次抢一个红包
16)发红包的人是否还可以抢红包
17)红包的金额里的小数位数是否有限制
18)可以按返回键,取消发红包
19)断网时,无法抢红包
20)可不可以自己选择支付方式
21)余额不足时,会不会自动匹配支付方式
22)在发红包界面能否看到以前的收发红包的记录
23)红包记录里的信息与实际收发红包记录是否匹配
24)支付时可以密码支付也可以指纹支付
25)如果直接输入小数点,那么小数点之前应该有个0
26)支付成功后,退回聊天界面
27)发红包金额和收到的红包金额应该匹配
28)是否可以连续多次发红包
29)输入钱数为0,"塞钱进红包"置灰
(2)性能
1)弱网时抢红包,发红包的时间
2)不同网速时抢红包,发红包的时间
3)发红包和收红包成功后的跳转时间
4)收发红包的耗电量
5)退款到账的时间
(3)兼容
1)iOS、安卓、鸿蒙、Pad是否都可以发送红包
2)电脑端是否可以抢微信红包
(4)界面
1)发红包界面没有错别字
2)抢完红包界面没有错别字
3)发红包和收红包界面排版合理
4)发红包和收红包界面颜色搭配合理
(5)安全
1)对方微信号异地登录,是否会有提醒
2)红包被领取以后,发送红包人的金额会减少,收红包金额会增加
3)发送红包失败,余额和银行卡里的钱数不会少
4)红包发送成功,是否会收到微信支付的通知
(6)易用性
1)红包描述,可以通过语音输入
2)可以指纹支付也可以密码支付
9、人脸识别测试用例
(1)功能
1)摄像头的开关功能
2)开始识别按钮的验证
3)距离的验证
4)一次性拍摄多个人验证的结果
5)多次拍摄一个人验证的结果
6)拍摄的不是活体而是图片,结果的验证
7)拍摄人脸面积的不同的验证
8)拍摄角度不同结果的验证
9)拍摄光线不同结果的验证
10)拍摄同一个人穿衣不同的结果验证
11)抓拍与正常拍摄的结果对比
12)拍摄的不是人脸结果验证
(2)性能
1)点击识别到出现结果的响应时间
2)多个客户端同时访问
(3)易用
实现流程简单,只需要点击按钮就可以开始进行识别
(4)界面
界面是否美观
10、加入购物车测试用例
(1)功能
1)未登录时是否可以添加商品到购物车
2)是否会跳转到登录页面
3)登录成功后购物车是否增加对应商品
4)购物车添加商品是否有限
5)购物车商品信息是否正确
6)全选功能是否正确
7)已经删除购物车商品是否成功
8)删除单个商品是否有提示
9)购物车总价格是否正确
10)商品名称太长是否能完整显示
11)购物车下的商品是否有商家标识
12)是否可以收藏购物车中的商品
13)购物车结算功能是否正常
14)加入购物车的商品是否具有时效性
15)过期的商品是否还可以操作
16)添加到购物车的商品对应库存是否减少
17)删除购物车内的商品对应库存是否增加
(2)兼容性
1)不同浏览器显示排版是否美观,排版无错乱
2)不同手机端界面是否美观,显示完整
(3)性能
多个商品同时添加购物车,添加购物车的时长
(4)易用性
删除商品时是否会有提示,商品过期时是否会有类似商品推荐
(5)安全
支付时用抓包工具拦截请求修改参数,再发送支付请求看是否能成功
11、添加购物车,退出重新登陆,商品不在购物车里,如何定位该bug
一般来说购物车信息保存位置是 cookies 中或者 session 中还有数据库中,session 没同步造成的。
12、http和https的区别,默认端口是什么,ssl又是指什么
http和https都是超文本协议,浏览器发送请求基本用的都是他们,不同的是https在http的基础上增加了ssl加密协议,http默认端口号是80,https默认端口号是443,http免费https收费。
ssl是指安全套接层协议,为数据通讯提供安全支持,ssl通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。
13、tcp和udp的区别
(1)tcp面向连接而udp面向非连接
(2)tcp相对udp更可靠
(3)应用场景不同,tcp传输少量数据,udp用于大数据量传输
(4)tcp传输速度没有udp快
14、get和post的区别
(1)get请求的参数有长度限制,post没有
(2)get请求参数在url上传输,post在请求正文中传输,post比get更安全
(3)get只能接受ascall码参数,而post没有限制
(4)get参数会被保留到浏览器历史中,post不会
(5)get能被缓存,post不能被缓存
15、输入一个URL点击回车后全过程发生了什么
(1)URL解析判断URL是否合法,检查缓存,有就直接打开,没有或者过期就去获取缓存
(2)DNS域名解析:URL所表示的不是最后资源所在的位置,而是为了方便记忆对IP地址的重定向,域名解析的过程实际是将域名还原为IP地址
(3)TCP进行3次握手连接
(4)浏览器会构造一个http请求报文,浏览器向服务器发送http请求,浏览器只能发送get和post的,打开网页用的是post
(5)浏览器接受响应。浏览器接收到来自服务器的响应资源后,会对资源进行分析。首先查看 Response header,根据不同状态码做不同的事(比如上面提到的重定向)。如果响应资源进行了压缩(比如 gzip),还需要进行解压。然后,对响应资源做缓存。接下来,根据响应资源里的 MIME[3] 类型去解析响应内容(比如 HTML、Image各有不同的解析方式)
(6)渲染页面,不同浏览器内核渲染过程也不完全相同,但大致流程都差不多
16、tcp/ip协议,三次握手
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
17、接口怎么测,从安全性方面又怎么测
(1)通用信息的校验
1)url校验:正确url 错误url/
2)请求方法的校验:正确 错误
3)请求头校验:正确的请求头和错误的请求头
4)接口的鉴权校验:正确,错误,失效,不传
(2)接口参数的校验
1)参数必填项校验
2)参数的选填项校验
3)参数的长度校验
4)参数的数据类型校验
5)参数的有效范围校验 0 -1
(3)其他校验
弱网支付,敏感数据在传输过程中是否加密(前后端传输过程中是否加密,对应日志信息是否加密),sql注入,设置断点进行数据篡改,安全规则,密码复杂程度,绕过验证,绕过身份授权。
18、jmeter的原理,测试性能主要测什么
向服务器提交请求,从服务器取回请求返回的结果。
jmeter作为浏览器和web服务器的直接代理网关,浏览器请求和web服务器响应都可以被jmeter捕获,生成性能测试脚本。有了性能测试脚本,jmeter可以使用线程组来模拟真实用户对web服务器进行加压。
19、不同手机兼容性怎么测
用不同手机厂商、型号、不同手机系统、不同系统版本,可以借助真机云测平台来进行测试。
20、什么是冷启动和热启动
(1)冷启动:启动应用前,后台没有该应用的进程,一般场景:程序安装后的第一次启动;应用程序被系统完全终止后再打开;他有一个创建进程的过程和加载布局的过程。
(2)热启动:此时程序仍然驻留在内存中,只是被系统从后台带到前台,因此程序可以避免重复对象初始化,加载布局和渲染。如果程序的某些内存被系统清除,则需要重新创建这些对象以响应启动事件。
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!