软件测试工程师面试问题总结
1、 迭代:一周或者是两周迭代一次,版本更新,会增加新的需求,迭代一次不会进行用例的评审。一个小的需求一般10条用例
2、 Stub对桩函数:在单元测试长辈其他模块调用,在自底向上的集成过程中尤其有效
3、 测试工具:
功能自动化测试工具:QTP RFP QARun Silk
性能测试工具:loadrunner robot QAload WAS Silk performance
单元测试、白盒测试工具:Junit jmeter devpartne jprobe Purify Plus
安全测试:Appscan Fortify
缺陷跟踪工具:Bugzilla Mantis 禅道 bugfree TestLink
4、 手机测试包括:
- 兼容性测试
- 性能测试:pcu tps 响应时间 CPU 内存占用情况 磁盘io 网卡负载
耗电量 页面与页面之前反应时间 操作快不快
- 接口测试
- 场景测试
- 容量测试
- 稳定性测试
- 安全测试
5.、APP在运行过程中会出现卡?
手机本身不卡,APP会卡是应为APP吃掉了内存或者是cup、CPU的运算能力不强、
处理器不好
6.、闪退的情况:手机内存不够、APP崩溃、程序出错等,还有就是有些版本不兼容,
7、给你一个小项目或者是小需求,怎么进口的入手进行测试?
尽快熟悉业务,先从主功能进行入手,分析需求,参与测试计划
8、一个搜索款怎么进行测试用例编写?
先对界面进行测试 然后就是搜索内容、长度 、必填项、兼容(等价类)
9、需求分析阶段---计划阶段---设计阶段---测试阶段
计划阶段:主要是编写测试计划,参与软件需求规格说明书,项目总体计划。内容包括:
测试范围、进度安排‘、人力物力的分配、整体测试策略的制定和分析的评估与规避措
施一个制定’,测试计划一般是由我们的主管进行编写,我们会参与相关的评审工作
10、APP测试使用的是真实环境,模拟器有局限性,有些API是模拟不出来,比如:拍照、扫描、蓝牙、WiFi等这种和硬件相关的,模拟器就不方便测试了
11、解决的bug成功的几种状态:不予解决、设计如此、已解决、已关闭
12、有没有测试出特别好的,对开发帮助特别大的
可以说取现的时候,客服提供到银行卡的钱跟页面上确认的不一样,小数点后第二位
不准确,最后发现是应为开发使用了错误的数据类型导致数据金准度的丢失
Tomact是j运行java的服务器 JDK是java的开发的一个工具包 JDK环境变量的配置需要配置三个:
JAVA_HOME变量:变量名: JAVA_HOME
变量值: C:\jdk1.6.0
Path变量:在jdk的bin目录下面有我们常用的java应用程序
classpath环境变量变:java中有两个jar包。是别人写好的很多类,所以配置好这个变量可以利用别人写的类,在java的lib目录下面放入两个jar包。
Linux是操作系统,centos是Linux发现的版本之一, MySQL是数据库
虚拟机VM是安装Linux然后通过xshell用命令来操作Linux ,用xftp往虚拟机中的Linux里面传输文件,一般是放在Linux的usr/local目录下面
问题一:简历的熟悉程度
- 什么是数据库MySQL?——页面中的东西都是存放在哪里的
数据库的作用?——用来储存数据,数据库中的表示储存单元
数据库的查询用的什么软件?——在Navicat for MySQL中建表—查询—新建查询—
查询编译器—编写SQL语句—运行
数据库的主要功能:创建数据库、插入数据、修改数据、删除数据、查询数据、
- 什么是Linux?——操作系统,相当于是Windows的系统。CentOS是Linux发行版之一
Linux的作用?——安装一个虚拟机通过xshell(是一个客户端)进行连接,通过命令行界
面进行操作Linux
通过xftp进行传输文件
Linux命令有哪些,分别都有什么作用?
——系统管理命令::su 切换账户
Ifconfig 查看IP地址
Ping 检查网络是否连接
Kill 杀死进程
Kill -9 强制杀死
——系统资源查询命令:ps 查看进程
Ps -ef 查看所有的进程
Netstat 查看网络状况
Netstat -apn 查看所有的端口
——管道命令:Ps -ef | grep xiaobao
查看所有进程,通过管道找到相应的进程包名
Kill -9 杀死进程
Chmod 赋权命令 chmod -R 777 XIAOBAI
——目录操作命令:cd xiaobai 进入目录里面
cd / 根目录
pwd当前目录
mkdir 创建目录
rmdir 删除目录
ls ll 查看说有的目录
——文件编辑就命令:vi a.txt 编辑文件
Cat a.txt 查看文件
rm -rf 强制删除
find / -name .txt 在根目录下面查找txt文件
——文件解压压缩命令:
压缩 tar -czvf test.tar.gz.test 将文件压缩成.test.tar.gz
解压 tar -xzvf test.tar.gz.test将文件解压成.test.tar.gz
完成编写Linux命令的工具是什么?——通过xshell来完成对Linux界面测操作
——通过xftp对Linux进行文件传输
- 什么是java?——java是一门后台开发语言 dreamweaver是前台页面
Java的作用?——web系统开发和APP服务器的开发
完成java的实现是用的什么工具?——Ecipse 在上面创建一个项目—在src下面创建一个包--在包下面创建一个类。
程序的执行入口:public static void main(String [] args)
程序的执行打印语句:System.out.println(“小白”) 输出的结果是小白
Java的常用语句?
- 什么是Tomact?——运行JAVA的网络服务器,和微软IIS的作用一样.是一种web端的服务器
Tomact服务器的环境部署?
Tomact与MySQL、JDK环境之前的关联与关系?
- 安装VM虚拟机,然后在里面搭建Linux系统
- 下载centos是Linux发现的版本之一,
- 新建一个虚拟机,吧安装包导进去,然后设置用户和密码,安装完成后用ifconfig查看IP地址,然偶连接xshell,来连接虚拟机,操作Linux命令
- 安装JDK ,并将JDK通过xftp传到Linux环境中去,上传到/usr/local下面
- 在profile中编辑进行JDK环境配置。配置成功后,输入java -vision出现JDK的版本的信息就表示成功
- 下载Tomcat,用xftp把解压的tomact上传到/usr/local下面,然后在进行环境变量配置,
- 进入Tomcat的bin路径,启动tomact,,然后在电脑上面直接输入IP地址加上8080的端口数,要是出现Tomcat的官网就表示配置成功
- MySQL的配置,在线安装yum install mysql-server ,安装完成后,启动MySQL就可以
- 什么是JDK?——dk是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序JDK为什么要配置环境?——在电脑上面安装JDK之后需要在系统属性里面添加环境变量
JAVA_HOME变量:变量名: JAVA_HOME
变量值: C:\jdk1.6.0
Path变量:在jdk的bin目录下面有我们常用的java应用程序
classpath环境变量变:java中有两个jar包。是别人写好的很多类,所以配置好这个变量可以利用别人写的类,在java的lib目录下面放入两个jar包。
三个变量名,因为要是不配置好JDK的环境,java里面的包和程序就用不了
什么时候需要用到JDK?
二:接口测试
- 什么是接口测试——接口测试时测试系统组件间接口的一种测试
接口测试是模拟接口的调用,根据接口文档的输入规范,来检查接
口返回自是否符合输入规范
接口测试不同于单元测试。单元测试是整个系统的代码逻辑进行测试,而接口测试时站在客户的角度进行全面的检查
- 为什么要做接口测试——提前的发现bug,避免后期发现跟多的bug,降低时间成本
- 什么时候做接口测试——在开发写代码阶段,开发完成了接口的开发就可以进行接口的
- 接口测试的工具有jmeter和SOAPUI
测试,接口测试也是单元测试的一种
- 你有做过哪些功能模块的接口测试——登录 注册 实名认证 绑定银行卡
- 接口测试的流程是什么——分析接口文档、编写接口用例、搭建测试环境、执行用例
我是怎么做接口测试的—— 用例的编写:1.对接口的必填参数进行校验
(等价类 边界值 正常异常)
2.对接口的业务逻辑进行设计
(已被注册 黑名单等)
- 怎么判断接口是否是好的——输出的接口月需求不一致。去看后台日志,找到抛错的地方,直接提交bug截图粘贴到bug禅道中区
- 接口的分类、接口的传递方式——http接口:是基于http协议,通过post、get请求获
得请求
Webservice接口:是基于soap协议,通过soap来获
取请求
传递方式:xml/json/txt xml相当于是HTML前后相对应
Json相当于是键值对
Post和get的区别:get会在URL中变现出来。Get一般用表单的形式
- 接口测试环境的搭建——
- 接口测试工具的选择——多个接口用jmeter 单个的接口用soapui
- 接口测试的报告——测试环境用配置:数据库服务器、客服端配置、网络环境配置
测试方法(黑盒白盒)
测试执行的情况:测试的版本测试的时间)
缺陷的统计:bug类型统计、等级的统计、分布模块的统计
- 接口测试中需要关注那些——catalina.out 记录查看错误的日志
Vi tail -f 查看
查看日志的方法:搜索error或者是exception
问题三:性能测试
1、功能测试与性能测试
功能测试:主要的是采用黑盒测测试方法,需要测试软件产品的功能,不需要测试软件
产品的内部结构和逻辑,
性能测试:主要是关注于产品整体的多用户同时并发下的稳定性和健壮性(需要确保功
功能没有问题之后再进行性能测试)
是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的
各项性能指标进行测试,包括负载测试和压力测试
一部分是:后台服务的性能测试:API的响应时间和响应报文大小
一部分是:自身的性能情况:占用CPU、内存、i/o 、电量情况、页面之前的切换速度等
负载测试:逐渐增加负载,系统各项指标的变化情况
压力测试:测试系统的限制和故障恢复能力,看系统会互惠崩溃,在什么情况下进场崩
溃,
2、负载和压力测试需要关注性能指标:
事务:表示用户发送请求—接受请求、处理—获取数据—生产用户页面,返回给用户
请求响应时间:从客户端发起一个请求看的到服务器端响应的时间,web一般是在3秒之
内,APP一般是在1-2秒之内,响应的时间单位一般是以毫秒为单位
事务响应时间:一系列请求组成,事务的响应时间是直接衡量系统性能的参数。
比如跨行取款事务的响应时间就是有一系列请求组成的
并发用户数:两种情况:1、严格意义上的并发:所有用户同一时间做同一件事情或操作
2、广义范围的并发:所有用户同时请求和操作不一样或者是一样,
吞吐量:一次性能测试过程中网络上传输数据量的总和
吞吐量/传输时间=吞吐率
tps :每秒钟系统能够处理交易或者事务数量 是衡量系统处理能力的重要指标
3、性能测试的工具:loadrunner robot QAload WAS Silk performance
我们自己做过的性能测试时通过jmeter进行测试的。
5、 怎么做性能测试的?流程是什么?通过什么指标进行判断的?
先确定功能模块:登录—投资—登出 、准备测试数据、准备并发量、准备脚本、通过jmeter进行测试 最后通过事务响应时间、tps、请求响应时间、tps来判断性能指标的
问题四:项目的熟悉程度
1、 摇财树web、app端做过哪些功能模块
2、 摇财树项目有哪些
3、 摇财树整个的业务流程是什么样的
4、 摇财树接口测试有哪些功能模块
5、 摇财树整个业务的流程熟悉
问题五:整个功能测试的顺序(考虑的方向)
Web 端测试分为6个阶段
- 功能测试
- 性能测试
- 用户界面测试:导航 图形 内容 表格 整体界面
- 兼容性测试:平台测试:Windows、Unix、Macintosh、Linux
浏览器兼容
分辨率
连接速率
- 安全测试:目录 登录 日志文件
- 接口测试: