肖sir___面试题讲解___

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

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

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

(1)H模型

H模型:拿到需求=编写测试计划=编写测试用例==用例评审==导入用例管理工具==搭建环境==开发提交代码包(达到准入要求)==部署代码包(代码包发环境中)==冒烟测试通过==sit1系统集成测试(全部的用例)==发现bug提交给开发开发修改==测试输出测试小结=开发提交第二次版本包==冒烟测试=sit2系统集成测试以此类推达到准出要求=输出测试报告=通知uat验收测试=验收通过==版本封装==上线==线上测试==上线成功

(2)jenkins打包,自动化(有bug就提交修改,拉取最新的代码)

3、你们公司的bug分几个级别?

致命/L1
严重/L2
一般/L3(比较多)
建议性/L4

 

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

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

建表时添加:

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

表建好后添加:

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

5、购物车的测试点有哪些?

(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、你们公用那种数据库?数据库分为哪几种类型?举例说下

mysql  ,  

关系型数据库和非关系型数据库

关系型数据库:myslq,db2,oracle,sqlserver

非关系型数据库:redis

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

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

 

1、内连接   两表有关联的数据就显示,没有关联的数据就不显示

2、左连接   左表整张表显示,右表与左表相关联的数据就显示,不关联的数据就以null显示

2、右连接   右表整张表显示,左表与右表相关联的数据就显示,不关联的数据就以null显示

 

8、上线的一个基本的硬性要求?

(1)用例100%执行通过

(2)0bug

(3)输出测试报告

 

9、查询user表 中的第7到22行数据,请说出具体的sql语句?

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

 

10、说一说你的擅长技能?

对数据库,linux比较熟练

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

(1)使用多种用例设计方法对用例进行设计:比如,等价类

(2)可以先用xmind图梳理好测试点,根据测试点编写测试用例,保证覆盖率

(3)按模块,系统,命名规范,测试步骤按顺序编写

(4)关注 隐性需求用例,关联模块的需求用例

(5)通过用例评审来提高用例水平和质量(组内评审,交叉评审)

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

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

 (2)有

(3)通过发送邮件通知项目组成员,开发,产品,测试;包含时间,地点;在准备好从xmid图,需求,测试用例,在会议室中讲解用例(用例内容:用例标题,前置条件,预期结果等)

 

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

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

(2)Bug的管理流程:测试人员测试发现BUG,然后提出BUG给,给到开发人员,开发人员接受以后进行修复,修复好以后,再给测试人员,测试再进行复测,复测OK,bug关闭。
(3)Bug包含的信息:
 1、所属产品
2、所属项目
3、所属模块
4、影响版本
5、当前指派 (开发)
6、bug类型 (代码错误,设计缺陷,界面优化,配置相关,安装部署,安全相关,性能问题,标准规范,测试脚本)
7、bug标题
8、bug严重程度
9、bug优先级
10、重现步骤
11、相关联需求

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

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

冒烟测试是在单元测试之后,对新版本的一个基本功能进行测试。节省时间
回归测试是在软件的维护阶段进行测试,测试的重点也是检测引入一个新功能之后,是否会产生新的问题。测试时间较长

区别:测试时间不同

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

(1)netstat -ntlp |grep  8080

(2)lsof -i:8080

16、怎么把duocesi.txt这个文件打包成一个zip包?怎么把duoceshi.txt打包成一个tar.gz包?具体Linux命令是什么?

 zip   包名.zip   duoceshi.txt

tar   -zcvf       duoceshi.txt

 

 

17、怎么对需求进行分析?你们公司进行需求澄清会议有哪些人员参加?你们公司的测试环境是谁搭建的?

(1)

a、显性需求(主流程、业务、功能)

b、隐性需求

c、特殊需求 年化收益率3.65%*10000/365=1块 

d、关联需求

(2)有开发、产品经理、测试参加 
(3)环境是运维搭建

18、你们公司的开发和测试人员占比是多少?

1:5或1:6

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

(1)232表

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

20、什么叫索引?索引有哪些作用?

(1)

索引:
索引是一种数据结构
一个索引是存储的表中数据结构;
索引是咋表的字段上创建的
索引包含了一列值,这个值保存在一个数据结构中

(2)

a、我们可以将索引理解为字典的目录,当我们查询数据是根据索引建立起来的目录去查询数据

b、加快查询速度:group  by   ,order  by

c、保证字段的唯一性

 

21、你对视图是怎么理解的? 假如我要创建一个名字叫miao的视图,且要在俩个字段

上列如:name和class上面应该怎么创建?

(1)视图是一个模拟表(逻辑表)  它不在数据库中以存储的形式保存(本身不包含数据),视图是在动态中生成,可对基本表的敏感信息进行保护
(2)create view miao as (select name,class from user)

 

22、怎么查看创建好的索引?谈谈你对索引的理解?

show index   from  表名 ;
show keys  from  表名 ;

23、白盒测试方法有哪些?白盒测试的优缺点?

(1)白盒测试的方法:语句覆盖 路径覆盖 条件覆盖 判断覆盖 组合覆盖 条件组合覆盖  

(2)

优点:

1.深入程序内部,测试粒度较细。

2.是测试用例设计方法的组成部分,也是黑盒测试方法的有力补充。
3.为自动化测试与性能测试奠定基础

缺点:过分关注代码本身  可能会忽略实际的需求 人力成本较高

24、一条用例包含哪些信息?

1、用例编号
2、用例标题
3、前置条件
4、用例步骤
5、预期结果
6、优先级别

25、点击加入购物车,点击全选购买这个过程,会联想到多少张表?具体的表名字和里面的表字段有哪些?

买家信息表,订单表,卖家表,商品信息表
(id,admin_name, admin_password…………………)

 

26、Mysql数据库怎么往表中新增2个字段? 你用过的关系型数据库有哪些?你用过的非关系型数据库有哪些?

alter table 表名 add 字段名 字段类型(字符长度)
案例:alter  table   表名  add 字段名  int(10);
关系型数据库: oracle、mysql、sql server
非关系型数据库:hbase、redis、mongodb

 

27、怎么创建一个唯一索引? 怎么删除这个索引?
(1)create  unique  index 索引名  on     表名(字段名)

(2)alter table  表名  drop    index   索引名

28、你们项目组进行数据库连接的客户端工具是什么?怎样去连接的?

(1)navicat

(2)

打开Navicat软件,点击工具栏中的“连接”,进入连接设置界面。填写“连接名”、“主机名或IP地址”、“端口”、安装MySQL时设置的“用户名”、“密码”。然后“确定” ,在“管理区”显示我们设置的连接数据库,双击进行连接。连接成功后,显示该连接下的所有数据库。

 

c

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

31、你用过的常用的测试方法有哪些?说一下每种测试方法的特点?你一般用哪种测试方法用的比较多一点?

 

(1)黑盒测试方法,白盒测试方式,灰盒测试方法

(2)黑盒测试:关注输入和输出的结果,不关注代码内部结构

         白盒测试:关注代码结构的测试

         灰盒测试:既关注代码输入和输出的结果,也关注代码本身的结构

   (3)黑盒测试用的比较多

32、数据库常见的约束有哪些?

 a、非空约束 

b、唯一约束   

c、主键约束 

d、默认值约束

e、 自增长约束

 

33、Mysql数据库怎么创建一个用户dcs并给这个用户赋予本地和对所有的库所有的表进行所有权限操作的sql命令?

grant all privilege on . to    dcs@’%’ identified by “xxxx”

34、如何在数据库查看这周内最早成交的成交金额最大的那个人的姓名?

select name from 表名 where 金额=(select max 金额) from 表名 where 时间 between '2022/2/2' and ‘2022/2/9’);

