测试面试点

测试面试题

 

三、问答题

1、在您以往的工作中,一条BUG记录都包含了哪些内容?如何提交高质量的bug记录?

 

答:a)包含内容:bug编号,bug标题,bug模块、具体描述,bug等级,重现步骤,bug出现的版本号、测试环境,指派给的人,修复等级,bug状态、开发接口人员及版本号,相关附件等

  1. 每条bug里只包括一个bug、不可重现的bug也要报告、描述要简明准确、根据bug问题的图片捕捉。

 

2、测试分为那几个阶段?

 

答:开发阶段:单元测试 -> 集成测试时 -> 系统测试 -> 验收测试

单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标

集成测试:对已经测试过的模块进行组装,进行集成测试。目的就是在于检验与软件设计相关的程序结构问题。

系统测试:检验软件产品能够与系统的其他部分(比如:硬件、数据库及操作人员)协调工作。

验收测试:检验软件产品质量的最后一道工序,主要突出用户的作用,同时软件开发人员也有一定程度的参与。

 

  1. 了解哪些测试工具?你是用过和知道的测试工具有哪些?各有什么用途?

 

Bug管理:禅道、QC(收费)

接口测试:postman、Jmeter、soapui

单元测试:JUnit

自动化测试:Selenium

性能测试:Jmeter 、LoadRunner

管理linux系统:xshell、xftp

抓包工具:谷歌自带、

ixia:网络收发、网络流量测试工具

SmartBits可测试路由器性能和防火墙抗攻击能力
Fluke进行布线验收测试
Chariot可进行特定应用性能测试和链路稳定性测试
LoadRunner是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试.
WinRuner是企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行,自动执行重复任务并优化测试工作,从而缩短测试时间。
局域网络测试工具——QCheck

 

4、先有一个程序,页面提供3个输入框a、b、c,一个输出框d,根据a、b、c的输入判断数据层是否只能组成一个三角形(三角形两边之和大于第三边),在d中输出:是,否

 

答:等价类划分法:有效等价类:a、b、c的值都大于0 、a+b>c且b+c>a且a+c>b

无效等价类:a/b/c为0或负数、a/b/c为空、a/b/c为非数字、a+b<=c b+c<=a a+b<=b

 

5、一个完整的测试方案包含哪些要素?

 

写明将要如何进行测试的文档,包括测试计划、测试环境、测试数据、工具、测试方法、风险依赖等方面。

备注:测试方案和测试计划的区别:

组织方式:

 

测试计划

测试方案

组织方式

管理文件 -管理者角度

技术文件---技术角度

目的

强调“做什么”

强调“怎么做”

内容

组织架构、工作任务分配、工作量估计、人力物力资源的分配、进度的安排、风险的估计和规避、各任务通过准则等

测试需求的细化、测试组网图的设计、自动化测试框架的设计、测试数据和测试脚本的设计、测试用例设计的原则等

 

6、查看接口的工具有哪些?说出一个工具的操作

 

答:jmeter与postman都支持

jmeter的用法:新建一个线程组,添加http类型的请求→填上接口地址和数据→添加查看结果树→进行运行→查看结果、进行分析

Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入

 

7、如何定位BUG,是前端还是后端的问题,用什么工具,还是利用别的?

 

答:前端是主要体现在页面的视觉效果以及交互设计上。比如说一个网站的页面风格、页面跳转等,最简单的例子就是一个注册界面:前端设计界面风格,约束输入的字符类型、长度以及合法性校验等,不涉及到与数据库之间的信息交流。

 

后台,则侧重于更深层面的东西,关于逻辑,关于数据,关于平台的稳定性与性能。后台主要负责实现具体的功能,举个例子,还是那个注册界面,前端写好了界面,规定了你能输入哪些数据,不能输入哪些数据,而后台则会把你输入的信息与数据库进行比对,如果是新用户,则顺势在数据库中插入一条信息。

关于数据有些是前台校验,有些后台校验,有些前后台都检验。

 

工具:fiddler/谷歌F12 、或检查标签的排查工具idea.exe

备注:判断前端问题的方法

F12, 打开错误控制台console

区分前后台交互:查看网络请求

a) Html中如果有链接,有相应的情况下,基本可以定位到是属于前端的问题

b) 如果为空,或者有出现error错误信息,我们就可以定位到属于后台开发的问题

TMS对应的VM模板,出现的一些截断控制,转换功能都属于前端的问题

后端判断bug的问题方法

(1)查看报错日志。查看报错日志,通过日志分析,需要有一定的经验,并且有一定的代码基础,才能更好地定位问题。

(2)查看数据库的数据。了解所测功能的数据表结构,测试过程中,查看数据库的数据,确认数据的正确性。

(3)查看缓存(如Memcache、apc、redis等缓存)是否正确

前后bug例子:

前端: 

在console中查看报错信息,一般浏览器都会显示报错的jS ,对于出错的js可以在Sources下查看对应报错的资源文件,

  1. JS语法错误
  2. 页面元素之类的错误、图片尺寸、图片分辨率(需要产品经理确认)

