综合面试题

1、冒烟测试是什么意思?

冒烟测试(称为版本验证测试,提交测试)是指对新版本的主要功能,基本功能进行测试,如果通过,那么冒烟测试通过,如果冒烟测试失败,那么就把版本打回给开发进行修改,直到冒烟通过;

另:测试当前版本的主流程,从中选取一部分主要功能的测试用例执行

2、你们公司的项目流程是什么?

答案一:需求澄清-用例评审-执行用例提交bug并关闭bug-回归测试-输出测试报告

答案二: 对需求进行分析,评审,测试人员根据需求编写测试计划,测试用例,对测试用例进行评审,同时开发人员编写开发计划,开发代码,自测,发布测试环境,然后测试人员进行测试,测试通过,编写测试报告,项目就可以上线了。

答案三:拿到需求------需求分析----编写测试计划---编写测试用例-----用例评审----导入用例管理工具---搭建环境--开发提交代码包--部署环境---冒烟测试----sit系统集成测试----提交bug---开发修改bug---进行sit2测试---冒烟-测试------以此类推到0bug,用例100%,输出测试报告(sit测试测完)----验收测试(uat测试)-----验收测试通过------封装版本----上线----线上测试------测试通过----测试完成

3、你们公司的bug分几个级别?(四个等级)

致命bug/L1

严重bug/L2

一般bug/L3

建议性bug/L4

4、你对外键是怎么理解的? 你会使用外键吗?给一个表添加外键的sql语句是怎么写的?可以口述一下吗?

答:让一张表记录的数据不要太过于冗余,在数据库中对表的关系进行解耦,尽量让表的数据单一化。

建表时添加:

CREATE table 子表(字段1 字符长度,字段2 字符长度),
constraint 外键名 foreign key(子表字段名 )REFERENCES 父表(字段))engine=INNODB

表建好后添加:

alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

5、购物车的测试点有哪些?(从需求,从功能,从性能,从安全,从兼容,从易用性等归纳)
所有链接是否跳转正确;商品是否可以成功加入购物车;.购物车商品总数是否有限制;.商品总数是否正确;全选功能是否好用;删除功能是否好用;填写委托单功能是否好用;委托单中填写的价格是否正确显示;价格总计是否正确;商品文字太长时是否显示完整;店铺名字太长时是否显示完整;创新券商品是否打标;购物车中下架的商品是否有特殊标识;新加入购物车商品排序(添加购物车中存在店铺的商品和购物车中不存在店铺的商品);是否支持TAB、ENTER等快捷键;商品删除后商品总数是否减少;购物车结算功能是否好用。
参考链接:https://www.cnblogs.com/xiaolehong/p/17447006.html

(1)测试思维;

(2)淘宝购物怎么测试

兼容性测试
1.不同系统不同型号、不同版本的手机是否可以正常使用淘宝购物
网络测试
2. 3G、4G、5GWiFi、不同运行商、各种网络环境下,购物功能是否可以正常使用
3.网络异常时,数据交换失败时是否会有提醒
4.有网到无网再到有网的话井下数据是否可以正常自动恢复、正常加载
5.在App端添加商品,购物车中可正常显示
6.在PC端用一个账户添加商品后,手机端app也可以正常显示添加的商品
7.勾选商品后,会显示已勾选商品的总价,点击去结算后,如果未登录,则提示需要先登录,若已登录,则会跳转到结算界面
8.可以在购物车右上角点击管理对商品进行操作(移入收藏夹或者删除)
9.购物车添加商品的数量是否有限制
10.购物车页面中,可以对商品的信息进行修改(码数、颜色、数量)
11.失效的商品是否会在最下端显示
12.店铺优惠券的领取是否可以直接抵扣
13.是否可以支持大量用户同时下单结算
14.对应购物车的商品点击是否可以跳转到对应的链接
15.淘宝运行时的耗电量、消耗的流量、占用系统内存的大小、CPU大小
16.付款时的密码显示是否保密
17.不同付款方式的是否可以进行挑选(花呗支付,银行卡支付等)
18.搜索对应相关产品关键字,出来拥有该关键字的产品
19.满几件打折的商品在购物车结算时的价格
20.点击一个产品是否可以跳转该产品的购买详情页
21.购物订单的保存有效期,删除订单后是否可以恢复