35、请举例说一下兼容性测试应该注意哪些方面?

手机端:系统:Android系统、iOS系统的各个版本、塞班、黑莓、window phone等
手机型号
屏幕类型:曲面屏、全面屏、水滴屏、折叠屏等
web端:
系统:window7、window10、Mac os、Linux等
浏览器:IE、百度、谷歌、火狐等

36、请一分钟内说出30个Linux命令

答:文件目录:cd pwd ls/ll mkdir rm mv cp touch
打包压缩:tar -cvf -xvf zip unzip zip -r:压缩多个文件目录
查看文件:cat more less tail head tailf=tail -f:实时查看
文件搜索:find -name -type -user 、where、whereis
用户和组:groupdel groupadd userdel useradd passwd
权限:chmod chown chgrp
网络和进程:ifconfig ps -ef netstat -ntlp

 

ps -ef|grep     服务名称    查看服务名称

tail -f    日志文件      查看实时日志

cat  查看文件全部内容

kill  -9   强制杀死进程

sh  或./     启动文件

top查看实时日志

 lsof  -i:端口号    

mkdir   创建目录

touch  创建文档

cp   复制

mv   重命名或移动

scp 超复制

vim 或vi  复制

less  

more

head 

chmod  修改权限

chown  修改属主

chgrp  修改属组

