一、如何指定测试计划
测试计划包括测试目标,测试范围、测试环境的说明、测试类型的说明、测试工具、模块的划分、测试负责人、测试轮次的安排,相关文档在文档管理库中的位置,测试的风险,其中模块划分需要根据测试人员对于业务的熟悉程度及个人能力进行分配、工作量的估算需要根据以往测试时的经验,结合本次需求的修改,可以大致估算出测数量。
二、在项目中如何保证软件质量
1、项目质量不仅仅是某个人或某个团队来保障的,而是整个团队一期努力的结果,在公司级别需要有一个规范的项目流程
2、产品,保证迭代过程中的产品逻辑,对于可能的兼容,升级做出预判,并给出方案
3、设计,满足产品的同时,保证设计的延续性
4、开发,产品细节的保证,技术方案选择要严谨,考虑兼容、性能,开发完成后要充分自测,严格遵循开发规范操作
5、测试,验证产品逻辑,站在用户角度对交互设计进行系统验证,尽可能多的使用技术手段,保证测试质量
三、测试报告包括那些内容
测试项目背景介绍(主要介绍这份测试报告具体的编写目的,测试系统名称,测试环境,等内容)
测试时间、测试环境
测试过程(评审记录,测试范围、测试用例)
功能实现清单(列出是否已经按照测试计划实现功能)
缺陷统计(测试bug统计,测试用例执行情况统计)
测试情况统计(资源统计、执行情况、问题统计、问题列表、遗留的问题)
测试总结(测试结论是否通过、bug的解决程度)
四、用例包括那些要素,bug包括那些要素
1、用例一般包括:用例编号、用例优先级、测试目的、所属模块、前置条件、测试环境、输入数据、测试步骤、预期结果
2、bug一般包括:缺陷编号、所属用例编号、所属项目、所属版本、所属模块、测试环境、bug类型、发现日期和发现人、缺陷标题、预置条件、复现步骤、预期结果、实际结果、缺陷的严重程度、复现率、优先级、缺陷的状态、解决人及日期、验证人及日期、附件截图
五、怎么协助开发定位问题
1、抓包分析:
通过对客户端进行抓包,分析服务端返回的数据是否符合预期,如果服务端数据是正确的,那就是客户端的问题
2、日志分析:
可以通过查看服务端/客户端的日志,分析有没有异常的日志信息,从而确定具体原因
六、web和app的区别
web端测试和app的测试类型基本相似,都需要进行功能测试、性能测试、安全性测试、他们主要区分:web端一般都是bs架构,基于浏览器的,app是cs架构,是有客户端的
从系统架构看:web只要更新了服务器端,客户端就会同步更新,而如果是app端下修改了服务器,意味着客户端用户所有使用的核心功能都需要进行回归测试一遍
客户端性能方面:web端可能只会关注响应时间,app则还要关心流量、电量、cpu、功能交互
兼容方面:web是基于浏览器的,所以更倾向于浏览器和电脑硬件、电脑系统方向的兼容,app测试则必须依赖于手机或者pad,不仅要看分辨率、屏幕尺寸,重要查看设备系统
七、cookie和session的区别
cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息,确定用户身份
1.数据存放位置不同:
cookie数据存放在客户的浏览器上,session数据放在服务器上
2.安全程度不同:
cookie不是很安全,别人能分析存放本地的cookie并进去cookie欺骗,考虑到安全应该使用session
3.性能使用程度不同:
session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie
4.数据存储大小不同:
单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点,最多保存20个cookie,而session则存储与服务器,浏览器对其没有限制
八、tcp和udp的区别
TCP是面向连接的,UDP是无连接的
TCP是可靠的,UDP是不可靠的
TCP是面向字节流的,UDP是面向数据报文的
TCP只支持点对点通信,UDP支持一对一,一对多,多对多
TCP报文首部20个字节,UDP首部8个字节
TCP有拥塞控制机制,UDP没有
TCP协议下双方发送接受缓冲区都有,UDP并无实际意义上的发送缓冲区,但是存在接受缓冲区
九、HTTP与HTTPS的区别
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
十、get和post的区别
1、url可见性:
get,参数url可见
post,url参数不可见
2、数据传输上:
get,通过拼接url进行传递参数
post,通过body体传输参数
3、缓存性:
get请求是可以缓存的
post请求不可以缓存
4、后退页面的反应
get请求页面后退时,不产生影响
post请求页面后退时,会重新提交请求
5、传输数据的大小
get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)
post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大
6、安全性
这个也是最不好分析的,原则上post肯定要比get安全,毕竟传输参数时url不可见,但也 挡不住部分人闲的没事在那抓包玩。安全性个人觉得是没多大区别的,防君子不防小人就是 这个道理。对传递的参数进行加密,其实都一样。
十一、当开发人员说不是bug时,怎么办
开发人员说不是bug,有2种情况,一是需求没有确定,所以这个时候可以找来产品经理进行确认,需不需要改动,商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。如果最终bug被确定不改,那么就要在测试报告里面记录一下,以便以后查阅。
十二、当用户需求变更时,你会怎么做
这个会经常遇到,一般如果是小的需求变更合理的话,能改的我们经理会直接让开发改,然后再测一下就好了,如果是涉及到比较大的改动的话,我们会开会讨论一下会影响到的模块,领导也会计算修改的成本,一般会建议放到下一个版本修改,如果必须要改的话,开发改完,我也会重新修改一下对应的测试用例,把可能会影响到的模块再测一遍
十三、接口测试用例的编写要点
(1)必填字段,请求参数必填项、可选项
(2)合法性,输入非法参数
(3)边界,请求参数的边界值
(4)容错能力,大量数据频繁请求、重复请求、网络异常的情况
(5)逻辑校验,两个接口有严格的先后顺序,需要测试调转顺序的情况
(6)安全性,sql注入,敏感信息
十四、app闪退什么原因
先多找几部系统一样的手机,做相同的操作,排查是手机问题,还是app的问题
如果其他手机上都是好的,就是这部手机有问题
如果其他手机上有同样的问题,就是app的问题
一、手机系统出现问题
(1)手机内存不足,或者:打开很多app,导致后台反应出现问题
(2)软件授权出现问题
(3)设备已经越狱,导致系统不稳定,闪退成了常事
(4)手机 缓存垃圾太多
(5)安装路径位置错误(比如:安装外置存储卡)
(6)手机配置问题 (比如手机配置低)
二、软件问题
(1)app 不兼容系统当前系统版本
(2)app有了新版本,没有更新
(3)app里的某些操作导致闪退
(5)网络差(软件对网速的要求比较高,如果用户使用 2 G/3 G 网络)
(6)分辨率不兼容(软件对手机分辨率有一定的要求)
(7)手机被植入病毒