6、你们公司用过那些数据库,各有什么不同?Oracle数据库有用过吗?

MySQL是开源的项目(免费),Oracle数据库产品是闭源同时也是收费的。db

Mysql是中小型数据库,单进程多线程,oracle是大型的多进程数据库

7、数据库多表查询有几种方法?各有什么不同?

(1)内连接
(2)左连接(左外连接)
(3)右连接
(4)全连接
(5)左独有连接
(6)右独有连接

1、内连接 两表有关联的数据就显示,没有关联的数据就不显示
2、左连接 左表整张表显示,右表与左表相关联的数据就显示,不关联的数据就以null显示
3、右连接 右表整张表显示,左表与右表相关联的数据就显示,不关联的数据就以null显示

内连接查询(查询两个表都符合条件的数据)关键字 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语句?

selsct * from user limit 6,16; (6索引是表示第7行,16是步长)

10、项目组怎么使用SVN?还有其他功能吗?有在浏览器中使用过吗?

SVN检出(SVN Checkout) 项目文件从远程服务器下载到本地工作目录中

SVN提交(SVN Commit) 将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作

在浏览器中输入SVN地址,再输入用户名和密码,就能查看SVN的所有内容

11、根据自己的经验谈谈如何提高编写用例的水平和质量?具体怎么做?

a、规范命名用例、比如:【】,""

b、标题逻辑清晰、简洁

c、交叉评审或组内查漏补缺

d、使用不同的设计用例方法去编写(等价类,边界值,判定表,场景法,状态迁移法)

e、多和开发,产品交流重点,难点

12、项目组的人员有哪些?有主持过用例评审会议吗?怎么主持的?

(1)测试、开发(前后端开发),产品

(2)有

(3)测试人员提前发邮件通知:用例评审时间,地点会议室,在会议上谁编写的用例谁主讲,根据组员意见和建议,补充和完善测试用例,达到功能覆盖全面。

13、你们公司是怎么提bug的? bug是通过什么进行管理的?Bug的管理流程是什么?提交的bug包含哪些信息?

(1)在禅道上提、管理BUG

(2)Bug的管理流程:测试人员测试发现BUG,然后提出BUG给测试经理审核,审核通过,给到开发人员,开发人员接受以后进行修复,修复好以后,再给测试人员,测试再进行复测,复测OK,bug关闭。

(3)Bug包含的信息:
bug编号
bug标题
重现步骤
预期结果
实际结果
严重程度
优先级
创建者所属项目,版本,产品,模块
创建时间
当前指派

================

14、冒烟测试和回归测试有什么区别?

a、测试目的不同,测试时间段不一样

冒烟测试:测试主要功能和流程的用例测试

回归测试:对之前已经测试过的用例进行测试;

15、Linux怎么查看8080这个端口的使用情况?

(1)lsof -i:8080 (netstat -ntlp 查看所有端口)

(2)netstat -ntlp |grep 8080

(3)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、你们公司的开发和测试人员占比是多少?

5:1或6:1

19、你们数据库当中有多少张表?把user表中id=10的name字段的值改为多测师,怎么改?

(1)232表

(2)Update user set name=‘多测师’ where id=10;

20、怎么删除一个主键?

Modify取消自增长

alter table 表名 drop primary key;

21、你对视图是怎么理解的? 假如我要创建一个名字叫miao的视图,且要在俩个字段
上列如:name和class上面应该怎么创建?

(1)视图是一个虚拟的表,它不在数据库中以存储数据的形式保存,是在使用视图的时候动态生成。可对基本表的敏感信息进行保护

(2)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、你们项目组进行数据库连接的客户端工具是什么?怎样去连接的?

(1)Navicat

(2)打开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、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服务器?

(1)create table 新表名 like 旧表名;

(2)mysqldump -uroot -p xxx>/ xxx.sql

(3)rz 敲回车 文件名 将window系统的文件传送到linux中 或者 xftp工具

38、你们公司是使用什么工具进行代码和项目的文档管理的?请简述一下SVN工具的工作原理?在使用SVN过程中遇到报错怎么去解决的?
a、svn

b、SVN是复制== 修改===合并的模式

c、定位问题,检查仓库地址和密码是否正确

或(1)git 和svn

