肖sir__ 第一个月综合面试题
第一个月综合面试题
1、冒烟测试是什么意思?
测试当前版本的主流程,从中选取一部分主要功能的测试用例执行
2、你们公司的项目流程是什么?(h模型)
答案一:需求澄清-用例评审-执行用例提交bug并关闭bug-回归测试-输出测试报告
答案二: 对需求进行分析,评审,测试人员根据需求编写测试计划,测试用例,对测试用例进行评审,同时开发人员编写开发计划,开发代码,自测,发布测试环境,然后测试人员进行测试,测试通过,编写测试报告,项目就可以上线了。
答案三:
拿到需求------需求分析----编写测试计划---编写测试用例-----用例评审----导入用例管理工具---搭建环境--开发提交代码包--部署环境---冒烟测试----sit系统集成测试----提交bug---开发修改bug---进行sit2测试---冒烟-测试------以此类推到0bug,用例100%,输出测试报告(sit测试测完)----验收测试(uat测试)-----验收测试通过------封装版本----上线----线上测试------测试通过----测试完成
3、你们公司的bug分几个级别?(四个等级)
致命bug/L1
严重bug/L2
一般bug/L3
建议性bug/L4
4、你对外键是怎么理解的? 你会使用外键吗?给一个表添加外键的sql语句是怎么写的?可以口述一下吗?
使一张表的记录的数据不要太过冗余, 会用
添加外键:CREATE table bb(s_id int(10),english int(10),math int(10),
constraint ceshi foreign key(s_id)REFERENCES aa(id))engine=INNODB
有表是
alter table 表名1 add constraint 外键名 foreign key(字段名1) references 表名2(字段名2);
5、购物车的测试点有哪些?(从需求,从功能,从性能,从安全,从兼容,从易用性,)大家可以去归纳
所有链接是否跳转正确;商品是否可以成功加入购物车;.购物车商品总数是否有限制;.商品总数是否正确;全选功能是否好用;删除功能是否好用;填写委托单功能是否好用;委托单中填写的价格是否正确显示;价格总计是否正确;商品文字太长时是否显示完整;店铺名字太长时是否显示完整;创新券商品是否打标;购物车中下架的商品是否有特殊标识;新加入购物车商品排序(添加购物车中存在店铺的商品和购物车中不存在店铺的商品);是否支持TAB、ENTER等快捷键;商品删除后商品总数是否减少;购物车结算功能是否好用。
https://www.cnblogs.com/xiaolehong/p/17447006.html
6、你们公司用过那些数据库,各有什么不同?Oracle数据库有用过吗?
MySQL是开源的项目(免费),Oracle数据库产品是闭源同时也是收费的。db
Mysql是中小型数据库,单进程多线程,oracle是大型的多进程数据库
7、数据库多表查询有几种方法?各有什么不同?
内连接查询(查询两个表都符合条件的数据)关键字 inner join
左连接查询(左边表中数据显示全部)关键字 left join
左边表中显示全部,右边表符合条件的显示,不符合条件的以null填充
右连接查询(右边表中数据显示全部)关键字 right join
右表显示全部,左表显示符合条件的数据,不符合的以null填充
举例子:
a 表 123 b表124
内连接:显示 左边12 ,右边12
左连接:显示左边 123, 右边12 4不显示
左连接:显示左边 12, 右边124 3不显示
8、上线的一个基本的硬性要求?
1.用例执行100%
2.0bug 【bug修复100%==L1和L2必须为0,L3和L4经领导同意可遗留至下个版本】
3.输出测试报告
9、查询user表 中的第7到22行数据,请说出具体的sql语句?
Select * from user limit 6,16; 索引从0开始第7行的索引师6 ,22-7+1=16
10、项目组怎么使用SVN?还有其他功能吗?有在浏览器中使用过吗?
SVN检出(SVN Checkout) 项目文件从远程服务器下载到本地工作目录中
SVN提交(SVN Commit) 将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作
在浏览器中输入SVN地址,再输入用户名和密码,就能查看SVN的所有内容
11、根据自己的经验谈谈如何提高编写用例的水平和质量?具体怎么做?
a、规范命名用例、比如:【】,""
b、标题逻辑清晰、简洁
c、交叉评审或组内查漏补缺
d、使用不同的设计用例方法去编写(等价类,边界值,判定表,场景法,状态迁移法)
e、多和开发,产品交流重点,难点
12、项目组的测试流程?有主持过用例评审会议吗?怎么主持的?
a、h模型
b、主持过
c、测试人员提前发邮件通知:用例评审时间,地点会议室,在会议上谁编写的用例谁主讲,根据组员意见和建议,补充和完善测试用例,达到功能覆盖全面。
13、你们公司是怎么提bug的? bug是通过什么进行管理的?Bug的管理流程是什么?提交的bug包含哪些信息?
a、禅道上提bug、
b、BUG管理工具(禅道、jira、tapd)
c、Bug的管理流程:测试人员测试发现BUG,然后提出BUG给测试经理审核,审核通过,给到开发人员,开发人员接受以后进行修复,修复好以后,再给测试人员,测试再进行复测,复测OK,bug关闭。
三种情况:
Bug包含的信息:
1.bug编号
2.bug标题
3.重现步骤
4.预期结果
5.实际结果
6.严重程度
7.优先级
8.创建者
9.所属项目,版本,产品,模块
10.创建时间
11、当前指派
14、冒烟测试和回归测试有什么区别?
a、测试目的不同,测试时间段不一样
冒烟测试:测试主要功能和流程的用例测试
回归测试:对之前已经测试过的用例进行测试;
15、Linux怎么查看8080这个端口的使用情况?
lsof -i:8080 (netstat -ntlp 查看所有端口)
netstat -ntlp |grep 8080
ps -ef|grep 端口号
16、怎么把xiaowang.txt这个文件打包成一个zip包?怎么把xiaowang.txt打包成一个tar.gz包?具体Linux命令是什么?
zip xiaowang.zip xiaowang.txt
tar –zcvf xiaowang.tar.gz xiaowang.txt
17、怎么对需求进行分析,你们公司进行需求澄清会议有哪些人员参加,你们公司的测试环境是谁搭建的?
a、根据用户的需求进行分析, (正确性,无二义性,完整性,可验性、精确性,必要性、可行性等,)
(1)考虑i按时显示需求
(2)考虑从隐形需求
(3)考虑特殊需求
(4)关联需求
b.有开发、产品经理、测试参加
c.环境是运维(测试,测试主管,你)
18、你们公司的开发和测试人员占比是多少? 1:6 或者1:5
19、你们数据库当中有多少张表?把user表中id=10的name字段的值改为多测师,怎么改?
a、203张表,
b、Update user set name=‘多测师’ where id=10;
20、怎么删除一个主键?
Modify取消自增长
alter table 表名 drop primary key;
21、你对视图是怎么理解的? 假如我要创建一个名字叫st的视图,且要在俩个字段上列如:name和class上面应该怎么创建?
a、视图是一个虚拟的表,它不在数据库中以存储数据的形式保存,是在使用视图的时候动态生成。可对基本表的敏感信息进行保护
create view miao as (select name,class from user);
22、怎么查看创建好的索引?谈谈你对索引的理解?
show index from 表名
索引是一种数据结构, 通过检索索引找到特定的值,提高查询的效率。一般有主键索引,唯一索引,普通索引、
约束表字段
23、你们公司测试会使用因果图吗?怎么使用因果测试方法的,谈谈你对因果图测试方法的理解?
a、不怎么使用因果图,
b、用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。
画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但是有时画因果图比较麻烦,影响测试效率,所以在应用熟练之后,可以省略画因果图直接填判定表,进而编写测试用例。
24、一条用例包含哪些信息?(重点)
1、用例编号
2、用例标题
3、前置条件
4、用例步骤
5、预期结果
6、优先级别
25、点击加入购物车,点击全选购买这个过程,会联想到多少张表? 具体的表名字和里面的表字段有哪些?
买家信息表,订单表,卖家表,商品信息表,
(id,admin_name, admin_password…………………)
26、Mysql数据库怎么往表中新增2个字段? 你用过的关系型数据库有哪些?你用过的非关系型数据库有哪些?
alter table +表名 add(字段1 数据类型,字段2 数据类型)
关系型数据库: db、oracle、mysql、sql server
非关系型数据库:redis(键值对模型)、hbase(列模型)、mongodb(文档类模型)
27、怎么创建一个唯一索引? 怎么删除这个索引?
创建索引:
例子create unique index aa on dcs(sid) 公式create unique index 索引名 on 表名(字段名);
alter table dcs add unique sym(sid) ;
查询索引:
例子show index from dcs 公式show index from 表名
删除索引:
例子alter table dcs drop index sym; 公式alter table 表名 drop index 索引名;
28、你们项目组进行数据库连接的客户端工具是什么?怎样去连接的?
项目组进行数据库连接的客户端工具是Navicat
打开Navicat软件,点击工具栏中的“连接”,选择“MySQL”,进入连接设置界面。填写“连接名”、“主机名或IP地址”、“端口”、安装MySQL时设置的“用户名”、“密码”。然后“确定” ,在“管理区”显示我们设置的连接数据库,双击进行连接。连接成功后,显示该连接下的所有数据库。
29、你平常怎么去把控项目的进度?
a、输出测试计划
b、根据项目管理工具,查看进度
c、根据每天汇报的日报
e、实际了解进度
30、你在项目中充当的角色是什么?
测试人员 :写测试用例,执行测试用例,自动化测试等
测试小组:拆分测试任务,安排测试工作,带新人,执行测试,维护环境等
测试经理: 管理团队,编写测试计划,安排测试任务,对接项目问题和协调、收集日报
31、你用过的常用的测试方法有哪些?说一下每种测试方法的特点?你一般用哪种测试方法用的比较多一点?
a、
场景法、(梳理项目的主流程)
状态迁移法(项目状态变更:)
等价类(输入框,有效,无效等)
边界值 (手机号:11 位)
判定表 (针对组合情况,姓名,手机,验证码)
等方法
b、边界值用的最多,因为边界值发现错误最多的一种
32、数据库常见的约束有哪些?
主键约束 外键约束 非空约束 默认值约束 自增长约束 唯一索引,
33、Mysql数据库怎么创建一个用户dcs并给这个用户赋予本地和对所有的库所有的表进行所有权限操作的sql命令?
grant all privilege on *.* to 'dcs'@'%' identified by “xxxx”
34、如何在数据库查看这周内最早成交的成交金额最大的那个人的姓名?
Select max(money) from xx where time between xxx and xxx
Select name from xx where money= (Select max(money) from xx where time between xxx and xxx) and time between xxx and xxx
35、请举例说一下兼容性测试应该注意哪些方面?
手机端:系统:Android系统、iOS系统的各个版本、塞班、黑莓、window phone,鸿蒙系统等
手机型号
屏幕类型:曲面屏、刘海屏、全面屏、水滴屏、折叠屏等
web端:
系统:window7、window10、window11、Mac os、Linux等
浏览器:IE、百度、谷歌、火狐等
36、请一分钟内说出30个Linux命令
(1)按常用的命令讲解(随意讲)
比如 :tail -f 查看日志、kill -9 强制杀死进程、ps -ef|grep 服务名称 查看服务是否启动、vim或vi 编辑配置文件、chmod 修改权限、、chown修改属主权限、chgrp修改属组权限、 ifconfig 查看ip地址、losf -i:端口号 查看端口占用情况、netstart -nltp 查看已开启的端口号、 pwd 查看当前路径、ping 查看当前网络连接状态 、sh 或./ 启动、 top 查看动态进程、tar -cvf 压缩文件 tar -xvf 解压文件 rm -rf 强制删除文件、 touch创建文件、mkdir 创建目录、cat 查看文件所有内容、head 查看文档前几行、less 按分页方式查看文件、 more 按百分比的形式查看文件 、mv 修改或移动文件 、su 切换用户、cp 复制文件、 wq 保存退出、 shutdown 关机、reboot 重启、hostname 显示主机名 、ps -aux 查看所有进程 、
free 查看内存 、df -h 查看磁盘
(2)按流程讲解
我常用的linux命令有:比如:cd / 进入植入指定目录 ,在根目录下使用mkdir +目录名 可以创建目录 ,在目录下可以使用touch 创建文件名为aa ;可以对文件aa 进行编辑 使用vim或v命令,进入编辑模式,然后按i键进入编辑模式输入内容,输入完内容以后可以使用:wq 保存退出、在使用cat查看文件中的所有内容,如果要搜索文件中指定内容cat 文件名|grep 字符;也可以使用head -n行数 文件名查看文件的前几行、也可以使用tail -n 查看文件倒数几行;more 按%比查看文件或less 按上下翻页查看文件,也可以使用cp命令复制文件 ,mv 修改文件名或移动文件,使用chmod修改文件权限、chown修改属组、chgrp修改属主、对文件进行删除rm -rf ,还可以将文件迁移到另一服务器 scp 用户名@IP:地址 本地地址;对文件打包 tar 包 tar -cvf 包名, 打包文件成zip ; zip 压缩包名 文件名 ;解压包名 tar -xvf ,unzip 解压;
37、Mysql数据中的表怎么进行备份? mysql中的数据库怎么备份到Linux服务器上面?怎么把Windows电脑桌面的文件上传到Linux服务器?
create table aa like bb;
mysqldump -uroot -p xxx>/ xxx.sql
rz 敲回车 文件名 将window系统的文件传送到linux中 或者 xftp工具
38、你们公司是使用什么工具进行代码和项目的文档管理的?请简述一下SVN工具的工作原理?在使用SVN过程中遇到报错怎么去解决的?
a、svn
b、SVN是复制==修改===合并的模式
c、定位问题,检查仓库地址和密码是否正确
39、有一个输入框里面可以输入IP地址,请说一下他的测试点有哪些?
从功能、从界面、从兼容性,从安全,从性能等来讲解
案例:
主要的测试点:
1.
格式验证:
输入标准的IPv4地址(例如:192.168.1.1)。
输入标准的IPv6地址(例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334)。
输入不合法的IP地址(例如:192.168.1.256,256.256.256.256,192.168.1.1.1)。
输入包含非法字符的字符串(例如:192.168.1.1a,192.168.1.1@)。
输入空字符串或仅包含空格的字符串。
2.
边界值测试:
输入最小的合法IPv4地址(0.0.0.0)。
输入最大的合法IPv4地址(255.255.255.255)。
输入最小的合法IPv6地址(::)。
输入最大的合法IPv6地址(ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)。
3.
特殊字符测试:
输入包含特殊字符的字符串(例如:192.168.1.1!,192.168.1.1#,192.168.1.1$)。
输入包含空格的字符串(例如:192.168.1.1 192.168.1.2)。
4.
输入长度测试:
输入过长的IP地址(超过标准长度的IPv4或IPv6地址)。
输入过短的IP地址(少于标准长度的IPv4或IPv6地址)。
5.
输入类型测试:
输入非数字字符(例如:a.b.c.d,a:b:c:d:e:f:g:h)。
输入字母字符(例如:a1.b2.c3.d4,a:b:c:d:e:f:g:h)。
6.
输入重复性测试:
输入重复的IP地址(例如:192.168.1.1 192.168.1.1)。
7.
输入速度测试:
快速连续输入多个IP地址,检查系统是否能够正确处理。
8.
输入历史测试:
输入之前输入过的IP地址,检查系统是否能够正确处理重复输入。
9.
输入提示和反馈测试:
输入不合法的IP地址时,系统是否提供明确的错误提示。
输入合法的IP地址时,系统是否提供确认或成功提示。
10.
兼容性测试:
在不同的浏览器和操作系统上测试输入框的兼容性。
11.
安全性测试:
输入可能导致SQL注入或其他安全漏洞的字符串,检查系统是否能够防止这些攻击。
12.
性能测试:
输入大量IP地址时,检查系统性能是否受到影响。
13.
国际化测试:
如果应用支持多语言,测试输入框是否能够正确处理不同语言的IP地址输入。
14.
辅助功能测试:
如果应用需要满足无障碍标准,测试输入框是否对辅助技术友好。
在进行测试时,应确保覆盖所有可能的输入情况,并且在测试过程中记录下任何发现的问题或异常行为。此外,测试应该在不同的环境和条件下进行,以确保输入框在各种情况下都能稳定工作。
40、请谈一谈你对存储过程的理解?你们公司一般用存储过程用来干嘛?
回答一:存储过程是个完成特定功能的sql语句集合,可多次调用。
回答二:存储用来插入大批量的数据来进行测试
41、在公司中因为一个bug和开发发生了争执,开发说这不是一个bug,你说这是一个bug,遇到这种情况你是怎么处理的?
从三个角度:
测试角度:是否测试自己配置,服务等问题
开发角度:开发的报错日志,错误截图等
产品角度:少了需求或功能,就要产品去补
42、编写测试用例应该注意哪些地方?
1、需求文档上有的功能一定要覆盖
2、异常场景能写多少写多少
3、不要把bug写成标题
4、用例标题和用例步骤要写清楚、详细
5、预期结果要和标题收尾呼应
43、Mysql数据库的删除有哪几种?各有什么区别?
delete from +表名 where 条件 (删除表内容,不会删除表结构)
truncate +表名 (删除表内容,不会删除表结构)
drop table +表名 (删除表名和表结构)
drop>truncate>delete
44、怎么查看本地Windows电脑的ip地址和Linux服务器的地址?怎么换成临时的ip地址?
查看本地Windows电脑的ip地址:cmd-ipconfig
查看Linux服务器的ip地址:ifconfig
(1)linux中将ip地址换成临时ipifconfig 【网卡名称】【IP地址】【子网掩码】 ip (注:是根据你电脑上的网卡名来设置,ip是你想更换的ip地址)
(2)windows中将ip地址换成临时ip :可以通过手动输入修改ip
45、假如你通过远程客户端工具连接你的数据库服务器连接不上,你应该从哪几个方面去排查?
1.是否开启 MySQL 的远程登录帐号。
2. 配置文件是否限制远程访问。
3. iptables (防火墙)是否限制了外部访问MySQL接口。
4.数据库是否启动
5.账号、密码、权限是否正确
6、是否设置授权,
46、软链接和硬链接有什么区别?
软连接可以对存在及不存在的文件或目录创建;
硬链接只能对存在的文件创建
硬链接文件间有不同的inode号,删除其中一个硬链接不影响其它同inode号的文件;
删除软链接不会删除它指向的文件,反之删除了软链接指向的文件软链接会失效;软链接作为快捷方式它会比原文件小,硬链接间文件大小相同。
47、Linux指令cat, less ,more ,head ,tail 有什么相同和不同的地方?
cat命令是整个文件的内容从上到下显示在屏幕上。
cat查看全部内容,less 按翻页查询, more 按百分比查询,head 查看前面几行, tail 查看后面几行
48、你做过的项目当中,项目的基本输入(准入)和输出(准出)是什么?
准入:(提测)
1.环境已经搭建完成
2.开发完成自测且提交测试报告
3.测试计划写好
4、用例编写完成并评审通过
准出:
1.用例执行100%
2.bug修复100%==L1和L2必须为0,L3和L4经领导同意可遗留至下个版本(0bug)
3.提交测试报告
49、有没有自己搭建过测试环境?怎么搭建的?
a、搭过
b、环境有两种,全新环境搭建和迭代环境添加插件。(先装服务器,部署项目包,启动服务器)
c、搭建流程:先安装jdk=安装服务器=上传代码包=安装数据库==修改配置文件==在启动服务器==在网站中输入ip地址访问
50、Tomcat和Nginx的区别,nginx有哪些优点?
从应用方面tomcat一般是做动态解析才会用到,支持jsp的解析,需要配置JDK支持。nginx一般是做静态,本身不具备动态解析功能,需要配置其他插件或通过其他软件协同才具备动态功能,但nginx在静态上的功能非常强大,也可做访问控制,而且可做成各种协议负载服务器。
Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache和tomcat。
在日常工作中:
nginx一般用来做前端应用服务器
tomcat会用来做后端的java应用服务器
51、日志的级别有几种?
系统将讯息分为七个主要的等级,依序是由不重要排列到重要讯息等级:
info:仅是一些基本的讯息说明而已;
notice:比 info 还需要被注意到的一些信息内容;
warning 或 warn:警示讯息,可能有问题,但是还不至于影响到某个
daemon 运作。daemon()一直运行的服务端程序又叫守护进程。
err 或 error :一些重大的错误讯息,这就要去找原因了。
crit:比 error 还要严重的错误信息,crit 是临界点 (critical) 的缩写。
alert:警告警告,已经很有问题的等级,比 crit 还要严重!
emerg 或 panic:疼痛等级,意指系统已经几乎要宕机的状态!很严重的错信息了。
日志等级:
DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低")。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
52、怎么查看实时日志? 在哪个目录下面?用的什么命令查看?如果报错的日志太多你是怎么去定位的?怎么去找到报错日志的?
a、查看实时日志:tail -f catalina.out 在logs目录下
b、logs文件
c、tail -f
d、 cat 日志文件|grep ‘报错字符’ ;
e、或vim 日志文件 /或? 匹配
53、Tomcat的启动命令 和Tomcat的端口号在哪里修改?
在bin目录下 sh startup.sh 启动Tomcat
在conf目录 vim server.xml 设置端口号 70号
54、jdbc你怎么了解的? 全称是什么?
Java DataBase Connectivity,java数据库连接
55、数据库当中怎么区分大小写?
Lower_case_table_names=0 区分大小写
Lower_case_table_names=1 不区分大小写
56、你们公司有哪些环境,分别是什么环境,测试环境有几套?
a、开发环境、测试环境、验收环境
测试环境:sit 环境 ,uat环境
生成环境(线上环境)
b、测试环境有3套:sit1环境,sit2环境,uat环境
57、搭建测试环境的工具有哪些?
服务器,数据库,代码包,jdk就可可以
Lnmp:Centos, nginx,php php-fpm;mysql,mysql-php,
Lamj:centos,xshell,,xftp,jdk,mysql,tomcat
58、jdk是什么,有什么作用?
JDK是java语言的软件开发工具包,能解释java程序,编译java语言,没有jdk的话无法编译Java程序。
59、你们公司的测试环境是基于什么搭建的?
测试环境是基于linux搭建的(服务器);云服务器
60、帮我解释一下webapps是什么?webapps目录下面存放的东西是什么?
webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程 序。可以以文件夹、war包、jar包的形式发布应用。
61、http和HTTPS是什么?各自的端口号是什么?
网络协议
HTTP:超文本传输协议,是在互联网上应用最广泛的一种网络协议。是一个客户端和服务端请求和应答的标准(TCP),用于从WWW(超文本)服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
HTTPS:超文本安全传输协议,是具有安全性的SSL加密传输协议。
https端口:443
HTTP:80端口
62、nginx的端口号在哪个文件里面修改?为什么访问多有米前后台的服务器ip地址和访问mysql数据库的服务器ip地址是一致的?
在根目录下的/usr/localinx/conf目录的nginx.conf文件的第36行
因为前台的ROOT文件和后台的manage文件的配置都被修改了Nginx包里面的conf里面的nginx.conf文件
因为多有米前后台的数据是存放在数据库里面的,当在浏览器访问多有米前后台的时候,会去访问数据库,而数据库又是安装在linux系统上,
所以他们是访问的是同一个服务器;
63、Tomcat的默认端口号是多少?nginx的默认端口号是什么?mysql的默认端口号是多少?假如端口号80、8080、3306被占用了怎么办?用什么命令进行查看?怎么去结束这进程?
8080,80,3306 ps –ef|grep xxx;
lsof –i:xxx
kill -9 xxx
64、mysql数据库的配置文件存放在哪里?
/etc/my.cnf
65、什么叫动态资源?什么叫静态资源?
静态请求请求的静态资源,存储在本地硬盘内的数据,固定的数据,(不需要计算的数据)。
动态请求请求的是动态资源,需要服务器根据用户的操作所返回的数据,以及存储在数据库的数据,经过一系列逻辑计算后返回的数据。(需要访问数据库)
66、nginx web应用服务器有哪些优点? 你用nginx做过代理服务器吗?nginx的动静态分离机制和负载均衡功能可以详细的介绍一下吗?
负载均衡,反向代理,处理静态文件优势,Nginx处理静态请求的速度高于Apache和Tomcat,
用过
负载均衡:Nginx平均分配任务到各代理服务器
67、对nginx的正向代理和反向代理有了解过吗?了解过
(Nginx)
正向代理需要在客户端配置,将本来要发送的请求转发到代理服务器(客户端+代理服务器一体)
反向代理需要在服务器上配置,将本来要发送到本服务器的请求转发到代理服务器上(服务端+代理服务器一体)
68、你们公司的服务器一般是怎么进行配置的?
运维做的
(2)1台前端服务器,后台6台服务器 ,数据有6台服务器(三主三群) 13台
1台前端服务器,后台3台服务器 ,数据有4台服务器(一主三群) 8台
69、假如你在前端页面点击一个搜索按钮的时候,有弹框提示:系统异常,这时候你应该怎么去定位和分析这个问题?看日志怎么去看?
a、查看页面提示,
b、查看后台日志
c、查看接口请求参数和返回参数:请求参数正确,返回参数错误,后端bug;请求参数正确,返回参数正确,前端bug;
(2)Cat 日志文件|grep error 或 tail –f xxxx
d、查看数据库问题
70、你们公司有多少张表?能说出常用的几张表的名字吗?和表里面的具体的一些字段的名字?
几百张(参考203张),user,address,(name,phone_nub………….)
71、rpm文件怎么安装?
rpm -ivh “文件名”.rpm; (安装jdk包)
72、用什么命令查看linux中系统磁盘和内存的使用情况?
Df free top(cpu)
73、给你一个拍照的功能,有什么测试点?
调用摄像头是否正常,拍摄按键是否正常,切换前后置摄像头是否正常等;
从功能,从安全,从性能,从外观,等
74、说一下你为什么从前两家公司离职
(1)项目结束
(2)公司合同到期
(3)公司内部结构调整
75、你们公司是怎么培训新手的?有去培训机构学习吗?
(1)有老带新
(2)建议,没有, 通过技术博客,网址,视频学习
76、说说你印象最深刻的bug?
比如:测试一个创建点单,金额要传输给外部平台出先,无法下单:金额超过1000元,1,000有一个逗号无法解析,导致下单失败。测试环境测试小额数据师可以正常下单,但是在线上金额超过1000就无法下单。
77、风险评估有哪些点需要去考虑的?(人力,硬件,更改需求,版本控制,时间)
设计方面
(1)没有详细设计说明书;
(2)没有统一的界面设计规范。
开发方
(1)所有模块开发没有统一设计,开发人员有自己的设计方式;
(2)需求变更开发。
测试本身人力资源、硬件资源、版本控制、时间不足
(3)需求内容太多
78、Linux如何查找日志最后99行?
Tail –n 99 xxxx
79、Linux如何在当前目录下查找text文件?
find ./ -name "text"
80、常用的测试的工具有哪些?
虚拟机管理工具VMware,数据库管理工具Navicat;远程连接服务器工具XShell;压力测试工具Jmeter;接口测试工具PostMan;缺陷管理工具Jira;抓包工具Fiddler;文档整理工具-百度脑图。SVN,禅道,xmind
81、一个student表有4个字段,student_id,class,name,age. 用sql语句查找出 class,name,age都相同的student_id
select class,name,age from student group by class,name,age having count(id)>1
select student_id from student where (class,name,age) in (select class,name,age from student group by class,name,age having count(id)>1)
82、你们公司是怎么用数据库的?你在公司用数据库来做什么?
(1)数据的正确性、
(2)数据的容量
(3)字段显示(是否显示乱码)
(4)数据的增删改查功能
(5)数据库同步测试
(6)清除脏数据
(7)数据突发情况 (mgr集群三主三群)
(8)数据库中的加密字段(脱敏)
83、在不用vim下怎么把/data/a.txt中的123换成456 ==》sed -i 's/123/456/g' ====》sed awk grep
/data/a.txt
vim 中%s/123/456/g
84、说一下借款模块着重考虑什么?
借款金额、借款时间、借款失败规则,借款成功,借款中,还款方式,借款利息,用户信息
85、你做的金融项目,那么对于资金的数据流,后期如何跟踪维护?
资金流:银行卡余额--重置平台---存管银行--提现资金--资金从存管银行转入到个人银行账户
状态流:待充值--重置成功--提现中--提现成功
86、项目的阶段有哪些讲解一下?
开发阶段:单元测试、集成测试,系统测试,验收测试
、需求,开发,测试,验收,发版
87、多表怎么进行连接?
内链接,左右链接,
88、DDL和DML分别是指什么? 数据库中删除的方式有哪几种?分别有什么区别?
DDL //数据库定义语言 (对表结构和表字段进行操作)
Create、 alter 、table、 DROP
DML //数据库操作语言 (对表数据进行操作)
delete from +表名 where 条件 (删除表内容,不会删除表结构)
truncate +表名 (删除表内容,不会删除表结构)
drop table +表名 (删除表名和表结构)
-----------------------------------------------------------
.SQL语言的分类
- DQL:数据查询语言,对数据库进行查询(必须熟练掌握)
- DML:数据操作语言,对数据进行增加,修改,删除(insert,update,delete)
- DCL:数据控制语言,进行授权与权限回收(grant,revoke)
- DDL:数据定义语言,进行数据库,数据表的管理(create,drop)
89、打一个tar.gz包、zip包?命令是什么?
tar -zcvf XX.tar.gz xx
zip xxx.zip xxx 文件打zip包
90、Linux中查看aa.txt文件的第23到37行用什么命令?
Sed –n ’23,37p’ aa.txt
tail -n 28 abc|head -n 15
tail -n 28 abc|head -n 15 abc
tail -n +23 abc|head -n 15
91、举例部署项目包的过程,用到了哪些命令?
rz,sz传输包
tar -xvf 解压包
ps -ef|grep tomcat
vim 配置文件
tail -f catalina.out 查看日志 Java –version
开启防火墙:service iptables start 关闭防火墙:service iptables stop
ps -aux | grep tomcat 或 ps -aux | grep java 查看tomcat进程
sh startup.sh 运行tomcat
使用 kill -9 [进程号] 来关闭
rm -rf 文件名 删除文件
92、除了http协议,你还用过其他的协议吗?http和https协议有什么区别?各自的端口号是多少?Tcp和udp协议了解吗?
(1)接触过https协议
(2)区别:http是超文本传输协议,https是超文本安全传输协议,
(3)端口号是:8080, 443
93、出现bug,你会给开发定位的原因,你会写些什么。出现最多的bug的原因是什么?
(1)会,去看后台日志,接口入参和返回参数,
(2)代码逻辑错误、需求不明确,
94、平常工作你们是怎么访问linux服务器,如果xshell连linux突然连不上,会有什么原因导致?
Xshell ip地址,服务是否开启 (crt)
- 在虚拟机上没有连上网
- 没有开启SSHD服务可以通过系统->服务来查看是否启动了该服务,可以在命令行中输入service sshd status命令来查看该服务的状态
- 防火墙是否开启(端口号22是否加入白名单)
- 账户密码是否输入正确
- 服务器未启动
95、你们公司做完一个项目,比较常见的文档有哪些?
需求规格说明书(SRS) 概要设计说明书(HLD) 详细设计说明书(LLD) 测试计划、xmind图、测试用例、bug清单、测试报告
96、数据库你在工作当中是怎么使用的?
(1)数据的正确性、
(2)数据的容量
(3)字段显示(是否显示乱码)
(4)数据的增删改查功能【增删改查 alter、update、 select、 insert into】
(5)数据库同步测试
(6)清除脏数据
(7)数据突发情况 (mgr集群三主三群)
(8)数据库中的加密字段(脱敏)
97、我看你有带领团队完成测试工作,制定个人绩效考核,讲一下你们测试的kpi绩效考核怎么做的?
(1)有带过团队,
(2)打分机制: 完成任务度、考勤、突出贡献、分享培训、工时的填写
98、电商平台秒杀活动专区怎么测试?
测试点:从功能,从性能,从安全,从界面,从兼容性等
99、app测试有哪些着重的测试点?(专项)
(1). 干扰测试:中断,来电,短信,关机,重启等
(2). 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)
(3). 安装、更新、卸载
安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况
卸载:需考虑 卸载后是否删除app相关的文件
更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新
(4). 界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换
(5) 安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等
(6). 边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等
(7). 权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等6
(8)闪退、白屏、缓存、进程、卡顿、
100、你们公司转测有什么要求?(提测)
开发:开发完成自测,有自测报告,所有功能均已实现
测试:用例写好,用例评审好,环境搭建好
101、支付功能有哪些测试点?随口说出10个以上?
一,支付金额
1.最小值0.01;
2.无实际支付意义的值是否支持,比如0、负值;
3.支付金额错误时,比如格式或数字错误;
4.超大金额是否有限制;
5.余额小于实际支付金额时;
6.银行卡或其他设置,比如当日消费金额或单笔消费金额超限时;
7、不同的支付方法支付
二.支付接口上
涉及到第三方接口相关事件,比如支付宝、微信、网银、手机银行、扫码枪、POS终端等硬件的兼容
三.支付操作问题
1.是否支持指纹支付,不支持时,怎样提示;
2.是否有免密支付,或免密支付设置;
3.账号+密码支付;
4.银行卡+密码支付;
5.动态获取支付验证码支付;
6.信用卡支付;
四.产品的容错性
1.如何处理退款;
2.支付时断网时,处理机制;
3.支付失败时,如何补单/退单;
4.余额不足时,是否可以继续充值支付;
5.持续点击,是否会多次扣款;
6.若多次扣款,如何返回等。
103、数据库联调在项目怎么做的?
通过接口进行数据比对;
104、假如客户在你们平台购买了一个标的过程,涉及到了数据库中哪些表,表里面有哪些字段?
金融行业:借款标的
借款表,还款表,利息表‘
105、怎么查表里是否新增了字段?
查寻字段 is null
106、风险评估你要去考虑哪些点?
项目风险:人力、时间、需求不明确
风控风险:失信人员、负债高、超过年龄,小于年龄,等
107、怎么查询根目录下test文件中的dcs字符?
cat test|grep "dcs"
108、你在公司有做过分享吗?你们多久一次分享会?
有,做完一个技术分享一次
讲课:拿一ppt中一个知识点分享
109、你们项目的开发框架是什么?前端的开发语言是什么?后端的开发语言是什么?你们公司用到了哪些数据库?
开发框架是Spring、Spring MVC、MyBatis、webwork、struts、Hiberbate、Quartz、
Velocity、IBATIS、Compiere ERP&CRM、Roller Weblogger、Eclipse、XPlanner、HSQLDB
前端:HTML语言、XHTML 、XML、 CSS、 java脚本、jQuery
后端:java、php、Python、C/C++、shell、CSharp、T-SQL、PLSQL
用到了mysql、sql server
110、测试计划中会有时间安排,那么你们延期一般会发生在哪些方面?
(1)开发在开发过程中,需求发生了变更。(此类问题属于严重并且对整个软件开发流程有着致命的打击)
(2)开发效率低下,不能在项目规定时间内完成代码编写,造成这种情况的原因有:开发人员人手不够、分配不合理、代码复用率太低、底层代码不强大,需求修改大面积底层代码等
(3)前后端协同没有做好,前后端没有达成一致,导致数据传输、解析时发生冲突,联调花费很多时间。还有一种情况就是前后端存在一方拖延时间的情况。例如前端已经写好相应的界面,但是后端接口还没准备就绪,导致整体进度延时
(4)人力安排不足
111、有了解过小程序吗?你是怎么测试小程序的?
(1)小程序==扫码==调试模式==进行测试
详解:
1 小程序类型
程序分为三种版本类型:开发版,体验版,正式版。开发版和体验版无需审核,需要给微信号配置权限,通过扫小程序的二维码才能访问。正式版需要通过微信审核流程,也就是说,在开发阶段,产品还未成型开始,无论你想怎么折腾,微信都有办法知道。这可不像你在网上找了个框架或是工具,在本地怎么玩都没人知道。微信小程序开发者工具使用之前就要扫码的。开发版和体验版的区别,在于开发版小程序的二维码有效期比较短。项目中,我们一般会准备三套环境。开发版访问测试环境,体验版访问预发布环境,正式版访问生产环境。
2 真机上的调试模式
微信小程序在真机上给开发者提供了调试模式,在真机上打开微信小程序之后,可以看到右上角的三个点,打开之后我们能看到有打开调试的字眼,直接选择打开即可,这里有一个重启小程序的过程,再次扫一扫二维码进入就可以看到调试了。
3 小程序码的兼容性问题
目前小程序不支持直接分享朋友圈,只能分享微信好友。所以很多小程序都采取了“曲线救国”的方式,通过生成带有小程序码的图片,用户可以退出小程序将图片发布到朋友圈。既然把小程序码作为图片的一部分,就涉及到小程序码的位置,尺寸,还得不影响原有图片的美观,生成的小程序码还需要是可识别的。这需要前端工程师费功夫做不同屏幕尺寸的适配。
基础库与客户端之间的关系。小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库无法兼容低版本的微信客户端。基础库更新时机。为了避免新版本的基础库给线上小程序带来未知的影响,微信客户端都是携带 上一个稳定版的基础库发布的。在新版本客户端发布后,再通过后台灰度新版本基础库,灰度时长一般为 12 小时,在灰度结束后,用户设备上才会有新版本的基础库。因此在不同版本的微信上进行测试,也是有必要的。
4页面回退(页面路径最多只能十层)
在这个保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。在官方文档中,有提示注意:目前页面路径最多只能十层。如果开发在这里处理不当,有可能出现超过十层回退,则会导致白屏,无法操作,导致必须重新打开小程序才能正常工作。
112、你觉得如何写一条高质量的测试用例?(覆盖全面,表达简单明了,步骤流程清晰,编写多个异常场景,通过不同的设计用例方法编写等)
如何保证测试质量?
参考:
1、用xmind梳理测试需求上所有的测试点,保证有的功能全部覆盖
2、使用不同设计用例方法对测试点设计正常、异常用例,保证软件的功能(如等价类、边界值、场景法等)
3、考虑隐形需求的测试点,保证质量(比如:数据正确性、)
4、考虑关联模块的测试点
5、多编写你认为可能出错的场景
6、可以通过和开发、产品沟通确认主要功能点,复杂场景的功能点
7、评审用例来保证测试质量
113、你最近看的一本书是什么?
《软件测试的艺术》
《博弈论》
《鬼谷子》
《孙子兵法》
114、你一般平时周末都怎么安排,在工作中碰到很难的问题你一般是怎么解决的? 你平时用的多的技术论坛都有哪些?
(1)运动、聚会、学习
(2)遇到难题一般是自己先思考,不能解决就百度或者在论坛查找,还会请教同事或者上级
用的多的技术论坛有CSDN、博客园、SegmentFault、V2EX、开源中国、W3school、51CTO、ChinaUnix、伯乐在线、ITEye、掘金、开发者头条、GitChat
115、你们开发转测试需要多久?
快:看项目:敏捷开发一周开发,一周测试
慢:0.5-3个月
116、app测试需要测试哪些地方?==》
http://www.duoceshi.com:8080/bbs/forum.php?mod=viewthread&tid=21231&
extra=
1.内存使用情况
2.cpu使用情况
3. 流畅度
4.app消耗的流量
答案二:App和web端其实差不多、你可以把App端比喻成小型的web端测试,App测试主要是在手机上面测试,web测试就是打开浏览器在电脑上面测试
从功能测试、接口测试、兼容性测试(iOS系统和Android系统的兼容性)、易用性测试、性能测试方面,
App测试主要还要考虑的有:弱网测试(弱网测试的话可以fiddler或者Charles模拟2G、3G、4G、WiFi网络、主要是通过fiddler或者Charles做维为代理软件、限制发送请求和接受数据的上传和下载的速度来进行弱网测试)、电量测试、App的卸载安装、覆盖安装、增量升级测试等等。
117、你怎么提一个优质的bug?
(1)讲bug内容描述清楚,
(2)把bug的错误日志和截图附上
(3)将bug重现步骤描述清楚
(4)实际结果和预期结果描述清楚
118、学的怎么不是计算机专业、怎么入的测试这个行业?
大学同学,
哥哥,姐姐
略
120、如果页面查询出来为空,分析会有哪些可能的原因,前端还是后端?
第1个要考虑是否为前端代码有问题用错标签
第2个接口是否调用错误
第3个后台是否在部署
第4个数据库有数据接口是否没有返回
如果是数据问题则着重考试后台的问题、如果是页面报错提示的则着重考虑是否为前端问题
130、第三方支付的测试点有哪些?
1.支付安全 2.正常支付流程3.支付过程 4.不同状态的订单 5.支付成功后
131、如果以后你做管理层,你怎么去管理,你又会如何去做?
(1)工作中起带头作用
(2)了解管理团队的人员的技术和性格,能力
(3)工作中做好总结、计划、反思
132、授信额度怎么来的,依据什么划分等级的?
客户信息通过公司风控系统匹配授信额度,客户信息发送到银行,通过征信报告,银行流水划分等级
评分等级:a 、b 、c 、d
用户规则:用户信息:资产信息
133、你们公司的资金模式是怎么样的?(公司下款和以公司担保第三方银行下款)
银行托管资金,根据用户在平台录入的信息,匹配下款额度
======================================================
测试流程(需求评审由产品主持,测试、开发参加就可以了)
写计划,写用例,执行用例,报告,准备,上线
项目流程:H模型
自动化做过吗?为什么选择RF?
几个人做自动化?2个;两个人分别负责什么?
项目有哪些模块?
公司的环境谁搭建的?RF环谁搭建的?
RF环境的搭建流程是什么?
RF的定位方法有哪些?常用的定位方法是什么?
id,name,css,xpath;常用id,name和css定位
有创建过数据吗?用的什么工具?有了解过java和script吗?
创建一玩个数据用什么最快?存储过程
会用存储过程吗?说下存储过程的用法?能用所学的语句讲个完整的吗?
怎么搭建环境?搭建环境过程中有遇到过什么问题吗?
数据库常用的内置函数有哪些?sum,count,avg,max,min,distinct
数据库中DML有哪些:alter table,insert,create,modify
数据库中DDL有哪些:
写过测试用例吗?包含哪些要素?用例编号、用例标题、前置条件、用例步骤
黑白盒的方法有哪些?
黑盒测试的方法:等价类,边界值,因果图,判定表,状态迁移
白盒测试方法:语句覆盖