目录

  • 1、软件测试流程介绍
  • 2、SQL硬删除、软删除
  • 3、SQL创建表的方法
  • 4、SQL增删改查语法
  • 5、索引有哪些,索引的优缺点
  • 6、索引的原理
  • 7、商品价格9.9,购买2件,提交订单,付款19.78,是什么原因
  • 8、微信发红包设计测试用例
  • 9、人脸识别测试用例
  • 10、加入购物车测试用例
  • 11、添加购物车,退出重新登陆,商品不在购物车里,如何定位该bug
  • 12、http和https的区别,默认端口是什么,ssl又是指什么
  • 13、tcp和udp的区别
  • 14、get和post的区别
  • 15、输入一个URL点击回车后全过程发生了什么
  • 16、tcp/ip协议,三次握手
  • 17、接口怎么测,从安全性方面又怎么测
  • 18、jmeter的原理,测试性能主要测什么
  • 19、不同手机兼容性怎么测
  • 20、什么是冷启动和热启动
  • 推荐阅读

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)热启动:此时程序仍然驻留在内存中,只是被系统从后台带到前台,因此程序可以避免重复对象初始化,加载布局和渲染。如果程序的某些内存被系统清除,则需要重新创建这些对象以响应启动事件。

最后,下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:

上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救?

清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

面试字节跳动后,整理了这20道面试题....相关推荐

  1. 面试字节跳动后的2点总结,建议收藏!

    首先我来辟个谣: 随便打开一个招聘网站,你会发现前端工程师的岗位需求依旧庞大,大厂人才奇缺,就业薪资起点高,无行业限制. (数据来源:职友集) 前端开发的行业大环境 行业升级,如果说以前只会HTML. ...

  2. 请画图说明tcp/ip协议栈_5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南 - Android木子李老师...

    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...

  3. 面试字节跳动,死在了最后一类问题上!

    背景 本人基本情况:本硕普通985学渣,现居深圳,Android研发,目前主语言Java,某小公司工作中.去年面试字节跳动,死在了最后一类问题上,补发面经,希望能对大家有所帮助. 由于面试时间已经较为 ...

  4. java后端简历项目经历_为了面试字节跳动后端开发岗(Java)鬼知道我经历了什么.....

    字节跳动的招聘十分火热,基本上全年都是铺天盖地的宇宙条的招聘信息.但是其实录取率并不高. 无论是找后端方向还是其它方向,我相信整个面试的过程和时间节点都能对你有一定的帮助.字节跳动的面试流程基本上是我 ...

  5. 面试字节跳动,被面试官的源码问题问到怀疑人生

    面试字节跳动,被面试官的源码问题问到怀疑人生 最近,我的一位朋友在找工作,已经拿到了美团.快手等公司的Offer,准备选择其中一家入职了. 后来他又接到了字节跳动的电话,通知他去参加三面.从二面到三面 ...

  6. 2020Android大厂高频面试题(字节跳动+阿里+华为+小米等20家大厂面试真题)附面经!

    Android大厂高频面试题 1.        下列哪些语句关于内存回收的说明是正确的? ( )  A. 程序员必须创建一个线程来释放内存   B.内存回收程序负责释放无用内存    C.内存回收程 ...

  7. 二本渣渣6年开发面试字节跳动Android研发岗,被怼的有点惨...

    人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的. 我一听呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手. 人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然 ...

  8. 面试字节跳动测试岗位一般问什么测试点_字节跳动校招流程详解(附带笔试真题+面经)...

    相信大家对字节跳动不会陌生,旗下有抖音.今日头条.西瓜视频等优质产品.它于7月20日开启校招,目前已经进入了尾声阶段,想要投递的同学一定不要错过了! 点击即可跳转--字节跳动校招官网 一.招聘对象 在 ...

  9. 面试字节跳动的一点小经验

    我在 2019 年 7 月 8 日入职了字节跳动,借着这次机会想与小伙伴们分享一下字节跳动的面试经验,希望对你有用. 通过本篇文章你将了解到: 应该抱着什么样的心态去大公司 加入字节跳动前我是如何做准 ...

最新文章

  1. Java通过JDBC连接MySQL数据库
  2. 最全技术剖析:百度视觉团队获世界最大规模目标检测竞赛冠军
  3. 孤荷凌寒自学python第八十一天学习爬取图片1
  4. 127.0.0.1 php,关于php -fpm 出现127.0.0.1:9000已经被占用
  5. Web API 速率限制(一)
  6. 编辑神器Vi介绍及常用命令
  7. Microsoft Azure 简介及信息汇总
  8. 查漏补缺:2020年搞定SpringCloud面试(含答案和思维导图)
  9. 【算法笔记】B1058 选择题
  10. php server host,PHP $ _SERVER ['HTTP_HOST']与$ _SERVER
  11. Android第三十八天
  12. vue项目中报常见错误
  13. android afinal 框架 finalhttp,【Android实战】Afinal框架的使用大全案例
  14. linkedin领英账号限制被封了怎么办?
  15. 单片机毕业设计 - 选题推荐
  16. 最简单的OSPF配置实验(Cisco路由器)
  17. 【线性代数】矩阵分解(Matrix Factorization)笔记:非负矩阵分解
  18. MATLAB强化学习实战(十) 多智能体的路径跟随控制
  19. 从前端角度分析浏览器响应时间慢等情况
  20. 射击末世--装饰者模式

热门文章

  1. 在PS6中将bmp图片背景变成透明,增加alpha通道,可在unity中使用
  2. java长整型时间转日期_C#长整型时间与java长整型时间转换
  3. 【JVM】调优参数总结
  4. 第47集:如何扫除尘土飞扬的手指并保持编码状态
  5. matlab第一次启动特别慢,[转载]Matlab启动初始化很慢的解决办法
  6. C#使用PerformanceCounter获取CPU使用率时报错:无法加载计数器名称数据,因为从注册表读取的所以无效
  7. 解读人生的四种汉堡模型
  8. MySQL索引优化:哪些情况下需要建立索引(适合构建索引的几种情况)
  9. linux dstat 多 cpu,linux工具-dstat
  10. 设计模式 · SOLID原则