(2)上传=== =修改=======下载

VN管理代码是在一台服务器上建立一个过程库,用于存放项目的文档、源码。用户在开发前,需要把过程库里的项目文件下载到本地,然后开发人员在本机电脑上进行开发修改。修改完成后用svn命令进行提交到过程库,也可以通过代码更新获取其他人的代码

(3)查看文件历史版本,报错:条目不可用 解决办法:找到版本库目录conf目录下的 svnserve.conf 文件,把 #anon-access = read 前面的#去掉,然后改为 anon-access = none

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🅱️c:d:e:f:g:h)。
输入字母字符(例如:a1.b2.c3.d4,a🅱️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,遇到这种情况你是怎么处理的?

从三个角度:

测试角度:是否测试自己配置,服务等问题

开发角度:开发的报错日志,错误截图等

产品角度:少了需求或功能,就要产品去补

a.测试原因
测试自我检测,是否自己测试过程有问题或自己疏忽的问题(如页面显示404,自己启动),排除测试自己原因。
b.开发原因
1、截图页面错误提示
2、查看后台报错日志
3、查看接口,接口入参正确,返回参数错误就是后端问题;接口入参正确,返回参数正确,就是前端问题。
4、和开发沟通,沟通不行就现场找开发复现bug,要开发改。
5、如果确定是开发的问题,可以找相关负责测试人安排人协助修改。
c.既不是开发的原因,也不是测试原因,就是产品的原因;
开发按需求开发,测试按需求测试,但是少了一个步骤、功能,这样就要和产品核对,确认问题,如果是产品的遗漏就要产品发送邮件通知整个项目组,增加需求或功能点,然后重新走流程。

=========================
42、编写测试用例应该注意哪些地方?

a、需求文档上有的功能一定要覆盖
b、异常场景能写多少写多少
c、不要把bug写成标题
d、用例标题和用例步骤要写清楚、详细
c、预期结果要和标题首尾呼应

43、Mysql数据库的删除有哪几种?各有什么区别?

delete from +表名 where 条件 (删除表内容,不会删除表结构)
truncate +表名 (删除表内容,不会删除表结构)
drop table +表名 (删除表名和表结构)

drop>truncate>delete

delete,drop,truncate 都有删除表的作用,区别在于:

(1)delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。
(2)delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。
(3)执行的速度上,drop>truncate>delete,打个比方,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)数据库的账号和密码是否正确

(2)数据库是否启动 service mysql start

(3)是否授权成功并且刷新

(4)iptables (防火墙)是否限制了外部访问MySQL接口

(5)是否开启 MySQL 的远程登录帐号

(6)配置文件是否限制远程访问

46、软链接和硬链接有什么区别?
软连接可以对存在及不存在的文件或目录创建;

硬链接只能对存在的文件创建
硬链接文件间有不同的inode号,删除其中一个硬链接不影响其它同inode号的文件;

删除软链接不会删除它指向的文件,反之删除了软链接指向的文件软链接会失效;软链接作为快捷方式它会比原文件小,硬链接间文件大小相同。

=======================================
47、Linux指令cat, less ,more ,head ,tail 有什么相同和不同的地方?

(1)相同点:都是查看文件

(2)不同点:

cat :查看文件所有内容

less :是按上下翻页的形式查看文件

more :是按百分比的形式查看文件

head : 查看前面几行

tail :查看后面几行

48、你做过的项目当中,项目的基本输入(准入)和输出(准出)是什么?

准入:(提测)

1.环境已经搭建完成

2.开发完成自测且提交测试报告

3.测试计划写好

4.用例编写完成并评审通过

准出:

1.用例执行100%

2.bug修复100%==L1和L2必须为0,L3和L4经领导同意可遗留至下个版本(0bug)

3.提交测试报告

49、有没有自己搭建过测试环境?怎么搭建的?
(1)有
(2)我们在搭建环境之前,会准备好,服务器,jdk,Tomcat,MySQL,代码包
后面会配置好jdk环境变量,安装MySQL,设置好MySQL密码,检查防火墙是否关闭,安装好Tomcat,启动Tomcat,部署代码包。

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、怎么查看实时日志? 在哪个目录下面?用的什么命令查看?如果报错的日志太多
你是怎么去定位的?怎么去找到报错日志的?

