一.功能测试用例的设计
举例:
(一).我想要回家,让你给我买一张票,然后设计测试用例
答案:
1.确定需求(回家回哪,需要什么票,买什么时候的票)
2.开始测试
2.1功能测试(我去买票(买火车票,飞机票),买到票(什么时候),回来给你)
2.2可靠性测试(我去买票过程中被撞死了,票买不到怎么办,延期了,买那个点的票没了怎么办让我帮他买票的人的身份,比如是否有特殊优待,如军人,1米2以下儿童等,身份证丢了,或者票丢了,责任划分)
2.3可维护性测试(票是否可保存完好)
2.4兼容性(还不同人的去买,我中间招人去买,我坐车走路)
2.5算法测试(我通过不同的渠道买票花费的时间)
2.6竞品测试(别的人怎么买的票)
2.7安全性测试(身份信息保密)
2.8性能测试(一个身份证买多张票,同时多张身份证买多张票)
二.工作测试流程:
(一).功能测试流程
1.需求评审(重点,你发挥的作用是什么,需求可执行性,关联影响的功能模块,异常情况处理)
2.评估测试时间(测试计划)
3.测试用例设计(正交,边界值,等价类。。)
4.用例review(领导,开发,产品)
5.提测(确认开发进行过自测,功能主流程畅通,然后开始介入测试)(产品开发测试一块走流程)
6.codediff(代码改动点,从根源发现开发的问题,代码中明显测试代码(return,写死值),
公共静态变量在发生高并发时容易出问题,所以不能让这个变量的值去内存里面取)
7.执行用例
8.提bug(jira)
9.回归测试
10.确认测试(准生产环境确认)(分情况)
11.发布(线上回归))
12.BUG review(总结问题)
注意点:
发布测试来控制,测试环境部署测试来控制
发布过程中,开发运维做监控。(分批发布)
三.app专项测试:
1.CPU,内存,流量,电量,弱网,兼容性,FPS,中断,安装,稳定性
怎么自动化实现,写一些自动化框架方法封装起来,重复的使用
2.冷热启动的区别
冷启动:在个人电脑中,冷启动是切断电源后重新启动。App类似,就是完全退出(不在后台运行)后重启启动。
热启动:非冷启动情况都可以称为热启动。热启动比冷启动多了一个触发点,那就是在后台启动App,比如双击苹果的HOME键,进行App的热启动。同时热启动通常会有一个计时器,特别是一些理财和银行的类的App会做此处理,当你间隔一段时间触发了热启动后,会让你再次登录(通过密码/手势/指纹)。也有比如网易新闻客户端这样的,当你间隔一段时间后触发热启动,会弹出广告页。
四.工具使用:
postman:接口,功能测试,可以做参数化
httprequester:接口,功能测试
jemter:接口功能性能工具
lr:接口功能性能
fiddler:抓包,设置代理,设置断点,mock数据
charles:抓包,设置代理,设置断点,mock数据
robot:功能自动化
uft(qtp):功能自动化
docker:容器
monkey:性能稳定性(app)
jenkins:自动持续集成
git,svn:代码管理
xmind/visio:脑图
soapUI:接口功能测试(HTTP,WEBSERVICE协议)
xshell/SecureCRT/putty:
slor:关键字分词
slor:我测试:我 测试分别去数据库搜索结果
nginx(反向代理)
tomcat(动态网页发布)
五.基础概念:
什么是性能测试
HTTP协议(哪些方法,什么区别(GET\POST),怎么组成,状态码)
TCP三次握手四次离手
线程,进程区别联系
内存泄露,内存溢出
死锁
六.自动化测试:
自动化测试脚本的应用场景:
1.重复性较多的,写脚本能省时间,节省效率,
接口重复回归,功能重复回归
2.手动做不了的测试
上万数据的准确性校验,脚本跑,错误数据筛选出来
数据更新机制的调整,全量变成增量更新()
自动化框架的搭建:
接口自动化框架
1.结构(1.框架思想(数据,关键字,行为,事件,混合)
2.读取用例的模块(excel,txt,mysql,xml)
3.发请求的模块(requests封装)
4.断言模块(re,遍历断言)
5.日志模块
6.测试报告生成模块
7.发邮件模块
8.配置文件)
2.怎么设计测试用例,注意哪些点()
3.怎么断言
功能自动化框架
1.和接口自动化类似
2.对页面各个控件的api封装(哪些封装,下拉框,选择框,对隐形控件怎么处理)
3.不同环境处理
4.xpath定位方法()
5.js定位方法()
平台工具:
1.接口自动化集成到平台上;
2.平台做测试环境,线上环境的监控
3.做公用统计线上badcase的统计
七.算法:
(会多门语言(前端了解。java熟练,python熟练))
排序算法:
冒泡
快排
查找算法:
二分查找,
队列,堆,栈实现:
八.linux:
常用命令背下来,熟悉,知道怎么用
ls -alih()
看日志(cat,head,tail,more)
grep|wc -l
九.数据库:
关系型数据库:
mangodb
mysql(sql,慢查询,配置)
oracal
GP数据库
非关系型数据库:
redis
十.服务架构:
服务分布式架构(超融合):概念实现理解
十一.网络
IP
网关
路由
根据子网掩码算网关
NAT
VPN
交换机配置
十二.典型例题
(一).Web页面出现空白页怎么定位问题
1.抓包(抓包)
2.看服务日志
3.看你当前url 用接口实际访问模拟下请求
4.mock数据,给请求,确认是那部分问题
(二).Web页面响应过慢怎么定位问题
从一个浏览器输入url到形成页面经历了什么
(三).你所测试的系统架构
---------------------
一、Linux相关
1. grep与find的区别?
grep是查找匹配条件的行,find是搜索匹配条件的文件。grep的全称是global regular expression print 全局正则表达式版本,能够使用正则表达式查找匹配条件的行。
2. 查看IP?
ifconfig
3. 说一下awk?
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。下面介绍的awk是以GUN的gawk为例的,在linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。
4. 正则表达式
5.杀死某一端口号的进程的方法?
(1)netstat -nlp 查看占用端口号的服务
(2)找到该端口号的进程
(3)找到该进程id
(4)kill它
https://zhidao.baidu.com/question/748566541881044772.html</p>
7. 查看当前目录指令?
pwd
8. 查看进程指令,讲一下该指令的参数和作用
ps
更详细的: https://blog.csdn.net/qq_16209077/article/details/52781874</p>
9. 查找某个文件后100行中子串word出现的行
10. Linux中的grep和awk作用?
grep 主要用于搜索某些字符串,以行为单位
sed,awk 用于处理文本 ,可对行细分,处理文本
grep基本是以行为单位处理文本的; 而awk可以做更细分的处理,通过指定分隔符将一行(一条记录)划分为多个字段,以字段为单位处理文本。awk中支持C语法,可以有分支条件判断、循环语句等,相当于一个小型编程语言。
更详细的:https://blog.csdn.net/jjrfjyfjyfjdfjrujdjd/article/details/41792841<br> 11. Linux中怎么选出文件中符合要求的某一列?
12. linux查看进程状态的命令?
ps
更详细的:https://blog.csdn.net/qq_16209077/article/details/52781874</p>
13. Linux更改文件权限的命令
chmod
14. Linux怎么求某个成绩文件中某一列的平均值?
15. 有没有使用过linux系统?请列举你常用的命令。
16. linux系统下,机器间传送文件有哪些方式?
https://blog.csdn.net/gatieme/article/details/51673229</p>
二、数据库相关
1. 如何删除表结构中的某一列?
ALTER
2. index的作用
3. having和where的区别
4. 说一下ACID特性
5. 写一个SQL语句,左连接和右连接
6. SQL中的通配符是什么?
7.SQL中的GROUP BY有什么用?
8. SQL中的SELECT FROMWHERE是做什么的?
三、计算机网络相关
1. TCP和UDP的区别,各自用在什么场合?
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
一个是可靠传输,一个是不可靠传输.可靠传输需要的开销大,因为要有确认回复.而UDP则是不需要回复确认的.像我们浏览网页,迅雷下载等等用的就是TCP协议,玩网游,看在线视频一般都是用UDP协议.然而随着现在应用程序的不断完善,渐渐弥补了UDP的不可靠性
2. 用URL登录网站时需要哪些协议?http://www.cnblogs.com/dengzz/p/5544122.html</p>
3. 浏览器中输入一个URL的响应过程 (回车,返回一个页面的过程) 中涉及到哪些操作?
http://www.cnblogs.com/dengzz/p/5544122.html</p>
4. Http1.0和Http1.1的区别,Http和Https,SSL协议
https://www.cnblogs.com/gofighting/p/5421890.html</p>
5. HTTP常用的方法有哪些?POST和GET区别?
常用方法 http://www.runoob.com/http/http-methods.html</p>
区别 https://blog.csdn.net/q179886903/article/details/52741327</p>
6. 了解SYN包吗?讲一下具体应用(讲了TCP三次握手过程,主动讲了TCP超时计时器可以保证可靠传输,又问了 TCP还有什么保证可靠传输的机制,握手 拥塞控制)
7.socket编程过程(服务器 客户端,结合三次握手讲了一下)
8.TCP客户端和服务器端的API函数?
9.有A、B两个服务器节点,A发一个文件给B,但B没有收到,请发散你的思维,说出可能是由哪些情况造成的。
10.TCP/UDP/http的区别。
https://www.cnblogs.com/gaopeng527/p/5255827.html</p>
四、多线程相关
1. 进程和线程的区别?线程是怎么划分的?
https://blog.csdn.net/qq_32575047/article/details/80148379</p>
2.进程的空间分为哪些部分?
https://www.nowcoder.com/questionTerminal/3147a7b0cd174879bed8d555081376a2</p>
3. 什么是死锁?
https://blog.csdn.net/joejames/article/details/37960873</p>
五、数据结构与算法相关
1. 实现链表的逆序(反转),解释思路,写代码
注意:考察有两点,一个是对实现思路的考察,一个是对特殊输入的考察,严谨性
2. 如何判断一个链表是环形链表,解释思路,写代码
3. 给定二叉树的先序遍历及中序遍历,请写出中这颗二叉树的后序遍历结果,并解释思路
4. 链表的增删改查
5. 手写快速排序算法,并设计测试用例
6. 字符串反转
7. 二叉树反序列化
8. 二叉树的中序遍历,递归实现和非递归实现
根据中序遍历的顺序,对于任一结点,优先访问其左孩子,而左孩子结点又可以看做一根结点,然后继续访问其左孩子结点,直到遇到左孩子结点为空的结点才进行访问,然后按相同的规则访问其右子树。因此其处理过程如下:(1)若其左孩子不为空,则将P入栈并将P的左孩子置为当前的P,然后对当前结点P再进行相同的处理;(2)若其左孩子为空,则取栈顶元素并进行出栈操作,访问该栈顶结点,然后将当前的P置为栈顶结点的右孩子;(3)直到P为NULL并且栈为空则遍历结束
9. strcpy函数,编写测试用例
https://zhidao.baidu.com/question/1769577048176015260.html</p>
10. 找出三位数中各个位的平方和等于原来数大小的数字,编写测试用例
11. 找出一个数组中和为m的所有可能组合?
12. 洗牌,如何保证每张牌经过洗牌后,不在现在的位置上
13. 给出两个API getChilds()、getFather()求多叉树第n层节点数?
14. 写双向链表插入删除?
15. 二叉树怎么分层遍历每一层节点?
16.统计一个文件中每个单词的出现次数
https://blog.csdn.net/lqadam/article/details/52689545</p>
六、编程语言相关
1.值传递和引用传递的区别?
2. static的作用和使用方法?
3. HashMap和Hashtable的区别?以及ConCurrentHashMap,区别原理?
4. 抽象类和接口的区别?
5. 多线程的实现方式?Volatile和ThreadLocal的理解及其作用?
6. JAVA异常处理机制
7. 多态怎么体现的
8. map是怎么实现的?
https://segmentfault.com/a/1190000011351123</p>
9. map与hash_map的区别?
https://zhidao.baidu.com/question/1899979592235797100.html</p>
七、测试开发相关
1. 你了解哪些常用的测试方法?
https://www.douban.com/note/619888861/</p>
2. 为什么做测试开发,谈谈你对测试开发的理解
https://www.zhihu.com/question/20269633</p>
3. 设计一个测试计划,包括测试进度和所需要人员
https://jingyan.baidu.com/article/219f4bf7e4a5f3de442d38f6.html</p>
4. 功能测试包括哪些方面的测试?
5. 功能测试有哪些方法(答了等价类,边界值,因果图,让解释了一下等价类)
http://www.51testing.com/html/89/n-3719689.html</p>
6. 测试电梯,设计测试用例
https://blog.csdn.net/slforeverlove/article/details/47080279</p>
7. 对测试的看法?讲了测试具体要承担的职业,让继续说,又说了测试需要具备的能力,还让继续,又说了测试和开发沟通的问题
8. 为什么做测试?怎么学习测试的?学习了哪些东西?
9. 设计测试用例的方法?
http://www.51testing.com/html/30/n-3719130.html</p>
10. 测试用例要素
https://wenku.baidu.com/view/5bcc4dd5240c844769eaeeb5.html</p>
11. 软件测试方法的分类?
https://blog.csdn.net/javaxiaobenhai/article/details/49032397</p>
12. 黑盒测试的测试用例设计方法?
https://www.cnblogs.com/magicianyin/p/7240929.html</p>
13. 自动测试的软件有哪些?
http://www.51testing.com/html/11/15160311-3714581.html</p>
14. 对美团的一个活动页面做测试
15. 什么是冒烟测试?
https://zhidao.baidu.com/question/280813991.html</p>
16. 什么场合自动化测试不适合?
https://www.douban.com/note/160172309/</p>
17. 用过什么测试软件?
18.Web测试,给你一个登陆界面怎么进行测试?什么是性能测试?
http://www.51testing.com/html/74/n-867174.html</p>
19.给一个字符串转换为整数的函数怎么进行测试?
八、其他
1. 自我介绍
2. 项目介绍,项目中最大的收获,项目中或实习中做过什么软件测试的构造?
3. 项目负责的模块占整个项目的百分之多少?负责的模块难点在哪?请详细介绍你的一个项目,并介绍你在其中承担了什么样的责任。
4. 团队中和别的同学发生过意见不合的情况吗?如何解决的?
5. 项目中遇到什么问题怎么解决的?
6.为什么选择美团?对美团有什么了解?
7. 为什么选择做测试开发?对于测试开发的理解?想做什么方向?
8. 有什么问我的?
9. 你认为你应聘测试开发岗有什么优势?举两个例子?
10.对自己未来3年的职业规划?
11.什么原因会让你决定离开美团?
12.通过聊天的方式,简单的了解了下项目经历以及掌握的技能及掌握程度,如编程语言(美团测试开发这边貌似更倾向要懂JAVA的),数据库;了解或使用过哪些测试工具;是否熟悉计算机网络等计算机类的专业知识;
13.找到100亿个URL中重复的URL?
14.场景题:假如测试说程序有bug,而开发偏偏说没有,该怎么处理?(一脸懵逼,当时我就反问,你们是不是经常遇到这种操蛋的问题)
15. 安卓的基本架构,四大组件
16.你的梦想是什么?
17.讲讲中断?
答:中断是CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。 根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。
18.智力题7个等重量的球还有一个稍重的球共8个怎么用天平2次找出最重的一个?
答:去6个均分成两组称一次,如果相等则再称剩下的两个。如果不相等取重的一组,取两个称。
---------------------
作者:qq_21428081
来源:CSDN
原文:https://blog.csdn.net/qq_21428081/article/details/80157648
版权声明:本文为博主原创文章,转载请附上博文链接!