3.光标的几种形态 (输入框_工字形光标、链接or按钮_食指竖起的白手套、白色箭头)

4.按钮点击没反应、下拉框层级关系没有动态变化、输入框校验(长度、非法字符)不严格

5.面包屑导航条:不准确、不能跳转、跳转404错误、提示语:不友好,不符合用户场景

6.图片加载不出来:如果是静态图片就是打包的时候少了文件、如果是动态图片就是后台返回的数据有问题

7.前端写死了数据,没有动态读取后台返回的数据,

8.后台接口应答异常码,前端要有合理提示语

9.后台接口无应答or应答超时,前端要有超时提示语,

10.同一个接口,用户正常操作的时候有没有必要同时发送N个?

11.网络异常的时候,多次刷新页面,接口顺序怎么控制,

12.多个接口(例如:A接口必须在B接口前面),导致网络延迟的时候,顺序有点乱了,有偶现BUG

1.返回的报文不符合接口文档:参数是否区分大小写、字母拼写错误、INT或者String与接口文档不一致(INT不需要“”引号,string需要“”引号)

2.返回的值前端识别不了,协商后,后台配合扩充字段满足前端需求

3.应该返回0条记录的,但是返回了全部。应该返回1条记录的,但是返回了多条记录

4.应该返回有序的数据,但是返回了无序的数据

5.分页结果不正确(每页条数,第1页,第2页,第3页)

 

8.假设京东有一个web API: http://p.jd.com?p1=90&p0=100,输入打折价p1和原价p0,返回折扣信息0.9,请设计测试用例进行测试。

 

因为无法得知接口实现细节,所以只能进行黑盒测试。这个接口有两个输入参数p1和p0,一个返回参数折扣信息。

首先在正常工作情况下,采用等价类划分法测试,分为p1小于p0,p1等于p0, p1大于p0:

1. p1和p0都取大于0的数值,而且p1小于p0的值,正常结果返回p1/p0的值;

2. p1和p0都取大于0的数值,而且p1等于p0的值,正常结果返回1或者不打折的信息;

3. p1和p0都取大于0的数值,而且p1大于p0的值,正常结果返回p1/p0或者输入错误或者涨价了的信息;

然后采用边界值分析法,考虑输入参数的特殊情况:

4. 当p1小于0或p0小于0时,正常返回输入错误的信息;

5. 当p1等于0并且p0大于0时,正常返回当前免费的信息;

6. 当p1等于0并且p0等于0时,正常返回一直免费的信息;

7. 当p1大于0并且p0等于0时,正常返回涨价了的信息;

然后进行异常测试,考虑输入参数非法的情况:

8. 当p1或者p0输入不是整数,而是浮点数时,正常处理逻辑应该和都是整数的情况一致;

9. 当p1或者p0输入不是整数也不是浮点数,而是字符或字符串等其他类型时,正常结果应该是报输入非法错误;

然后进行安全测试

  1. 考虑支不支持https,使用https://p.jd.com?p1=90&p0=100,如果支持的话测试一遍上述的测试用例;

 

9.以windows对文件的复制粘帖功能为例,尽可能多地写出测试思路。

 

1. 基本功能测试: 文件的复制粘贴功能,首先关键字“文件”,文件有不同的分类(图片、视频、音频、文档等),每个分类又有不同的类型(文档类型:txt doc execl pdf等),每个文件又有不同的大小,而且文件还有很多权限,是不是隐藏,是不是只是管理员可执行。选择不同分类的不同类型,不同大小的文件做测试资源。比如:文档类型里面txt文件可以分为 1.KB的txt文件、1MB的txt文件、1GB的txt文件。。。。下一个关键字 复制粘贴 复制有多种方式 右击选择、Ctrl+C、 拖动复制,对应粘贴也有各种方式。然后从哪复制,粘贴到哪,比如 可以有本机硬盘、移动硬盘、优盘、内存卡、软盘、光盘、连接手机存储,复制到网络地址等等。复制粘贴后文件是不是可用,文件权限是不是有变化。复制过去容量不够怎么处理?复制过后有重名文件怎么处理?复制过程中取消、关机、拔优盘怎么处理?复制过程能不能执行文件?

2.性能测试:复制粘贴功能性能怎么样?复制文件的速度可不可以接受?同时复制多个文件是不是可以完成?复制文件过程中占用CPU资源大不大,耗电量大不大?

3.兼容性测试 Windows XP, Windows 7, Windows 8 , Windows 8.1, Windows 10等各种windos版本是不是都支持这个功能。

4.交互测试; 复制粘贴文件时,使用windows存储的其他功能是否有影响?比如播放本地的音频、视频、等同时复制文件是不是有影响。一边复制,一边粘贴是不是有影响。

5.界面测试:复制粘贴时进度条的显示界面是否与系统的设计风格一致?显示界面是否有文字性错误?显示界面的布是否合理?界面上的按钮是否可用(如:是否可以选择中止?是否可用最小化?)

6.本地化测试:不同语言环境下的显示正常