(1)tail -f 日志文件 ,例如:tail -f catalina.out 在logs目录下

(2)logs文件

(3)tail -f

(4) cat 日志文件|grep ‘报错字符’ ;

(5)或vim 日志文件 /或? 匹配

53、Tomcat的启动命令 和Tomcat的端口号在哪里修改?

在bin目录下 sh startup.sh 启动Tomcat

在conf目录 vim server.xml 设置端口号 70号

54、jdbc你怎么理解的? 全称是什么?

jdbc是java连接数据库,全称:Java DataBase Connectivity

JDBC(Java Database Connectivity)是 Java 编程语言中用于数据库连接和操作的标准应用程序编程接口(API)。它为 Java 开发者提供了一种统一的方式来与各种关系型数据库进行交互,如 MySQL、Oracle、SQL Server 等,而无需关心不同数据库的底层细节差异。

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被占用了怎么办?用什么命令进行查看?怎么去结束这进程?

(1)Tomcat的默认端口号 8080 ;
(2)nginx的默认端口号80
(3)mysql的默认端口号 3306
查看: ps –ef|grep 端口号 查出进程号
结束:kill -9 进程号
lsof -i:端口

64、mysql数据库的配置文件存放在哪里?

/etc/my.cnf

65、什么叫动态资源?什么叫静态资源?

动态资源:需要服务器根据用户的操作所返回的数据,以及存储在数据库的数据,经过一系列逻辑计算后返回的数据。(需要访问数据库)

静态资源:存储在本地硬盘内的数据,固定的数据,不需要计算的数据。

66、nginx web应用服务器有哪些优点? 你用nginx做过代理服务器吗?nginx的动静态分离机制和负载均衡功能可以详细的介绍一下吗?

(1)优点:负载均衡,反向代理,处理静态文件优势,Nginx处理静态请求的速度高于Apache和Tomcat

(2)动静态分离机制:
服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由 Nginx 提供服务,动态资源由 Nginx 转发至后端。

负载均衡:Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。
但是不是把所有的web请求转发,而是将静态页面请求Nginx服务器自己来处理,动态页面请求,转发给后端的Tomcat服务器来处理。

67、对nginx的正向代理和反向代理有了解过吗?

正向代理需要在客户端配置,将本来要发送的请求转发到代理服务器(客户端+代理服务器一体)

反向代理需要在服务器上配置,将本来要发送到本服务器的请求转发到代理服务器上(服务端+代理服务器一体)

68、你们公司的服务器一般是怎么进行配置的?

(1)运维配置

