1.测试的流程大概简述一下
产品经理根据客户的需求,编写出一个产品说明书,根据产品说明书写出需求分析文档,接下来开会对需求分析进行评审。接下来便进行详细的工作分配。开发人员根据需求文档进行编码,同时测试人员根据需求文档编写出测试计划书,测试组成员开会评审测试计划书,测试计划书通过之后,相应的测试人员根据工作安排编写出负责模块下的测试用例(根据需求文档),编写好测试用例之后,测试组的成员对大家写的测试用例进行评审,测试用例通过之后,便开始项目的测试工作,在测试过程中,发现缺陷,再一次复现,然后提交至禅道中,提醒相应的开发人员及时修补,对开发人员修补好的缺陷进行回归测试。
2、冒烟测试的作用,为什么要进行冒烟测试?
冒烟测试的作用:是在转版测试之前,先对核心基础功能的测试用例进行验证,确保业务流程没有严重的bug问题。减少软件测试的成本。
为什么:缺陷发生的时间越早,修复成本也就是越低;反之,修复的成本越高。如果我们没有做冒烟测试,容易发生项目进行到一定时间,发现本次提测的最基本的主流程都不通过,这时候再让开发人员去进行修复,可能导致会引发其他的缺陷问题,从而导致之前你的测试也需要重新进行。如果缺陷比较严重,会导致项目延期或者项目失败。
3.性能测试的性能指标有哪些?
响应时间、吞吐量、并发数、错误率、点击数、资源利用率
4.等价类边界值场景法一般是怎么设计测试用例的呢?
他们分别用在哪些具体的场景?
等价类一般是在存在输入框的时候使用的测试方法。等价类的测试用例包含有效的等价类。例如符合需求的输入值;还包含无效等价类,
就是不符合项目需求的输入值。
边界值:一般是在存在范围的情况下使用,一般测试用例包含范围内的任一值和边界最小值、边界最大值。
5.你之前搭建过测试环境吗?是怎么搭建的
- 搭建过linux系统下的测试环境
- 安装jdk,并用java version检查java是否安装好;
- 配置环境变量vi、etc、profile命令
- 安装并启动Tomcat,可以用浏览器输入网址来验证
- 通过wget下载安装MySQL源,然后查找并安装MySQL包,运行MySQL,修改初始密码
- 根据开发给的一些数据库脚本去执行,初始化数据库
- 将开发好的运用程序打包成war包,然后发布到Tomcat服务器的webapps目录下
- 验证MySQL和Tomcat是否都启动,http://localh:8080/项目包名
6.App专项测试都有哪些呢?
包含兼容性测试(针对不用的品牌、不同系统、不同的分辨率、不同尺寸、不同网络)
安装卸载升级(正常安装卸载升级、异常安装卸载升级)
交叉事件(来电、短信、语音、闹钟、通知)
push推送(推人用户角色、位置、权限)
APP性能测试
7.在工作中你是怎么进行接口测试的
首先,对需求进行分析,主要了解业务逻辑以及业务关联。其次,分析api文档,获取请求信息、请求URL、请求方法,以及测试要断言的响应信息或者是响应状态码。再者,编写测试计划,主要的内容是接口测试使用什么工具(我在项目中使用的是JMeter),哪些人测试哪些接口,风险的预知以及进度的控制。再者编写测试用例,对测试用例进行评审,在测试用例评审通过之后,搭建测试环境,执行测试用例,对缺陷进行管理。在测试工作完成之后,编写测试报告,测试报告主要包含测试用例的使用情况,缺陷处理情况,项目中遇到的问题,是否通过测试。
8.在工作中你是如何进行缺陷管理
在工作中,我是这样进行缺陷管理的。在我发现缺陷时,首先是将缺陷进行多次复现并进行录屏,避免出现偶然缺陷。如出现偶然缺陷,我会及时与开发人员沟通,让他也关注一下这一个现象。如果不是偶然缺陷,我会将缺陷提交至禅道中并编写号缺陷报告,以便于开发人员更好的找到并修复缺陷。在上传缺陷之后,我会私下发信息告知相应的开发人员,避免开发人员忘记修复,同时我也会跟进缺陷修复的进度,及时对修复好的缺陷进行回归测试以及是否可以关闭缺陷,一直持续到缺陷关闭。
9.性能测试怎么做的?
我以前使用的是JMeter做的性能测试,首先获取性能指标,当时测试的是100的tps(客户告知,根据以前的访问量或者在线率预估),然后我会进行压力测试,在测试计划下添加线程组,设置线程数为100,循环次数设置为永远,开启调度器,设置持续时间为2小时,然后添加HTTP取样器,填写相关请求信息,包含协议,ip或者域名,端口,
请求方式,请求路径,编码,请求参数,填写完成后添加断言,添加常数吞吐量定时器,设置tps为100,添加察看结果树,添加聚合报告,使用插件监控资源利用率,完成后执行性能测试脚本,监看性能指标,在聚合报告中监控响应时间,错误率,响应时间不能超过3S,错误率不超过千分之5,在插件在查看cpu内存,磁盘io,网络带宽,cpu内存使用率不超过85%,磁盘io,网络带宽不超过90%
10.何保证被测产品质量/用例覆盖度
(1)在需求评审阶段,熟悉并分析需求,对每条需求进行拆解,并对有疑问的地方及时和产品经理/BA沟通;
(2)在设计测试用例阶段,我一般根据需求文档用XMind对测试点进行整理,然后再对每个测试点进行测试用例的设计;另外,我们产品经理会在研发管理系统里建立他的需求,我设计测试用例时会将用例关联到需求上面,确保每个需求都有用例覆盖到;
(3)在用例评审阶段,我们一般先组内进行详细的评审;然后召集产品经理、开发一起评审,主要是评审一些业务流程和跨系统的接口,确保大方向没有问题,之后根据评审结果及时修正测试用例;
(4)在测试阶段,我们会有交叉测试,因为每个人考虑问题的角度不一样。另外在测试过程中,如果发现用例有考虑不周全的地方,会及时完善进去;
(5)在BUG修复我们进行验证时,会将这个BUG相关联的部分也测试一下,防止一些代码改动影响到之前的功能;
(6)在上线前,会进行一个深度回归,回归的用例会和开发、产品一起评估决定。
11.Cookie 与 Session 的作用及区别
- cookie数据存放在客户的浏览器上,session数据放在服务器上。
- cookie不是很安全,别人可以从本地的cookie获取你的信息,考虑到安全性应当使用session。
- session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
- 站点单个cookie保存的数据不能超过4K,很多浏览器都限制一最多保存20个cookie。
- 可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。
- cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,
- 关机会造成session生命周期的结束,但是对cookie没有影响
- 访问范围:
session为一个用户浏览器独享
cookie为多个用户浏览器共享