常用软件测试面试题

上一篇 / 下一篇  2021-07-07 16:51:36 / 个人分类:职业发展

1.你是如何看待帮助别人工作?

答:经过领导同意,在不影响自己的本职工作的前提条件下,我很支持同事之间的互帮互助。

2.测试流程你们公司是怎么开展的

答:我们公司是需求评审—编写测试用例—用例评审—执行测试(冒烟测试—系统测试—回归测试)—测试报告—上线

3.项目上线的原则

答:测试用例全部执行完成

需求全部覆盖

BUG单全部关闭

4.版本谁来发布?

答:开发发布版本

5.测试工程师平时的工作

答:参与需求评审编写测试用例测试用例评审执行测试用例提交bug,跟踪bug提交测试日报提交测试报告过程的评价软件本身的评价

6.测试报告发给谁,内容?

答:发给项目相关人员,开发,产品,UI,同组测试人员

内容:测试范围,准出标准,测试过程记录:执行多少用例,修复多少bug数量,遗留问题。

测试总结:本次测试是否充分,能否正常上线,有何风险。

7.你理解的测试(测试的定义和目的)

答:测试是对软件检测的过程,目的是提高软件质量和用户体验

8.alpha测试,Beta测试

alpha测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际环境下进行的测试。

Beta测试:在开发和测试已经全部结束后,并且在最终版本发布之前进行的测试。这类测试典型的是由用户进行的,而不是由开发者或测试人员进行的。

9.测试用例的设计方法

答:常用设计测试方法等价类划分法,边界值,场景法,错误推断法

10.你是一个测试工程师,怎么保证软件质量的