(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 命令
功能:显示系统内存的使用情况,包括物理内存、交换空间(swap)的总量、已使用量、空闲量等信息。

top 命令
功能:动态显示系统中各个进程的资源占用情况,其中包括内存使用情况。同时也能查看系统整体的 CPU、内存等资源的实时状态。

73、给你一个拍照的功能,有什么测试点?

调用摄像头是否正常,拍摄按键是否正常,切换前后置摄像头是否正常等;

从功能,从安全,从性能,从外观,等
拍照操作:测试点击拍照按钮能否正常拍摄照片,照片是否清晰可辨,无模糊、黑屏、花屏等问题。
连拍功能:检查连拍模式下,能否按设定的连拍数量快速且准确地拍摄多张照片。
焦距:测试焦距调整功能,包括手动对焦和自动对焦。检查自动对焦是否迅速且准确手动对焦能否按用户操作调整焦点。
拍照响应:测量点击拍照按钮到照片拍摄完成并显示在屏幕上的时间,确保响应迅速,无明显卡顿。

74、说一下你为什么从前两家公司离职

(1)项目结束

(2)公司合同到期

(3)公司内部结构调整

75、你们公司是怎么培训新手的?有去培训机构学习吗?

(1)老带新

(2)每个月进行技术分享和学习

(3)每周进行业务培训

没有,通过csdn和博客园, b站学习

76、说说你印象最深刻的bug?

准备5个;

结合你项目:

比如:(1)满减活动在退单,解决方法

1、我印象最深的是我在做洋葱先生这个项目中,在进行注册账号时。对界面进行多个输入判断的时候,按界面从上到下的顺序--满足条件之后,注册是没有问题的。但是,改变一下输入次序,效验失败。
解决办法 开发重写判断顺序/逻辑

2、我印象最深的就是我在做小花金融这个项目中,出现的bug,一开始在提交贷款金融数字参数时,后台没有反应,界面也没反应,然后我用抓包工具,重新输入贷款参数,抓取url,参数内容,还有响应结果进行对比,发现参数内容是一致,则判断为可能是后台bug,然后查看数据库数据有没有输入进去,然后通过和开发人员的努力,最终解决了

3、做宜农贷项目的时候,在进行注册账号时,输入完账号和密码,在点击接收验证码信息时,手机上收不到验证码信息,从而无法进行下一步注册,而后跟对应的开发反应,定位bug/后台接收不到前台数据请求

4、财务后台系统查询时,查看订单区间大于一年时间会显示查询超时,比如查看2019年1月~2020年2月的所有借款订单,会显示超时。bug原因是查询数据量太大,表关联过多,解决方案:开发定时将数据统计到一张表,之后查询。

5、我上一个项目是一个p2p网络借贷平台的项目,给我印象比较深的bug有两个,第一个就是在平台注册时候使用手机号码注册,但是发现131开头的手机号码不能注册,显示号码格式不正确,还有一个是在登录了平台之后当有跳转界面即会生成另一个窗口的时候,在其中一个窗口点击退出登录,原本进其他窗口的时候都会显示请先登录,但是发现其他的窗口还是处于登录状态,这样的话降低了客户账号的安全性。

6:用户A在零点零分零秒充值成功,但是页面不显示该该订单的充值记录。
定位分析:查看后台数据表,用户A在零点零分零秒充值成功的记录存在,页面却不显示,
检查页面代码发现开发代码中忽略零点零分零秒的这一秒钟,导致这一秒钟的数据不在页面展示

7:用户A在调第三方支付网关接口时,生成了订单号T,但未支付,供
应商却自动向用户A的账户充值。
定位分析:由于补单代码在仅仅判断第三方支付返回超时,且未同时校验用户A支付
订单号T支付状态,自动修改订单号T的状态为1(1:在数据库字段值表示为“已支
付”),导致供应商认为用户的订单T已支付,直接按支付的金额给该用户充值等额的钱

8:界面销毁时,未关闭广播, dialog等,崩溃
Bug现象
Bug 85778:同一个账号,两部手机登陆,第一个登陆的手机,点击我的优惠券会退出app
Bug原因:
Fragement 存在广播和Dialog等有关控件,fragement销毁了,但是未关闭广播或控件,导致崩溃
Bug解决方法
在Fragement的onDestroy()中及时处理未注销的广播或Dialog。

9:未加载完布局,先调用布局,导致布局为null,崩溃
Bug现象
Bug 86244: 断网情况下,进入APP,点击消息,崩溃
Bug原因:
Activity继承BaseActivity,在onCreate()方法内,显示出错信息的布局,未放在initView(), initData(),initListener()前方,导致在initData()获得网络数据失败,需调用错误布局时,错误布局仍为空,调用失败,崩溃
Bug解决方法
将布局的注入放在initView(), initData(),initListener()前方。

10:Fragement不存在于viewPager,先调用其里面的方法,导致获取不到上下文,崩溃
Bug现象
Bug 86514: 断网情况下,进入APP,点击购物车,崩溃
Bug原因
在MainActivity下有调用到shoppingCartFragment(购物车)下的requestCartItems()(获取购物车信息)的方法。在断网情况下,第一次进入App,点击购物车,直接调用requestCartItems()。无网络情况下,同BUG系列二,崩溃。因为Fragement不存在,布局未加载。
Bug解决方法
在MainAcitvity调用requestCartItems() 方法时,加判断,判断Fragement是否已存在,shoppingCartFragment.isAdded().


比如:测试一个创建点单,金额要传输给外部平台出先,无法下单:金额超过1000元,1,000有一个逗号无法解析,导致下单失败。测试环境测试小额数据时可以正常下单,但是在线上金额超过1000就无法下单。

77、风险评估有哪些点需要去考虑的?

项目风险:人力,硬件,频繁变更需求,时间,需求不明确

风险评估: 黑名单, 收入证明,通信认证,资产,负债等

设计方面
(1)没有详细设计说明书;
(2)没有统一的界面设计规范。

开发方
(1)所有模块开发没有统一设计,开发人员有自己的设计方式;
(2)需求变更开发。
测试本身人力资源、硬件资源、版本控制、时间不足

78、Linux如何查找日志最后99行?

基本语法:tail -n 99 文件名
如:tail -n 99 example.log

实时查看更新:
如:tail -n 99 -f example.log

79、Linux如何在当前目录下查找text文件?

find ./ -name "text"
find是用于文件查找的命令,./指定了查找的起始目录为当前目录,-name是按照文件名进行匹配的选项,双引号中的text就是要匹配的文件名。

②如果确切知道文件名,例如要查找名为example.txt的文件,在当前目录下执行:
find. -name "example.txt"
这里的.表示当前目录,-name选项用于按照文件名进行查找,双引号中的文件名可使用通配符,如*.txt表示查找所有以.txt结尾的文件。

80、常用的测试的工具有哪些?

虚拟机管理工具VMware,数据库管理工具Navicat;
远程连接服务器工具XShell;
压力测试工具JMeter;
接口测试工具Postman;
缺陷管理工具Jira;
抓包工具Fiddler;
文档整理工具-百度脑图。SVN,禅道,xmind


功能测试工具Selenium
性能测试工具JMeter,LoadRunner
接口测试工具Postman
安全测试工具Fiddler,Charles
测试管理工具TestRail,Jira
功能自动化测试工具Selenium,
Appium:主要用于移动应用的自动化测试,支持 iOS 和 Android 平台,可以跨平台测试。

接口自动化测试工具Postman,
JMeter:除了作为性能测试工具外,也可用于接口测试。

性能自动化测试工具JMeter,LoadRunner

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)mysql数据库 一般是使用Navicat工具 用数据库存放数据 实现表与表之间的数据查询