cd

history  

useradd

passwd

ln

df

free

ifconfig

ping

ls

ll

pwd

 

37、Mysql数据中的表怎么进行备份? mysql中的数据库怎么备份到Linux服务器上面?怎么把Windows电脑桌面的文件上传到Linux服务器?

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

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

(3)rz    敲回车  或者xftp工具

 

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

(1)git  和svn

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

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

(3)

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

 

39、有一个输入框里面可以输入IP地址,请说一下他的测试点有哪些?

ip地址测试点:

格式:192.168.151.170

1输出和输入的是否一致

2输入框标题是否正确
3对特殊字符的处理
4输入框输入超过限制的字符处理
5输入框本身的大小长度
6不同的字符的输入
7对空格的处理
8输入框的类型
9输入的长度
10是否允许复制黏贴
11大小写混合情况
12关键字含有一个或多个空格的情况
13输入框输入是否加密
14输入框是否有时长限制
15是否对字符输入限制
16是否限制字符长短
17输入格式
18输入的边界值
19输入不同语言字符
20 输入敏感词
21输入负数值
22是否可以回车建换行
23输入后是否会有记录
24输入错误是否会有提示

 

 

 

 

 

 

40、请谈一谈你对存储过程的理解?你们公司一般用存储过程用来干嘛?
(1)存储过程就是实现某个特定功能的sql语句的集合,编译后的存储过程会保存在数据库中,通过存储过程的名称可以反复的调用执行。

(2)造的数据是指定在存储中

 

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 +表名 (删除表名和表结构)

 

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地址?

(1)windows的IP地址:cmd 输入ipconfig
Linux的ip地址:ifconfig

(2)ifconfig  eth0  ip

 

 

 

45、假如你通过远程客户端工具连接你的数据库服务器连接不上,你应该从哪几个方面

去排查?

(1)数据库的账号和密码是否正确

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

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

(4)防火墙是否关闭

(5)ip地址是否正确

(6)密码是否设置成功

 

 

46、软链接和硬链接有什么区别?

软链接和硬链接有什么区别

 1、硬连接指向的文件和原文件是同一个文件,文件都在同一个分区。

软连接指向的文件和原文件不是同一个文件。
2、硬连接不能跨分区,软连接可以。
3、新增的硬连接,连接数不变,而软连接新增要加一。
4、硬连接的编号inode是一样的,而软连接编号inode是不一样的。
5、原始文件删除,硬链接是可以访问的,而软连接不可以访问。因为硬链接是同一个分区的,原始文件删除了,可以用指向文件访问,软连接则不是同一个分区,删除原始文件就找不到原始文件所在的分区了,因此也不可以访问。
6、硬连接存放的大小是原始文件的大小,软连接大小是路经的大小。
7、硬连接不支持目录,软连接支持目录。
8、它们的相对目录也不一样。

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

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

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