答:要想保证软件的质量,参与项目的每一个成员都有责任参与质量保证。

  1. 测试策略:质量是多维度的,功能测试性能测试、兼容性测试等多种测试类型的结合

  2. 用例质量:采用合适的用例方法,如何进行需求分析,用例评审

  3. 执行质量:如何保证执行深度(界面、关联模块、数据库、日志)与广度(系统测试类型

  4. 缺陷质量:Bug评审,引入合适的Bug流程

  5. 过程质量:合理的软件测试流程,测试过程监控

11.接口测试你是怎么测试的?

答:我们使用jmeter,在jmeter里面写脚本,添加断言验证返回结果,有时候也去数据库进行核对。(我们会对接口进行通过性验证,验证参数组合,结合业务逻辑(如用户名要求6-16位,我们要验证))

12.你们公司是怎么展开接口测试的(过程)

答:接口测试文档评审(文档:word文档或者网页形式,文档内容:url,参数,参数类型)接口用例脚本执行测试

13.cookie的作用,cookie和session的区别

答:cookie作用:能够记录登录状态,session作用:缓存登录信息。区别就是:cookie是在客户端,session是在服务端

14…熟悉哪些接口测试的工具

答:jmeter,postman,抓包也可进行接口测试,如charles,fiddler

抓包工具怎么测试接口,以charles为例

  1. 看请求里面的参数是否正确

  2. 看返回的结果和状态码

  3. 结合实际的业务逻辑修改参数(比如用户名要求6-16,我们可以修改用户名参数的长度)

15.jmeter第三方jar包放在那里

答:lib/ext

16.接口测试遇到过什么问题?

技术上没遇到什么问题,有时候会遇到环境上的问题。

  1. 测试环境不稳定,服务器经常停用,导致接口测试运行不起来

  2. 短信验证码问题,

  3. 接口之间有关联的时候,前一个接口返回的值有问题,导致后一个接口请求有问题,此时用charles花时间定位问题,但是最终都能解决

17.接口测出过什么问题吗?

例如:登录的时候要求密码**,正常情况下应该是**请求后返回登录成功的数据,实际上**后请求不通,后来密码传入明文,请求成功。

问题:客户端(前端)没有做**处理,服务端没有做解密处理,前后端都有问题

  1. **的时候要求填写验证码,发现直接绕过验证码(没有填写验证码),也能**成功

  2. **过的手机号还可以在此**

  3. 退出的时候假退出(没有登录就退出)

  4. **用户要求6-16,接口传递小于6位或者大于6位的参数**成功

  5. 数据库入库问题,比如添加商品提示添加成功,验证数据库无此数据

18.sql语句

  1. 更新语句:update表名set字段1=?字段2=?字段3=n?where条件

  2. 删除语句:daletefrom表名where条件

  3. 插入语句:insertinto表名values(字段1,字段2,字段n)

19.多表联合查询

内连接:select*from表Ajoin表Bon条件;

左连接:select*from表Aleftjoin表B条件;

右连接:select*from表Arightjoin表B条件;

20.常用的聚合函数

max(字段名)最大

min(字段名)最小

avg(字段名)平均

sum(字段名)求和

count()统计记录数

selectmax(sal),min(sal),avg(sal),sum(sal),count()fromemp;
selectmax(sal),min(sal)fromempgroupbydeptno;

21.复制一张表

createtable表名asselect*from表;

只复制表结构

createtable表名asselect*from表名where1=2;

22.排序orderby

升序(asc),降序(desc)

升序:asc,排序的时候默认是升序

降序:desc

语法:select内容from表名orderby字段desc[asc]

selectename,salfromemporderbysaldesc;

23分组查询

语法:select内容from表名groupby字段名;

分组语句查询的内容只能是聚合函数或者是groupby后面的字段。

单条查询语句groupby后面不能跟where,使用having

selectmax(sal),deptnofromempgroupbydeptnohavingdeptno=10ordeptno=20orderbydeptno;

24.app测试和web测试的区别?

web测试一般都是b/s架构,基于浏览器,app则是c/s的,必须要有客户端。在系统测试产生区别

25.给你一个app你怎么测试?

功能UI(界面)易用性安全性(能不能轻易被反编译jd-gui)安装,卸载兼容性流量,耗电量

26.你对持续集成的理解?继续集成工具?

持续集成是一种软件开发的实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。jenkins

27.常用的liunx的命令

ifconfig:查看ip地址

ls:查看当前路径下的文件

cat文件名;查看文件的内容

tab:快速补全

su用户名:切换用户

passwd:修改密码

cd波浪线:进入家目录或者叫root目录,类似windows里面的桌面

cd/root:进入家目录

cd…:回到上级目录

cd…/:回到上级目录等同于cd…

mkdir文件夹名:创建一个空的文件夹

rmdir文件夹名:删除一个空的文件夹

rm-r文件夹名:删除非空的文件夹,有提示(y是yes,n是no)

rm-rf文件夹名:强制删除不提示(面试题,如何删除一个非空的文件夹)

touch文件名:创建一个空文件

rm文件名:删除文件

rm-f文件名:强制删除不提示

vim文件名:编辑文件

vi文件名:编辑文件,等同vim

键盘输入i或者o进入编辑模式或者叫输入模式,即可以进行输入编辑

键盘上esc键退出编辑模式或者回退到命令行模式

使用:wq保存退出

使用:q!退出不保存

more文件名:查看文件里面内容,使用enter键查看完整的数据

less文件名:比more更灵活,支持上下翻页,使用pageup,pagedown进行翻页,笔试题

head文件名:默认查询文件的前10条

head-20文件名:查询文件的前20条

tail文件名:默认查询文件的后10条

tail-20文件名:查询文件的后20条

unzip:解压zip文件

tar:解压命令,如linux下解压tomcat

chmod:赋权

28.简单说下bug的等级?

致命:一般会引发蓝屏、死机、人身生命安全威胁、非常重要的功能没有实现或未正确实

现、数据库死锁、数据库连接失败、因为错误操作导致程序中断

严重:重要功能没实现或者出现错误、接口出错

一般:常用功能没实现或者出错,界面错误、出错不提示、输入限制不在前台实现

小:界面不规范,长时间操作不提示、文字不使用专业术语、必输项与可输入项没有明

确区分

意见和建议

29.工作中自动化测试遇到过什么问题吗?

答:1.元素定位不到:如iframe的问题2.窗口切换问题等3.验证码问题。

30.app闪退(崩溃)的原因有哪些?

内存溢出兼容性问题空指针下标越界

31.如何降低bug率

除了开发和测试认真工作外还可以:

  1. 定一个研发流程:比如开发的代码需要同事之间的审查

  2. 定一个测试流程:如先进行需求评审—然后编写用例—用例评审—测试(测试过程如:冒烟测试,系统测试)

32.怎么造数据?一万条数据怎么造?

前端页面或者数据库维护数据

如果是一万条我们会导入sql文件,sql文件里面写的有循环插入的存储语句

再问如何写循环语句:就是类似java的for循环

33.数据库去重复?

distinct如selectdistinct字段from表名;

34.怎么查看app日志?查看设备

adblogcat(查看日志)adbdevices(查看设备)

35.linux如何查看日志

一般我们使用动态查询:tail-f文件名|grep查询的信息

36.单元测试

junittestng也可以

37.什么是参数化

输入的地方使用参数来代替

38.postman怎么参数化

两个大括号:{{}}

39.json有几种表现形式

两种,分别是JSONArray,JSONObject

40.怎么设置代理

手机:配置ip地址,配置端口号

浏览器:代理设置里面配置ip地址,配置端口号

41.你会搭建测试环境吗?你搭建过哪些测试环境?

答:会,我在服务器上布置过tomcat,把war包放到对应的目录下,还有就是根据公司提供的搭建文档进行相应的操作。

42.tomcat如何启动的

linux下

简单的说就是运行./startup.sh脚本

过程:

使用ls命令,可以看到bin目录下的文件

运行bin目录下的启动命令脚本

shstartup.sh或者./startup.sh

这样tomcat就启用了


TAG:

 

评分:0

我来说两句

Open Toolbar