(2)
①造测试数据
②校验数据正确性
③数据的容量
④字段显示(是否显示乱码)
⑤数据的增删改查功能
⑥数据库同步测试
⑦清除脏数据
⑧数据突发情况 (mgr集群三主三群)
⑨数据库中的加密字段(脱敏)

83、在不用vim下怎么把/data/a.txt中的123换成456 ==》
sed -i 's/123/456/g' /data/a.txt

sed:是流编辑器,用于对文本进行处理和转换。
-i:这是一个重要选项,它表示直接对输入文件进行修改,而不是将结果输出到标准输出。也就是说,/data/a.txt 文件会被直接修改。
s/123/456/g:这部分是替换指令。
s:代表替换操作。
123:是要查找的原字符串。
456:是用来替换的新字符串。
/g:表示全局替换,即在每一行中找到所有匹配 123 的地方都进行替换。如果不使用 /g,则每行只替换第一个匹配的 123。
所以,执行这条命令后,/data/a.txt 文件中的所有 123 都会被替换为 456。例如,若文件内容原本为 abc123def 123ghi,执行命令后就会变为 abc456def 456ghi。

答案②:sed's/123/456/g' /data/a.txt > /data/temp.txt && mv /data/temp.txt /data/a.txt

上述命令中,sed's/123/456/g' /data/a.txt将/data/a.txt文件中的123替换为456,并将结果输出到标准输出。>将标准输出重定向到/data/temp.txt临时文件。&&表示前一个命令执行成功后才执行后一个命令,mv /data/temp.txt /data/a.txt将临时文件重命名为原文件名,从而实现对原文件的修改。

84、说一下借款模块着重考虑什么?

借款金额、借款时间、借款失败规则,借款成功,借款中,还款方式,借款利息,用户信息

85、你做的金融项目,那么对于资金的数据流,后期如何跟踪维护?

资金流:银行卡余额--重置平台---存管银行--提现资金--资金从存管银行转入到个人银行账户

状态流:待充值--重置成功--提现中--提现成功

86、项目的阶段有哪些讲解一下。

开发阶段:单元测试、集成测试,系统测试,验收测试

、需求,开发,测试,验收,发版

87、多表怎么进行连接?

举例的方式:表1,表2

讲解

内连接:select * from 表1 inner join 表2 on 表1.关联字段1=表2.关联字段2 ;

左连接:以左表为主,(显示整个左表),右表关联的数据就显示,不关联的数据就以null形式显示