(2)不同点:

cat  :查看文件所有内容

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

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

 

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

项目准入:什么时候开始进行测试阶段

(1)测试环境搭建完成

(2)开发完成自测报告

(3)用例编写好,并且评审通过

 

项目准出: 什么时候完成测试

(1)0bug

(2)用例100%执行

(3)输出测试报告

 

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

50、Tomcat和Nginx的区别,nginx有哪些优点?

(1)区别:Tomcat是Java应用服务器:它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

Nginx是轻量级的HTTP服务器是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器,常用做静态资源内容服务和代理服务器,更像一个HTTP server.
                                                                                                                                                          (2) Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache和tomcat。

51、日志的级别有几种?

info:仅是一些基本的讯息说明而已;
notice:比 info 还需要被注意到的一些信息内容;
warning 或 warn:警示讯息,可能有问题,但是还不至于影响到某个
daemon 运作。daemon()一直运行的服务端程序又叫守护进程。
err 或 error :一些重大的错误讯息,这就要去找原因了。(错误,出现多的)
crit:比 error 还要严重的错误信息,crit 是临界点 (critical) 的缩写。
alert:警告警告,已经很有问题的等级,比 crit 还要严重!
emerg 或 panic:疼痛等级,意指系统已经几乎要宕机的状态!很严重的错信息了。

52、怎么查看实时日志? 在哪个目录下面?用的什么命令查看?如果报错的日志太多

你是怎么去定位的?怎么去找到报错日志的?

(1)tail -f 日志文件  ,例如:tail -f catalina.out 

(2)logs 下

(3)tail -f

(4)cat  日志文件|grep

(5)vim   编辑   / 或? 查询  err或error

 

 

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