7.辅助性测试:高对比度下能否显示正常

 

  1. 已知String convert(String page)作用是将WEB页转码为方便移动设备查看的页面,为了确保转码的正确性,请设计相应测试策略。

 

(1)使用不同的移动设备查看转换后的页面,检查内容是否正确;

  (2)输入正确的网址,进行转码,检查内容是否正确;

  (3)输入错误的网址,进行转码,系统是否有相应的提示;

  (4)测试转码的速度,或者系统的相应时间;

  (5)测试转码后,页面显示是否美观;

  (6)输入的web的page为空,是否抛出异常;

 12.测试淘宝站内的搜索系统

 

  1. 功能方面,

输入关键字,查看: 返回结果是否准确,返回的文本长度需限制

结果显示:标题,卖家,销售量。。。。单行/多行,是否有图片。。. 

结果排序:价格 销量 评价 综合。。。

返回结果庞大时,限制第一页的现实量,需支持翻页

多选项搜索:关键字  品牌 产地 价格区间  是否天猫 是否全国购。。 

是否支持模糊搜索,支持通配符的查询 

网速慢的情况下的搜索

搜索结果为空的情况

未登录情况和登录情况下的搜索(登录情况下 存储用户搜索的关键字/搜索习惯)


2.性能方面,

可利用测试工具或各种测试手段考虑功能在各方面的表现,具体:
压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)
负载测试:看极限能承载多大的用户量同时正常使用
稳定性测试:常规压力下能保持多久持续稳定运行
内存测试:有无内存泄漏现象
大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。

4.兼容性方面,

跨平台、多语言等多样性环境组合情况下测试使用的正常性,具体:
WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用
IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用
SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试
简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试
IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试
与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用

5.安全性方面,往往容易被忽视的环节,具体:
被删除、加密、授权的数据,不允许被查出来的,是否有安全控制设计;
录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞,如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。
通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;
对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;

6.异常性测试,各种破坏性的操作的影响测试,具体:
查询过程中断网、关机
查询过程中强行中断关闭页面
查询过程中强行杀死相关进程等

  1. 编写测试用例有哪些方法

 

答:等价类、边界值、错误推测法、场景法,因果图/判定表、正交排列法

 

13、Beta测试与alpha测试的区别?

 

alpha测试是公司内部在模拟实际操作环境下进行的一种验收,公司内部会组织内部员工、也仍然需要需用的参与,alpha测试不能由程序员或者测试完成。

Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,beta测试不能由程序员或测试员完成。

 

  1. 上家公司有多少测试,你们是怎么分配工作的?

 

测试3人,老大负责分配我们的任务,每个人负责对应的模块或者是不同的客户端,完成自己的一端时间的任务就行。

 

  1. 为何从上家辞职?

 

1、上家公司比较清闲,不利于我的长期发展,所以离职了

2、上家公司的业务比较少,基本上是事情比较少的情况,年轻人要多奋斗下,

所以我选择离职,去更加忙一点的公司。(2选1)

 

  1. 能不能说下你们公司的项目流程或者说介绍下你们公司的工作流程?在每个阶段的输出有哪些?

 

先会召开需求分析会议,参加人员有产品、开发和测试,主要是探讨需求主要的一些功能点;

然后开发就排期进行开发,主管开始编写测试计划,对我们进行任务分配。

我们参考需求规格说明书及原型图编写测试用例,

写完之后会进行用例评审,有评审修改的就修改整理形成最终的用例版本;

开发人员版本编译完成后,我们会先进行预测(冒烟),主要对主功能业务进行测试,如果主业务流程不通过,直接返回给开发进行修改。

预测通过(冒烟),依据测试用例进行系统测试。测试过程中,提交bug,跟踪bug,进行回归测试直至不存在严重bug,满足用户需求,

测试完后编写测试报告;产品发布上线后,关注web是否正常运行,要进行常规的维护性测试。

 

  1. 写过测试计划或者是测试报告么?测试计划包括哪些主要步骤和信息?测试报告包括哪些内容?测试报告交付文档有哪些?

 

1、测试计划包括:项目信息、参与文档、测试范围、测试策略、测试时间人员安排、测试环境;

  1. 测试报告包含:项目背景、参考资料、测试范围、测试结果及缺陷分析、测试结论与建议,风险评估;

3、交付文档:主要是测试用例、测试计划、测试报告。

  1. 对于重现率不高的BUG怎么处理?

 

先在出现问题的环境上尽量重现,保持浏览器环境、出现问题的特定账号等的一致,多次尝试仍然不能重现,也要记录到bug平台,将出现问题的特征步骤尽量描述清楚,附带问题截图及日志截图、注明偶现

如果项目时间允许,bug等级高,需要开发协助重现;如果时间不允许,记录到BUG平台后续在跟进。

 

  1. bug的生命周期?

 

Bug的生命周期,就是一个bug被发现到这个bug被关闭的过程,生命周期中一般缺陷状态:新建、指派、已解决、待验、关闭

如果待验证的bug在验证是没有解决好,我们需要重新打开(激活)→指派→已解决→待验,循环这个过程,中间其他状态:重新打开、拒绝、延期

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值