格式:select * from 表1 left join 表2 on 表1.关联字段=表2.关联字 ;

右连接:以右表为主,(显示整个右表),左表关联的数据就显示,不关联的数据就以null形式显示

格式:select * from 表1 right join 表2 on 表1.关联字段=表2.关联字 ;

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 文件名 删除文件

===========================================================
rz tomcat将服务器上传到中

tar -zxvf 解压包

cd 进入tomcat

cd webapp 下 rm-rf * 删除所有的包

rz 上传下载好的代码

在bin目录下

sh或./ 启动

自动解压war包

再去修改

修改配置文件

编辑 配置文件 vim 配置文件 修数据库ip和端口号,库名

wq 保存退出

前后端都要配置

在bin目录下

sh或./ 启动

====================

搭建数据库

yum install mysql

yum install mysql-server

mysql- u root -p

create database 库名

rz上传数据库备份包

还原数据库包

mysql -u root -p 库名>备份的数据库名

====================
放一个包流程:

rz 上传代码包

sh或./ 启动或关闭服务

ps -ef|grep 服务名称 查看服务是否开启

在logs下查看日志 tail -f 日志文件

编辑 配置文件 vim 配置文件 修数据库ip和端口号,库名

wq 保存退出

前后端都要配置

92、除了http协议,你还用过其他的协议吗?http和https协议有什么区别?各自的端口号是多少?Tcp和udp协议了解吗?

(1)https 协议

(2)https是安全传输协议,a、比http更安全 b、http相对速度更快

(3)http端口:8080 https 端口443

93、出现bug,你会给开发定位的原因,你会写些什么。出现最多的bug的原因是什么?

(1)会,去看后台日志,接口入参和返回参数,

(2)代码逻辑错误、需求不明确,

94、平常工作你们是怎么访问linux服务器,如果xshell连linux突然连不上,会有什么原因导致?

(1)xshell

ip地址,服务是否开启 (crt)

  • 在虚拟机上没有连上网
  • 没有开启SSHD服务可以通过系统->服务来查看是否启动了该服务,可以在命令行中输入service sshd status命令来查看该服务的状态
  • 防火墙是否开启(端口号22是否加入白名单)
  • 账户密码是否输入正确
  • 服务器未启动

95、你们公司做完一个项目,比较常见的文档有哪些?

需求规格说明书(SRS), 概要设计说明书(HLD), 详细设计说明书(LLD), 测试报告, 测试用例,bug清单,测试小结, xmind图测试点 ,测试计划

96、数据库你在工作当中是怎么使用的?

增删改查

delete、update、 select、 insert into

查询数据 校验数据的正确性,保持一致

造数据 insert into

修改数据 前后端数据的一致性

删除数据 清除数据


(1)数据的正确性

(2)数据的容量

(3)字段显示(是否显示乱码)

(4)数据的增删改查功能【增删改查 alter、update、 select、 insert into】

(5)数据库同步测试

(6)清除脏数据

(7)数据突发情况 (mgr集群三主三群)

(8)数据库中的加密字段(脱敏)

97、我看你有带领团队完成测试工作,制定个人绩效考核,讲一下你们测试的kpi绩效考核怎么做的?

kpi:是指绩效考核,又称“关键业绩指标考核”

效益指标

运营指标

组织指标

软件中:考勤,完成工作任务量,完成工作的质量,bug数、工时、特殊贡献、
给定范围评定: 优秀,合格,不合格

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)有

(2)测试小程序和web测试是差不多的,就是测试的入口不一样,测试通过扫码跳转到程序界面,调试成体验版(或开发版),在进行测试,如果有bug就提交开发,开发修改后就生成新的二维码,在进行测试;

测试:测试功能,测试兼容性,测试接口,测试安全等

(1)小程序类型

程序分为三种版本类型:开发版,体验版,正式版。开发版和体验版无需审核,需要给微信号配置权限,通过扫小程序的二维码才能访问。正式版需要通过微信审核流程,也就是说,在开发阶段,产品还未成型开始,无论你想怎么折腾,微信都有办法知道。这可不像你在网上找了个框架或是工具,在本地怎么玩都没人知道。微信小程序开发者工具使用之前就要扫码的。开发版和体验版的区别,在于开发版小程序的二维码有效期比较短。项目中,我们一般会准备三套环境。开发版访问测试环境,体验版访问预发布环境,正式版访问生产环境。