(1`)sh 或./

(2)在 tomcat中的cofig目录下  vim   server.xml

 

 

 

 

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

jdbc是java连接数据库,全称:  java   database   connectctivity     

55、数据库当中怎么区分大小写?

Lower_case_table_names=0   

 

56、你们公司的测试环境是由谁搭建的?

运维,测试经理搭建,  或者自己

 

57、搭建测试环境遇你认为要注意那些问题?

(1)服务是否启动

(2)配置文件修改是否正确

(3)数据库中导入项目数据

(4)兼容性问题

(5)端口占用

(6)服务多开原因

 

58、jdk是什么,有什么作用?

(1)jdk 是编译java语言

(2)dk是Java语言的软件开发工具包,能解释java程序,编译java语言,没有jdk的话无法编译java程序

59、你们公司的测试环境是基于什么搭建的?

lamp

lnmp

60、帮我解释一下webapps是什么?webapps目录下面存放的东西是什么

 (1)webapp 目录是存放应用程序;

(2)存放的是代码包,如文件夹,war包或jar包的形式

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

61、http和HTTPS是什么?各自的端口号是什么?

http是超文本传输协议,是互联网上的一种网络协议。它可以接收HTML页面,使浏览器更加高效。它的端口号是80
HTTPS是以安全为目标的http通道,是http的安全版。加密传输协议。它的端口号是443

 

62、nginx的端口号在哪个文件里面修改?为什么访问多有米前后台的服务器ip地址和访问mysql数据库的服务器ip地址是一致的?

在Nginx.conf中,可以使用vim进行修改,在第36行。因为访问的数据库是同一个服务器,所以导致他们的IP地址一致

路径:/usr/local/nginx/conf

 

 

 

63、Tomcat的默认端口号是多少?nginx的默认端口号是什么?mysql的默认端口号是多少?假如端口号80、8080、3306被占用了怎么办?用什么命令进行查看?怎么去结束这进程?

(1)Tomcat的默认端口号 8080 ;

(2)nginx的默认端口号80

(3)mysql的默认端口号 3306

 

(4)查看: ps –ef|grep   端口号  查出进程号
结束:kill-9  进程号

lsof -i:端口

 

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

cat /etc/my.cnf

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

动态资源:需要服务器根据用户的操作所返回的数据,以及存储在数据库的数据,经过一系列逻辑计算后返回的数据。
静态资源:存储在本地硬盘内的数据,固定的数据,不需要计算的数据。

 

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

(1)优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache和tomca

(2)

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

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

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

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

 

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

(1)运维配置

(2)根据项目实际情况 ;例如:前端工程1个服务,后端工程6个服务器  ,数据库有3个服务器(数据库集群)

69、假如你在前端页面点击一个搜索按钮的时候,有弹框提示:系统异常,这个时候你应该怎么去定位和分析这个问题?看日志怎么去看?

(1)a、将页面错误提示截图

b、查看接口,请求查看请求参数和返回参数,  如:请求参数和返回参数都正确,页面提示错误则是前端的原因;若请求参数正确,返回参数失败则是后端原因

c、在查看服务器日志,日志报错,和上下报文,确定具体问题:如端口占用,jabc连接失败等
d、重现bug

 

(2)tail -f  查看实时日志

 

70、你们公司有多少张表?能说出常用的几张表的名字吗?和表里面的具体的一些字段的名字?

根据项目大小决定,一般几百张,user,address,(name,phone_nub………….)

71、rpm文件怎么安装?

rpm -ivh “文件名”.rpm;

 

72、用什么命令查看linux中系统磁盘和内存的使用情况?

df 

free

 top(cpu)

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

测试点:

 

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

(1)项目结束

(2)父母在这边

 

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().

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

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

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

 

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

tail -99f   日志文件

tail  -n   99    日志文件

 

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

  find  -name    ./  "text"

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

post ,jmeter, fidder, xshell,禅道,navicat

 

81、一个student表有4个字段,student_id,class,name,age. 用sql语句查找出

class,name,age都相同的student_id

行子查询:

select  student_id   from  student where(class,name,age)=any (select class,name,age  from student where (select  conut(id))s from student  group    class,name,age   having s> 1   )

理解:三个条件相等

select student_id from student where class=name=age;

82、你们公司是怎么用数据库的?你在公司用数据库来做什么?

(1)mysql数据库 一般是使用Navicat工具 用数据库存放数据 实现表与表之间的数据查询

(2) a、造测试数据    b、校验数据正确性    

83、在不用vim下怎么把/data/a.txt中的123换成456 ==》sed -i 's/123/456/g'  /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 :数据库定义语言 (对表结构和表字段进行操作)
DML :数据库操作语言 (对表数据进行操作)
delete from +表名 where 条件 (删除表内容,不会删除表结构)
truncate +表名 (删除表内容,不会删除表结构)
drop table +表名 (删除表名和表结构)

89、打一个tar.gz包、zip包怎么打?命令是什么?

tar -zcvf XX.tar.gz xx
zip xxx.zip xxx 

 

90、Linux中查看aa.txt文件的第23到37行用什么命令?

Sed –n ’23,37p’ aa.txt

head   -n 37  aa.txt | tail -n  15  
====================================================

 

91、举例部署项目包的过程,用到了哪些命令?

搭建环境的流程:

jdk安装

下载好linux中的jdk包 rpm

 

rpm  -ivh      jdk包

java  -version   查看

 

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

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端口:80    https 端口443

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

 

(1)会

(2)先看页面错误提示, 在看接口入参和返回参数,在看日志 报错,重现步骤,实际结果,预期结果

(3)代码逻辑错误

 

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

(1)xshell

(2)a.在虚拟机上没有连上网
    b.未关闭防火墙
    c.ssh服务未安装.ssh进程未开启
   d.虚拟机IP地址发生改变,可配置静态ip

    e.ip、账号,密码错误

 

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

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

 

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

增删改查 

delete、update、 select、 insert into

 

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

造数据    insert  into

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

删除数据    清除数据

 

 

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

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

效益指标

运营指标

组织指标

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

 

98、电商平台秒杀活动专区怎么测试?

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

99、app测试有哪些着重的测试点?

 

1-1、App功能测试:

1. 功能测试:

安装、卸载测试:正常安装卸载后app的所有功能是否都正常

升级测试:升级之后app的数据是否丢失

业务逻辑测试:分解需求使用xmind思维导图工具梳理测试点编写用例用例评

审后执行测试

UI测试:界面布局是否混乱 界面内容是否显示正确、清晰

异常测试:断网 弱网 网络切换 来电话 来短信 电量不足等提示

1-2、适配测试:

2. 适配测试:

适配测试:在不同的硬件设备上app能否正常运行的测试

不同的平台:MTK(联发科(芯片产商))/高通(芯片与cpu产商)/展讯(国内芯片)

不同的组件:屏幕、接口、听筒

不同的可选项:cpu、内存、存储多 培 养 一 些 优 秀 的 测 试 工 程 师

1-3、App兼容性测试:

1. 兼容性测试:

兼容性测试:不同软件环境的App能否正常运行的测试

不同的操作系统:android ios以及系统版本

不同的手机品牌:小米 华为 苹果 oppo vivo 三星等以及型号

不同手机尺寸:4.8 5.1 5.5 6.1

不同屏幕的分辨率:1080*1920 1080*2340 1080*2400(宽1080个像素点*

长2400个像素点)越高表示屏幕的像素点越多 图案就更清晰

不同网络:2G 3G 4G 5G wifi

1-4、App专项测试:

1. 专项测试:

专项测试:因为app的终端是手机,严格来说属于手机的测试范畴

耗电测试:正向耗电测试(直接测试耗电量) 逆向耗电测试(系统资源占用情况)

后台耗电测试(后台运行耗电量)

流量测试:流量占用 后台流量

内存泄漏测试:内存占用 内存泄漏 内存不足

网络专项测试:弱网

蓝牙专项测试:蓝牙连接

T卡专项测试:2g 4g 8g 16g 32g手机存储卡

SIM卡专项测试:中国移动SIM卡 中国电信SIM卡 中国联调SIM卡

PS:指出响应报文协议及版本,状态码,响应头,响应体多 培 养 一 些 优 秀 的 测 试 工 程 师

1-5、App稳定性测试:

1. App稳定性测试:

稳定性测试:软件长时间持续运行,系统版本是否稳定,是否能持续的为用户

提供服务

2. 稳定性指标:

异常次数

异常频率

3. App稳定性测试实战:

Monkey工具

Monkey是向系统发送随机的用户事件流(如按键输入,触摸屏输入和手势输

入等),实现对正在开发的应用程序进行稳定性测试。可以更好的模拟用户操作,确

保App的稳定性

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

100、你们公司转测试有什么要求?(转测,提测,准出)

(1)用例写好,用例评审通过  ,测试计划写好, 测试环境搭建

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

101、支付功能有哪些测试点?随口说出10个以上?

1、最小值0.01
2、支付金额错误时,比如格式或数字错误
3、超大金额是否有限制
4、余额小于实际支付金额时
5、是否支持指纹支付,不支持时,是否给出提示
6、是否有免密支付
7、账号+密码支付
8、银行卡+密码支付
9、是否支持动态获取支付验证码支付
10、信用卡支付
11、支付时断网时,处理机制
12、支付失败时,如何补单/退单
13、余额不足时,是否可以继续充值支付
14、持续点击,是否会多次扣款
15、出现多次扣款,如何返

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

 

103、数据库联调在项目怎么做的?

联调测试: 系统与系统之间,模块与模块之间数据和控制流是否按照设计实现功能,联调测试是一种灰盒测试

 

104、假如客户在你们平台购买了一个标的过程,涉及到了数据库中哪些表,表里面有哪些字段?

 

 

 

105、怎么查表里是否新增了数据?

 select  * from  table xx where xx.data_field between to_d
ate('2015/05/01','yyyy/mm/dd' ) and  to_date('2015/07/31','yyyy/mm/dd' )
106

106、风险评估你要去考虑哪些点?

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

金融风险:征信,资产,负债,通信

107、怎么查询根目录下test文件中的dcs字符?

cat test|grep “dcs”

108、你在公司有做过分享吗?你们多久一次分享会?

有,一个月分享一次或一个季度分享

109、你们项目的开发框架是什么?前端的开发语言是什么?后端的开发语言是什么?你们公司用到了哪些数据库?

(1)sprint 框架

(2)html,xml

(3)python   java   c或c++      shell    php

(4)mysql

 

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、你最近看的一本书是什么?

《大话jmeter》  《软件测试指南》 《软件测试艺术》《测试工程师全栈技术》

114、你一般平时周末都怎么安排,在工作中碰到很难的问题你一般是怎么解决的? 你平时用的多的技术论坛都有哪些?

(1)看书,写反思,聚会,运动

(2)遇到问题,

a.先自己排除具体原因, 根据具体的报错找出问题

b.尝试解决问题,通过已有的技能或查询资料,技术论坛等

c、寻求帮助,同事或负责人,请教相关专业人士,如:找运维,找开发

d、总结

(3)csdn ,博客园,简书,

115、你们开发转测试需要多久?

根据项目来计算,一般1-3月   ,比如敏捷开发1周开始,一周测试

116、app测试需要测试哪些地方?==》

(1)功能测试

(2)适配性测试

(3)稳定性测试

 

(4)兼容性测试:不同软件环境的App能否正常运行的测试

不同的操作系统:android ios以及系统版本

不同的手机品牌:小米 华为 苹果 oppo vivo 三星等以及型号

不同手机尺寸:4.8 5.1 5.5 6.1

不同屏幕的分辨率:1080*1920 1080*2340 1080*2400(宽1080个像素点*

长2400个像素点)越高表示屏幕的像素点越多 图案就更清晰

不同网络:2G 3G 4G 5G wifi

(5)专项性测试

专项测试:因为app的终端是手机,严格来说属于手机的测试范畴

耗电测试:正向耗电测试(直接测试耗电量) 逆向耗电测试(系统资源占用情况)

后台耗电测试(后台运行耗电量)

流量测试:流量占用 后台流量

内存泄漏测试:内存占用 内存泄漏 内存不足

网络专项测试:弱网

蓝牙专项测试:蓝牙连接

T卡专项测试:2g 4g 8g 16g 32g手机存储卡

SIM卡专项测试:中国移动SIM卡 中国电信SIM卡 中国联调SIM卡y

第1个要考虑是否为前端代码有问题用错标签
第2个接口是否调用错误 (接口请参数正确,返回无,后端代码问题;请求的正确,返回也正确,那就是前端的问题)
第3个后台是否在部署 
第4个数据库有数据是否正确(数据库对应的是否正确)
如果是数据问题则着重考试后台的问题、如果是页面报错提示的则着重考虑是否为前端问题

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

 

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

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

a最好具备较强的测试技术水平 

 b勇于承担责任,把功劳推给测试团队.事事为先、严格要求 自己,处处起到表率作用  

 c在公司条件允许的条件下,多给团队成员争取福利 

 d知人善用,用人之长,合理分工:

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

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

 

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

 银行托管资金

 

posted @ 2022-03-16 18:08  xiaolehua  阅读(546)  评论(0编辑  收藏  举报