2 真机上的调试模式

微信小程序在真机上给开发者提供了调试模式,在真机上打开微信小程序之后,可以看到右上角的三个点,打开之后我们能看到有打开调试的字眼,直接选择打开即可,这里有一个重启小程序的过程,再次扫一扫二维码进入就可以看到调试了。

3 小程序码的兼容性问题

目前小程序不支持直接分享朋友圈,只能分享微信好友。所以很多小程序都采取了“曲线救国”的方式,通过生成带有小程序码的图片,用户可以退出小程序将图片发布到朋友圈。既然把小程序码作为图片的一部分,就涉及到小程序码的位置,尺寸,还得不影响原有图片的美观,生成的小程序码还需要是可识别的。这需要前端工程师费功夫做不同屏幕尺寸的适配。

基础库与客户端之间的关系。小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库无法兼容低版本的微信客户端。基础库更新时机。为了避免新版本的基础库给线上小程序带来未知的影响,微信客户端都是携带 上一个稳定版的基础库发布的。在新版本客户端发布后,再通过后台灰度新版本基础库,灰度时长一般为 12 小时,在灰度结束后,用户设备上才会有新版本的基础库。因此在不同版本的微信上进行测试,也是有必要的。

4页面回退(页面路径最多只能十层)

在这个保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。在官方文档中,有提示注意:目前页面路径最多只能十层。如果开发在这里处理不当,有可能出现超过十层回退,则会导致白屏,无法操作,导致必须重新打开小程序才能正常工作。

优势:
(1)同H5相似,依赖于微信,即点即用,用户使用成本低;
(2)主要样式代码都封装在微信小程序里,打开速度比H5快,慢于原生;
可以调用更多的手机硬件功能例如,GPS,录音等;
(3)开发,维护成本较低。

劣势:
(1)由于受到微信限制,微信小程序只有2M的大小,无法开发大型小程序;
(2)小程序技术框架还不稳定,开发方法常有更新,微信小程序团队也在开发过程中,导致短时间内经常要升级维护;
(3)不能跳转外链网址,所以间接影响了小程序的开放性,可能是想限制其他支付方式活功能接入;
(4)暂时不能直接分享到其他平台,少了一个重要的推广方式;
(5)需要像APP一样审核上架,这点比H5即做即发布要麻烦;
(6)小程序没有push功能无法推送消息,并且没有独立的用户体系,用完即走。)

112、你觉得如何写一条高质量的测试用例?

(1)使用测试用例方法编写测试用例如:等价类,边界值

(2)测试标题明确,简单,易懂

(3)测试步骤有条理

(4)预期结果和标题相呼应

(5)关注隐性需求

(6)设置用例的优先级

(7)前提步骤明确

(8)熟悉项目业务流程

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个数据库有数据接口是否没有返回
如果是数据问题则着重考试后台的问题、如果是页面报错提示的则着重考虑是否为前端问题

121、第三方支付的测试点有哪些?

1.支付安全 2.正常支付流程 3.支付过程 4.不同状态的订单支付 5.支付成功

122、如果以后你做管理层,你怎么去管理,你又会如何去做?

(1)工作中起带头作用

(2)了解管理团队的人员的技术和性格,能力

(3)工作中做好总结、计划、反思

123、授信额度怎么来的,依据什么划分等级的?

客户信息通过公司风控系统匹配授信额度,客户信息发送到银行,通过征信报告,银行流水划分等级

评分等级:a 、b 、c 、d

用户规则:用户信息:资产信息

124、你们公司的资金模式是怎么样的?(公司下款和以公司担保第三方银行下款)

银行托管资金,根据用户在平台录入的信息,匹配下款额度

================

测试流程(需求评审由产品主持,测试、开发参加就可以了)
写计划,写用例,执行用例,报告,准备,上线
项目流程: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有哪些:
写过测试用例吗?包含哪些要素?用例编号、用例标题、前置条件、用例步骤
黑白盒的方法有哪些?
黑盒测试的方法:等价类,边界值,因果图,判定表,状态迁移
白盒测试方法:语句覆盖

posted @   影清风  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示