如何做网站的订阅,企业营销策划专业品牌,wordpress 主页布局,dw网站模板下载软件测试面试题总结
软件测试的目的是什么#xff1f;
软件测试的目的师检验它是否满足规定的需求#xff0c;或符合预期结果。
什么是回归测试#xff1f;一般在项目的什么阶段执行#xff1f;
回归测试#xff1a;指错误被修正后或软件功能、环境发生变化后进行额度…软件测试面试题总结
软件测试的目的是什么
软件测试的目的师检验它是否满足规定的需求或符合预期结果。
什么是回归测试一般在项目的什么阶段执行
回归测试指错误被修正后或软件功能、环境发生变化后进行额度重新测试确认修改部分不会对其他功能造成影响一般在系统测试后期新功能测试完成并且大部分bug都修复完成时开始做回归测试回归测试一般经历很多轮。
什么是冒烟测试一般在项目额度什么阶段执行
冒烟测试是每一个新编译的需要正式测试的版本目的是确认软件基本功能正常可以进行后续的正式测试工作一般在项目正式测试之前做保证基本核心业务正常为了提高测试效率缩短测试周期。
给你一张A4纸你如何测试
因为没有具体的需求根据我的了解从下面几个方面来分析 功能能否在纸上写字写好的字能否正常显示 界面纸的颜色是否白的干净、大小是否符合A4纸的标准 兼容性各种笔写字是否支持是否方便合订 安全性资质是否含有害物质颜色是否护眼 易用性是否方便携带写字是否流畅 性能尖锐的笔划过是否会破挤压。撕扯是否能承受。
当你开了一个bug当时开发不认为是bug如何处理
我会先先从需求和用户角度触发找到论据去尝试说服开发如果仍然没有办法达成一致就去找产品经理确认如果产品确认了不是bug在bug里面加备注关闭bug如果产品说要修复就把bug重新激活指派给开发。
你们公司的项目多长时间一个迭代每个周期内测试占了多久时间
我们公司用的敏捷开发模型一个项目迭代周期大概为一个月开发编写代码的时间为2周多测试时间大概为一周半左右。
简单描述一下你们项目流程和你在项目中的职责
在产品确认了项目需求之后我们依据需求设计并编写测试用例然后开发提测试后我们执行接口测试然后执行系统测试测试过程中遇到bug会记录到bug管理工具里面进行管理和跟踪然后开发修复了bug我们会进行bug的验证以及进行相关的回归测试2-3轮系统测试之后评估一下产品质量出一个测试报告没有问题产品就可以发布上线了。
Git工具使用场景和使用流程?
Git主要用于项目或文档的版本控制;使用流程:本地克隆远程git仓库,可以新建、修改项目文档或者代码提交到本地库中;然后推送到远端服务器统- -管理。
web项目 中如何实现浏览器的兼容性测试?
首先根据特定用户的要求如果有指定要支持的浏览器优先测试;其次如果没有用户指定的浏览器根据用户使用量内核来看选取每类内核中的主流浏览器来覆盖测试。
测试计划主要包括哪些内容有什么作用?
测试计划包括测试范围、测试进度2安排、测试人员、测试环境测试方法测试工具风险评估等内容;能够作为后续测试过程中人员分配、责任划分、执行测试、推动项目的重要依据。
测试报告在哪个阶段做的?主要作用是什么?
测试报告在系统测试完成之后以及项目发布之前做的;主要作用是评估当前产品的质量通过统计目前剩余的bug数量和严重级别统计bug分布分析项目中的问题以及完成的测试用例数量占总测试用例数量的比率得出结论:目前产品是否达到了上线的质量标准是否可以进入下一个阶段(验收测试或者发布上线)。
请分别阐述一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的基本概念和内容
黑盒测试就是把所有的功能和逻辑接口都放在一个盒子里面你是看不到里面的逻辑与走向的你只能通过盒子的外表进行测试。黑盒测试是指在测试过程中只关注输入和输出 白盒测试基于软件内部设计和程序实现的测试方法(代码层面)。不仅仅关注输入与输出的结果是否正确同时还关注程序是如何处理的 单元测试对单个模块的测试有具体到类、函数的测试一般都开发来做的。 集成测试是单元测试之后的一个测试阶段是各个单元模块整合后对模块接口进行测试数据传递是否实现 系统测试是集成测试之后的测试阶段是把集成后的模块结合软件硬件环境进行功能性和非功能的测试。主要采用黑盒测试方法 验收测试是系统测试之后的测试阶段用户在拿到软。件的时候在使用现场会根据前边所提到的需求以及规格说明书来做相应测试以确定软件达到符合效果的
给你一个物品例如一支笔你会从哪些方面去分析测试点包括功能和非功能
功能能不能写字是否泄露笔帽是否正常按下弹起。 界面查看笔的外观是否美观logo是否正确 易用性使用是否方便是否方便携带 安全性材料是否有毒笔尖是否会伤人 兼容性笔是否可以装不同的笔芯 性能一直笔使用的长度笔从不同的高度摔下损坏程度用力去折笔看笔可以承受的力度。
根据测试流程总结一下项目执行过程中会经历哪些阶段和步骤
1、阅读需求理解需求参与需求评审会议主要就是对业务的学习分析需求点。 2、 参考软件需求规格说明书、项目总体计划编写测试计划内容包括测试范围(来自需求文档)、进度的安排人力物力的分配整体测试策略的制定和风险的评估与规避措施有一个制定 3、 参考需求文档(原型图)、概要设计、详细设计等文档编写测试用例如果有不明确的也会及时和开发、产品经理沟通用例编写完成后会进行评审 4、 首先搭建测试环境执行预测(冒烟)以判定当前版本可测与否如果预测通过正式进入系统测试遇到问题提交Bug到缺陷管理平台并对bug进行跟踪直到被测软件达到测试需求要求没有重大bug测试结束 5、编写测试报告对整个测试的过程和版本质量做一个详细的评估。确认是否可以上线
你工作用过自动化测试么? - -般是在项目的哪个阶段做自动化测试?
1 :我工作中做过自动化;我们的自动化实现的覆盖率还没有那么全所以只在冒烟测试阶段用自动化脚本来跑冒烟测试用例; 2 :我工作中做过自动化;我们的自动化主要是在回归测试阶段,因为回归测试工作特别繁琐而且重复,用自动化实现会节约很多时间和人力。
你们做的是什么自动化?接口, UI,还是APP ?为什么?
我们公司实现的是接口自动化,因为UI和AP自动化设计到界面,可变性太大了自动化的维护成本太高了 ;接口相对来说稳定很多 所以实现自动化的性价比相对来说最高。
Python的常用数据类型有哪些?
Python常用数据类型有:整型,浮点型,字符串,布尔型,列表元组字典集合。
Python的- -个字符串str1 “python is the best!”,要取出来 Python “这个字符可以怎么实现?把best 字符取出来又怎么取? 用字符串的切片实现取Python : str1[0:6:1] 取best : str1[-5:-1]
你能说说Python的列表、 字典和元组的区别么?
1 )列表和元组的元素都是有序的所以可以通过索引来取值; 2 )但是元组的元素不可以被改变,而列表是可以进行元素的增删改查的; 3)字典在Python3.6之前都是无序的。所以不能通过索引来取值,可以通过key来取value值; 4 )字典的key不能重复和修改, value可以修改,而且键值对可以增加删除。
能解释一下函数的*args和**kwargs两种参数的区别?
这两个都是函数的不定长参数:函数调用的时候,可传可不传,也可以传一个或者多个; *args:这种不定长参数,是当函数的必备参数和默认参数接受完后,剩下的参数都会被它接受,并且以元组的格式保存;传参方式是通过位置传参。 **kwargs :这种不定长参数也是当函数的必备参数和默认参数接受完后剩下的参数都会被它接受,但是这是以字典格式保存;而且这种需要用关键字传参方式来传参。
说说你对函数的返回值的理解
函数结束后可以设置一个返回的数据,给调用这个函数的代码使用,这个返回的数据叫做“返回值”。Python里用 return这个关键字来定义。 1 ) return后面的表达式可以有一个。或者多个用逗号隔开;返回的是元相格式: 2)不需要返回值的时候,就返回None ;函数默认返回值就是None ; 3 ) return语句标志着函数的结束, returm语句后面的语句不再执行。
你们的Python接口自动化测试用的什么库?你能简单描述一下这个库是如何发送接口请求的么?
我们用的是Python的第三方库requests库;我们的接口协议都是http协议用的基本都是get和post请求; request库有很多自带的方法比如get方法和post方法我们从开发那边了解到这个接口的地址,以及需要传的参数,用对应的方法发送到服务器接口;然后得到相应消息之后可以直接通过相应消息对应的方法,获取到对应的内容比如页面内容响应码和头部、cookies等等 ;得到这些信息,再去跟预期结果做对比就好了。
你们做自动化测试的时候用什么操作的测试用例?能说说具体操作步骤么?
因为我们的测试用例都放在了Exce|表格中,所以我们用的是openpyxl库来操作Excel表格; openpyxI有自带的方法可以分别去获取Excel表格对象、表单( sheet)、表格( cell )以及表格里的内容;把读取到内容保存到列表和字典中,方便后续使用。 Python的Requests库,如果要发送带cookies的请求你们是怎么处理的? Python的requests库自带一 个session模块 ,用这个模块的session(方法去发送接口请求,可以自动携带cookies ,不用手动传输;当然,手动传输也可以,先获取到cookies值,在接口请求的时候再带上对应的cookies值也是OK的。
你们公司用到了jenkins工具么?能说说你们的使用场景么?
我们公司使用Jenkins工具主要用来做持续集成;开发会用这个Jenkins工具打包部署环境测试主要用来持续集成自动化测试;把我们的自动化脚本放到git或者svn服务器上然后Jenkins.上做- -些配置,定期的自动去构建并执行脚本,并自动化发送执行结果。
系统的配置文件存在哪里?系统默认安装路径在哪里?如果是超级管理员它的家目录在哪里?
系统的配置文件存在/etc路径下 系统默认安装路径在/usr路径下 如果是超级管理员,它的家目录在/root
绝对路径和相对路径概念以及区别是什么?
绝对路径:是从根目录开始寻找 相对路径:是从当前目录开始寻找 区别:在路径地址前是不是以/开头
在vi编辑器里面.保存退出和不保存退出的命令是什么?
保存退出: :wq 不保存退出: :q!
查看日志的命令是?
tail-f
简述一下ps -ef | grep tomcat的作用
ps -ef是查找所有进程的命令。该命令的作用是去判断tomcat进程是否有启动,同时也可以判断如果tomcat进程启动了,那么进程号是多少
简述- -下netstat -apn I grep 8080的作用
netstat -apn是查找所有端口的命令。该命令的作用是去判断8080这个端口是否已经被占用了,如果有进程在占用这个端口,那么可以判断是哪个进程在使用这个端口 简述一下kill-9 的作用 强制杀死某个进程
提示错误permission denied或者是Operation not permitted该怎么解决?
a、切换有权限的账号重新登录操作 b、对被操作的文件进行赋权
解压和压缩tar.gz格式的命令是?
a.解压: tar -xzvf b.压缩: tar –czvf
运行tomcat之前为什么要安装jdk ?
答案:因为tomcat的运行是要依赖java开发环境的,所以需要安装jdk来构建java开发环境
tomcat的配置文件路径在哪里?
在tomcat目录下的/etc
tomcat的端口号怎么修改?
答案:去Tomcat路径下的conf文件夹下面,修改server.xm|文件里的httpconnector port既可
怎么让远程用户也能连接上数据库呢?
答案:需要在服务器上进入数据库,然后执行grant语句,对需要远程连接的主机进行赋权即可
你们公司部署项目的流程是怎么样的?
a.先保证服务器上的环境已经搭建完成 b.把开发提供的war包放到webapps下如果有配置文件变化的话也会去修改conf里的文件信息,同时如果开发人员提供了项目数据库脚本,我们也要去执行这个脚本的
怎么清除服务器的缓存?
把tomcat下的work文件夹清空即可
写出10个常用的linux命令并选择一个举例具体说明其操作方法。
vi编辑命令vi /home/test 后面跟上路径文件名 touch mkdir mv cp fid grep tail head ps-ef查看进程ps -ef | grep tomcat 是查看tomcat这个进程看tomcat是否启动
将文件file1 名字改为filenew1
mv filel1 filenew1
表Loingshine中的字段 sname数据存在相同的多条记录请用一个SQL把所有sName重复的记录查询出来并显示重复记录的数量表结构 Create table Loingshine (id number, Sname varchar(100), Scode varchar(100));
select ,count() ‘重复记录数量’ from Loingshine group by sname having count(*)1;
请写出内连接左链接右链接的关键字并分别简述其作用。
LEFT JOIN左连接会读取左表全部数据即便右表没有对应数据。左连接从左表产生一套完整的记录,和右表匹配的记录 .如果右边没有匹配记录,右侧结果集字段将为null RIGHT JOIN右连接以右表为基础与LEFT JOIN相反 INNER JOIN 内连接,或等值连接可以获取两个表中字段匹配关系的记录。
sql能做什么?
a.创建数据库、表等数据库对象 b.数据库记录的增、删、改、查
建库建表的语法是什么?
建库: create database数据库名; 建表: create table表名(字段名类型);
赋值时,时间日期类型、字符串类型与整型、浮点型有什么区别?
时间日期类型、字符串类型在赋值时,要带上引号,而整型浮点型不需要 插入部分字段数据时,应该要注意什么? 要注意插入字段的个数与values()里面赋值时的字段个数一致
在查询语法中。select后面如果是*表示什么意思
*表示通配,表示要查询出所有的字段
为什么表与表之间需要存在关耿关系呢?
首先如果把数据全部都放在一个表里,那么查询起来的字段会特别多,数据量也特别的大,就会造成维护困难,甚至会出现垃圾数据;所以为什么会把不同的数据放到不同的表里面.可以说是分类管理;当数据之间有关系的时候,我们就可以在设计表的时候,在表之间建立关联关系即可
什么是等值连接?
答案:又称为内连接↓它们是用来获取两个表中字段匹配关系的记录的
什么情况下会使用到左连接?
答案:当进行多表连接查询时想要哪张表的数据全部显示,就把对应那张表放在左边
group by的作用是什么?
group by的作用是按照某-一个,或者多个字段来分组,也可以理解为把同类型的都放在一-起。
被分组的字段应该要注意什么?
被分组后的字段一-定要是被查询的字段。
查询有顺序吗?如果有的话,那不按顺序来查询会有什么问题呢?
查询是有结构顺序的如果不是按照顺序进行查询那么查询出来的数据有可能会有错误。比如wherea 1 group by b;和group by b having a 1; 前面的是先进行条件过滤,把过滤后的数据再进行分组,而后面的是先分组再过滤条件
小程序怎么做兼容性测试的?
1 )适配不同系统平台, Android和IOS的主流手机平台如华为,小米, iPhonell , iPhoneXR等,覆盖到最新的试用版和当前流行的主要版本;以及系统版本( Android5.x, iOS13.x ) 2)适配不同的微信版本确认支持的最老的微信版本是多少是否支持;以及是否支持最新的微信版本;中间版本可以挑选一些用户使用量较大的测试; 3)考虑不能手机屏幕的大小比如iOS 7Plus . iphonex , Android5.5屏幕等;
H5和Native APP的区别?
H5 :1)开发快。实现的功能也很炫; 2)只编写一次。可以在多个设备上到处运行: 3)具有局限性。如会话管理、安全离线存储、访问原生设备功能(摄像头.日历和地理位置) -依赖网络 Native App :1)原生应用程序看起来(界面)和运行起来(性能)是最佳的:能更好的适应各种类型的功能实现–缓存 2)开发和测试周期比较长。原生的开发太耗时耗力; 3)必须登录到商店、下载新版本,才能获得最新惨正版;
APP测试什么时候需要收集日志?怎么收集日志的?
一般当APP异常的时候,比如发生崩溃或者ANR的时候,会收集一下系统日志,帮助开发定位bug ; Android手机会借助一些工具比如adb ,连接手机以及找到对应的日志路径把日志拉取( adb pull )出来,然后通过关键字查找到有效的日志信息贴到bug里即可; IOS手机也同样会借助-些工具,比如苹果电脑会用xcode ,没有苹果电脑会用ITunes或者ITools这种的工具,或者到对应日志。
APP和web端兼容性分别是怎么做的
web兼容性测试主要考虑不同浏览器的兼容 app需要考虑手机不同操作系统、不同机型、不同屏幕等主要考虑主流手机的适配
说一下你对云测平台的了解
我所知的云测平台有testin云测、百度MTC、腾讯优测、阿里MQC。 相对来说对testin云测平台了解多一些有用该平台来尝过免费兼容性测试如上传一个app安装包免费选择50款手机机型30分钟后会出来一个测试结果。主要包括在不同手机上的安装、打开、monkey随机操作、关闭、卸载这种一个过程监测时间、CPU、内存、电量耗用这些。
简述下app测试中如何通过日志定位异常问题
安卓app可通过adb logcat获取日志例如像crash问题可通过出现异常的时间exception关键字包名、或者force finish关键字定位报错日志 如果是anr问题可通过获取手机上的trace文件或者DropBox中异常日志文件 如果是苹果app可通过苹果电脑自带的xcode获取、无苹果电脑的话可借助第三方工具例如itools工具来获取定位
某app出现一个BUG:用户输入自己的账号密码点击登录后登录了别人的账号看到了别人的账号信息该登录有2次请求第一次请求是鉴权及加密返回加密字符串给第二个请求由第二个请求携带加密字符串进行鉴权登录该问题是偶尔出现的问题请猜测是何种原因引起的并简要回答怎么设计用例去覆盖该类问题
可能是加密字符串返回错误导致的。 如果要去重现这个问题我们可以同时发起AB两个不同用户的登录第一次请求然后把A返回来的加密字符串复制下来等到B用户发起第二次请求的时候我们把加密字符串替换成A的看是否有问题。
app出现ANR是什么原因导致的
1.主线程执行了耗时操作比如数据库操作或网络编程 2.其他进程就是其他程序占用CPU导致本进程得不到CPU时间片比如其他进程的频繁读写操作可能会导致这个问题。
App出现crash原因有哪些
1.内存管理错误可能是可用内存过低app所需的内存超过设备的限制app跑不起来导致App crash。 或是内存泄露程序运行的时间越长所占用的内存越大最终用尽全部内存导致整个系统崩溃。 亦或非授权的内存位置的使用也可能会导致App crash。 2.程序逻辑错误数组越界、堆栈溢出、并发操作、逻辑错误。 e.g. app新添加一个未经测试的新功能调用了一个已释放的指针运行的时候就会crash。 3.设备兼容由于设备多样性app在不同的设备上可能会有不同的表现。 4.网络因素可能是网速欠佳无法达到app所需的快速响应时间导致app crash。或者是不同网络的切换也可能会影响app的稳定性。
你对接口测试是怎么理解的?
答案:我理解的接口是功能数据传递的通道是实现某个功能的一个函数。接口参数就是函数的参数接口的响应数据就是函数的返回值。接口有分内部接口即同一个系统项目包含的接口;还有外部接口跨系统跨平台的接口涉及第三方例如支付接口。接口测试就是绕过前端直接对接口调用查看接口功能实现是否正常。
HTTP协议常见的返回状态码有哪些?
答案: 200 (正常) :表示一切正常到了服务器并且服务器正常的响应了你的请求。404 (找不到)服务器上不存在客户机所请求的资源。500 (内部服务器错误) :服务器端的CGI、ASP. JSP等程序发生错误。504: 超时。
你们什么时候做接口测试?接口测试用例怎么设计的?
一般是后端接口开发出来我们就可以开始接口测试了。首先必要的了解接口需求弄懂功能及业务实现逻辑。1)先保证这个接口功能是好的也就是输入正常的参数输入是否可以返回正确的结果; 2)然后考虑接口异常验证:包括必填项验证、长度、类型异常等;比如说手机号11位输入非11位10位、12位的来验证; 3)还有需要考虑接口的业务逻辑。比如说必须执行了回款计划才能修改标的状态到还款中4) -一些必要的接口安全验证要考虑到例如注册接口中传入的密码是需要加密的;还有就是权限这块; 5) 如果有接口性能测试要求还需考虑性能测试部分的用例设计。
除了jmeter ,你还了解哪些其他做接口测试的工具?
答案: postman, soapui, loadrunner ;目前主流一点做接口测试工具的是jmeter. postman ; soapui测试soap协议会比较好用; loadrunner做性能测试比较多
如何使用jmeter做接口测试?用到哪些测试元件?
比如测试注册接口先在测试计划下面添加线程组.添加http请求.进行相对应的接口请求地址、请求方式传入参数的设置;添加请求头。设置数据传递格式json然后添加查看结果树.用来查看接口测试过程中,请求及响应信息;点击运行关注查看结果树中的响应结果中的status. code. ms9信息是否跟预期- -致同步关注数据库变化.像注册会在数据库项目表中插入一条用户信息要确保插入表的各个字段数据的正确性;碰到报错的时候需要通过日志排查问题。
比如说有两个请求上-一个请求的结果作为下一一个请求的参数传入,怎么来实现呢?
用关联, jmeter中可以用正则表达式提取器或者json提取器来实现。例如登录、加标两个请求若加标需运行成功必须从登录的响应结果中获取到token再传递到加标的请求头,因为返回结果数据格式是json的,所以可用json提取器,输入json表达式提取到token值再做变量引用。
如何保证接口测试是通过的?
如果返回结果是正常的:查看数据库以及日志是否有问题,无问题则测试通过;有问题例如数据库数据增删改有问题就提交bug到bug管理系统; 2 )如果返回结果是异常的:a.先确认地址、参数名、参数传值等是否正确.有问题对应修改: b.如果这些请求设置传值都没问题查看数据库以及日志是否有问题有问题则提交bug到bug管理系统,井且附上有问题的数据以及日志。
你认为接口测试的重点是什么?
我认为首先得确保自己接口请求地址、参数传参正确性然后测试过程中需要关注服务器返回例status. code. msg信息,数据库表信息更改日志信息;特别是报错的时候需要通过日志帮助排查问题
web测试和APP测试的区别?
WEB测试和App测试从流程 上来说都需要经历测试计划方案用例设计测试执行缺陷管理, 测试报告等相关活动从技术上来说都需要进行功能测试。性能测试安全性测试、U测试等测试基本没有什么区别;他们的主要区别在于具体测试的细节和方法有区别: 兼容性测试:在WEB端是兼容浏览器在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同WEB因为是测试兼客浏览器所以需要使用不同的刘览器进行兼容性测试;如果是手机端那么就需要兼容不同品牌不同分辨率不同android版本甚至不同操作系统的兼容。 性能测试在WEB测试重点考虑响应时间。在App测试中还需要考虑流量测试和耗电量测试。 安装卸载: WEB测试基本上没有客户端层面的安装测试但是App测试是存在客户端层面的安装卸载测试的测试点 中断测试就是在操作某个软件的时候来电话来短信电量不足提示等外部事件。 操作类型测试:如横屏测试手势测试 网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验。重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟据说可以用360wifi或者fiddler工具实现。 升级测试: WEB测试只要更新了服务器端客户端就会同步会更新; APP需要升级对应的客户端并且需要检查升级的提醒机制升级取消是否会影响原有功能的使用升级后用户数据是否被清除了。
你理解的接口测试是什么接口测试的原理
接口测试理解我所知道的接口测试包括内部接口测试和外部接口测试内部接口主要的是功能与功能模块之间接口前端与后端间的接口。 我主要做的是前端与后端接口测试这种接口是后端开发与前端/移动端页面进行数据交互的。在还没有前端界面的时候进行接口测试会提前发现一些bug。 接口测试的原理模拟客户端向服务器发送请求报文服务器接收请求报文后对相应的报文做处理并向客户端返回应答客户端接收应答的一个过程。
你认为接口测试的重点是什么
我认为首先得确保自己接口请求地址、参数传参正确性然后测试过程中需要关注服务器返回例status、code、msg信息数据库表信息更改日志信息特别是报错的时候需要通过日志帮助排查问题
如何使用jmeter做接口测试
比如测试加标接口先在测试计划下面添加线程组添加http请求页面进行相对应的接口请求地址、请求方式、传入参数的设置然后添加查看结果树点击运行关注查看结果树中的响应结果中的status、code、msg信息是否跟预期一致同步关注数据库变化像这里会在数据库项目表中插入一条标信息要确保插入表的各个字段数据的正确性碰到报错的时候需要通过日志排查问题。大致就是这样 如果需要在jmeter中引入已经打包好的jar包中的功能请说明一下操作步骤 1、把jar包放到jmeter目录\apache-jmeter-x.x\lib\ext下 2、在Test Plan的右侧面板最下方直接添加需要引用的jar包
常见的HTTP服务器返回状态码有哪些其含义是什么?
200正常表示一切正常到了服务器并且服务器正常的响应了你的请求。 302临时重定向指出被请求的文档已被临时移动到别处此文档的新的URL在Location响应头中给出。 304未修改表示客户机缓存的版本是最新的客户机应该继续使用它比如说前端js 403禁止服务器理解客户端请求但拒绝处理它。通常由于服务器上文件或目录的权限设置所致。 404找不到服务器上不存在客户机所请求的资源。 500内部服务器错误:服务器端的CGI、ASP、JSP等程序发生错误。 504: 超时。
项目为什么要做接口测试其意义在哪里
1、项目开发后端先于前端开发测试在后端开发完提前介入项目尽早发现问题 2、测试可以覆盖一些绕过前端直接后端请求的场景可以保证接口的安全性。
以前公司的测试工作是怎么开展的各个阶段有哪些产出物
首先会召开需求分析会议参加人员有产品、开发和测试主要是探讨需求主要的一些功能点完了之后开发就排期进行开发我们测试会按照测试计划进行任务分配。先会参考需求规格说明书及原型图编写测试用例写完之后会进行用例评审有评审修改的就修改整理形成最终的用例版本之后开发人员版本编译完成后我们会先进行预测主要对主功能业务进行测试如果主业务流程不通过直接返回给开发进行修改。预测通过依据测试用例进行系统测试测试过程中提交bug跟踪bug进行回归测试直至不存在严重bug满足用户需求测试完后编写测试报告发布上线后关注web是否正常运行。产出物包括测试计划、测试用例、bug、测试报告
讲一个熟悉/最近的项目做了哪些工作?主要负责的什么模块
项目迭代了多少次每次迭代周期多久上家公司多少测试人员多少开发公司规模公司地址公司主要项目的网址
给你一个购物车模块你会如何设计测试用例
1.界面测试 界面布局、排版是否合理文字是否显示清晰不同卖家的商品是否区分明显。 2.功能测试 未登录时 将商品加入购物车页面跳转到登录页面登录成功后购物车数量增加点击购物车菜单页面跳转到登录页面。 登录后 所有链接是否跳转正确商品是否可以成功加入购物车.购物车商品总数是否有限制.商品总数是否正确全选功能是否好用.删除功能是否好用填写委托单功能是否好用委托单中填写的价格是否正确显示价格总计是否正确商品文字太长时是否显示完整店铺名字太长时是否显示完整创新券商品是否打标购物车中下架的商品是否有特殊标识新加入购物车商品排序添加购物车中存在店铺的商品和购物车中不存在店铺的商品是否支持TAB、ENTER等快捷键商品删除后商品总数是否减少购物车结算功能是否好用。 3.兼容性测试不同浏览器测试。 4.易用性测试“删除功能是否有提示是否有回到顶部的功能商品过多时结算按钮是否可以浮动显示。 5.性能测试压力测试并发测试。
说一下你的项目的这个支付怎么测试的
支付金额最小0.01 无实际意义的金额输入0 格式 负数 最大限额的假设2000为上线测试2000 2000.01 余额小于支付 当日消费/单次消费上限 支付方式微信支付宝银行卡等 支付的操作密码错误上限次数 指纹支付 面容支付 免密码 支付过程中的中断测试 注册的时候同步绑定托管银行的一个虚拟账户进行支付的时候先要绑定支付银行卡 首先测试正常充值支付的情况支付金额不能超过银行限额比如支付100提交支付的时候会向银行去发起一个支付订单银行支付成功会返回状态成功 并且托管银行账户会显示充值后的金额本地数据库的个人信息表的余额会显示充值后的金额也就是能看到平台界面的金额会显示充值成功100另外支付银行卡会扣除100 其次要考虑其他异常支付情况比如支付金额超出银行卡限额超出银行卡余额支付0元支付金额输入负数还有测试弱网场景下多次支付提交是否只被执行一次 如果面试官有问到关于跟托管银行对接这块具体怎么测试的就说当时主要是开发负责对接的对接好了我们再去测试的另外面试官有问到你们测试过程中支付银行卡这块比如银行卡上限5w你测试4w9是直接用真的银行卡测试的这里就要说测试环境上支付银行卡这里具体支付多少开发改了代码无论支付多少实际扣费0.01元
需求文档不完善或者不准确怎么处理项目很紧急也会写测试用例么
在分析需求文档编写用例的时候尽量把需求模糊的地方记录下来同时可以产考市面同类型产品给予自己的建议把这些整理成问题集统一跟产品确认项目很紧急我们自己会把要测试的验证点写出来测试完成后有时间再去整理完善用例。
有没有什么测出的特别好的,对开发帮助特别大的bug?或者是印象深刻的bug?
提交了一个bug开发认为不是bug作为测试怎么办
首先确认开发环境是否跟自己测试环境一致有时候开发是在他们已更新代码的环境上验证bug的所以bug就没出现但在测试环境上面会出现还要确认缓存有无清除确认在测试环境能重现如果确认是缺陷跟开发保持有效的沟通如果是级别较低的建议性bug可以先记录到bug平台先保留沟通如果是bug级别较高的问题对应需求文档的预期结果跟开发说明更有说服力耐心讲解bug的危害不行就找产品确认确认是bug注明情况并再次指派给开发
你是如何部署测试环境的能说说具体步骤吗测试环境如何更新 会用到哪些命令查看日志的命令是什么你们用的tomcat、jdk等这些版本号是多少你们公司有几台服务器
1a) 项目用的数据库mysql然后部署到tomcat首先确保服务器上tomcat、jdk、mysql已安装好 b) 新建一个库运行开发提供的sql脚本创建好对应项目的数据库表信息 c) 把开发提供的项目部署包放到tomcat的webapps里面配置文件放到tomcat的conf里面并修改好配置文件的IP地址和数据库连接信息 d)启动tomcat并在浏览器输入项目访问地址是否能打开项目界面确认项目环境是否搭建成功 2:开发修改代码后会提交新的项目包会替换tomcat的webapps原有的代码包然后清除work下的缓存重启tomcat另外有涉及数据库升级脚本同步执行升级脚本大概就是这样。 3:cd ps -ef|grep tomcat kill ls vi ll ./startup.sh查看日志tail -f 日志文件名 4版本号自己好好去看下当时环境的版本号 注意涉及到具体数据灵活变通。 5三台服务器开发环境测试环境生产环境各一台当然最少说3台多的可以说有10来台都是可以的
你们接口项目有多少个接口 说一下你们是怎么做接口测试的
2、 先对开发提供的接口文档做好需求分析进行用例编写及评审然后就是选择jmeter做接口预测确保接口功能能正常调用然后才进行详细的测试。
具体测试是用jmeter来完成的比如测试加标接口先在测试计划下面添加线程组添加http请求页面进行相对应的接口请求地址、请求方式、传入参数的设置然后添加查看结果树点击运行关注查看结果树中的响应结果中的status、code、msg信息是否跟预期一致同步关注数据库变化像这里会在数据库项目表中插入一条标信息要确保插入表的各个字段数据的正确性碰到报错的时候需要通过日志排查下问题。大致就是这样
请列出接口测试用例的设计思路或方法接口测试用例是怎么写的
首先必要的了解接口需求查看概要设计文档弄懂业务逻辑和功能模块 1先保证这个接口功能是好的也就是输入正常的参数输入是否可以返回正确的结果 2然后考虑接口异常验证包括必填项验证、长度、类型异常等比如说手机号11位输入非11位10位、12位的来验证 3还有需要考虑接口的业务逻辑。比如说必须执行了回款计划才能修改标的状态到还款中 4一些必要的接口安全验证要考虑到例如注册接口中传入的密码是需要加密的还有就是权限这块必须是已登录已实名的账户才能投资这跟业务逻辑是一样的 5编写用例的时候注意用例内容包括用例id、接口名称、请求方式、接口地址、用例标题、输入参数、预期结果包括返回结果、数据库表字段变化
接口测试你是怎么定位bug的请详细说明一个bug的发现过程
1如果返回结果是正常的查看数据库以及日志是否有问题无问题则测试通过有问题例如数据库数据增删改有问题就提交bug到bug管理系统 2如果返回结果是异常的 a、先确认地址、参数名、参数传值等是否正确有问题对应修改 b、如果这些请求设置传值都没问题查看数据库以及日志是否有问题有问题则提交bug到bug管理系统并且附上有问题的数据以及日志。 Bug提交自行举例。
有没有写过测试计划里面包括哪些内容
一般是我老大写的测试计划包括的内容测试目的、测试范围、测试时间安排、人员任务分配、测试策略及方法、测试环境内容、风险评估(参考“5W1H”去记忆)
你觉得一个测试工程师应该具备哪些素质和技能
计算机知识包括操作系统数据库通讯协议原理熟悉至少一门编程语言软件测试知识包括测试理论测试方法测试用例编写缺陷跟踪流程软件质量评估等产品业务分析能力熟悉所测产品的一些隐藏需求或功能。 素质就是测试相关例如耐心细心 。 责任心对自己测试的项目有一定的责任心。良好的沟通能力在出现问题的时候才能跟开发进行良好的沟通。让整个项目进展更加顺利。 团结及合作能力。 学习能力。分析及解决问题能力
用fiddler做什么说下具体过程
1抓包分析定位系统问题。 2利用fiddler可以将测试环境资源重定向到本地快速验证一些bug。 3利用fiddler可以完成做一些简单的接口测试。 4利用fiddler的断点可以完成一些特殊场景下的测试比如安全测试。 web抓包先进行fiddler的代理设置默认端口号是8888然后浏览器也要确认是否开启了网络代理; 代理设置确认后浏览器输入要访问的网站然后fiddler就可以抓取到对应的网站信息了这里如果不想抓取所有网络资源可以fiddler的过滤器设置一下只抓取自己网站的
给你一个项目你会怎么测试
按工作流程来回答1)需求分析2制定计划3编写测试用例以及相关文档4执行测试/回归测试/提交bug5出具测试报告/上线后进行维护性测试 按测试方法来说黑盒测试/功能测试我们重点体现在测试用例的设计采用常用的设计方法等价类划分、边界值、错误推测法、场景法
如何测试一个纸杯类似于铅笔、椅子、电梯、雨伞等
容量倒入白水得出最大盛水量外观 兼容性分别倒入不同的液体是否可以装不同的液体分别在不同环境下使用大风、大雨、大雪等是否可以正常使用。 外观观察杯子是否符合大众审美需求图案是否正确拿在手上是否掉色。 安全性是否对人体有害 性能是否可以承受不同温度内壁防水膜是否会脱落倒入不同的液体静放一段时间观察杯子几天之后会漏。 压力用手按压杯子是否容易变形 易用性观察杯子形状是否容易倒入液体是否方便喝水。
一天能写多少条用例能执行多少条用例发现多少bug?如何保证测试用例的覆盖率
一天写多少用例或者是执行多少用例发现多少bug是根据项目的需求是否明确项目功能模块是否复杂、程序员的代码质量以及当天的时间安排来确定的。
如果问bug这么少—直接回答可能是我们程序员的需求分析做的好功能代码写的好。 保证用例覆盖率的话首先自己在编写测试用例的时候尽量覆盖所有的功能功能业务采用合理的用例设计方法去包含所有的正面、反面的测试点然后我们会开展测试用例评审会议开发测试产品一起讨论进一步保证用例已全部覆盖所有的需求功能测试执行过程中发现的未被覆盖完整的用例测试完整后会进行用例完善。尽量确保下一次用例的覆盖完整。
测试数据你们是怎么做的怎么在用例里面体现出来
我理解的测试数据包括测试输入的数据还有作为待测对象的数据例如报表记录这种数据。 测试输入的数据是自己准备的有难度的才叫开发帮忙比如设计到数据库加密处理这种数据。举个例子说明最近测试的一个投资功能我们需要提前准备好用户数据用户的登录信息用户的账户余额准备以及到后台加好要投资的标。这些都是我们自己通过后台以及结合数据库做的测试数据。
对于复现率不高的bug怎么处理
先在出现问题的环境上尽量重现保持浏览器环境、出现问题的特定账号等的一致多次尝试仍然不能重现也要记录到bug平台将出现问题的特征步骤尽量描述清楚附带问题截图及日志截图注明偶现 如果项目时间允许bug等级高需要开发协助重现如果时间不允许记录到bug平台后续再跟进。多次测试版本验证如果这个bug仍然复现不了可能会视严重程度关闭。
请写出内连接左链接右链接的关键字并分别简述其作用。
left join左连接会读取左表全部数据即便右表没有对应数据。左连接从左表产生一套完整的记录,和右表匹配的记录 .如果右边没有匹配记录,右侧结果集字段将为null right join右连接以右表为基础与LEFT JOIN相反 inner jon内连接,或等值连接可以获取两个表中字段匹配关系的记录。
你们什么时候做接口测试啊为什么要做接口测试?
一般是前端还没有开发出来但后端已经开发差不多的时候做。 开发代码初期UI和web页面设计还没有到位提前介入测试更早发现问题否则底层的一个bug可能会引起外面的8个bug处于接口安全层面考虑前端进行限制容易绕过需要同样测试后端的限制另外测试接口验证数据的加密传输例如用户密码
Post 和get 的区别是什么?
1、GET提交的数据会放在URL之后以 分割URL和传输数据参数之间用 相连POST方法是把提交的数据放在HTTP包的Body中 2、GET提交的数据大小有限制注意HTTP协议规范没有对URL长度进行限制这个限制是特定的浏览器及服务器对它的限制POST方法提交的数据没有限制 。 3、对参数的数据类型GET只接受ASCII字符而POST没有限制 4、GET请求参数会被完整保留在浏览器历史记录里而POST中的参数不会被保留 5、GET比POST更不安全因为参数直接暴露在URL上所以不能用来传递敏感信息
测试报告包括哪些内容测试报告交付文档有哪些你认为测试报告的侧重点是什么
测试报告中主要包括本次测试记录像测试范围、测试开始结束时间、测试人员、用例覆盖、执行通过率还有bug统计及分析总体bug汇总、bug不同维度的统计分析等最后还有测试结论 交付物主要是测试用例、提交的bug、测试报告 侧重点我认为是bug的结果分析以及测试结论。
测试过程中用过哪些测试工具怎么使用的
自己会用的工具Jmeter、soapui、fiddler等。jmeter简单压力测试、接口测试soapui接口测试fiddler抓包工具 举例子简述如何操作用的比较多的是Jmeter我们一般用来测试接口。比如说以前测试过投资接口首先创建一个线程组添加一个http类型的请求把url以及参数都填写到http请求界面然后再添加一个查看结果树方便我们自己查看http请求以及返回结果。根据接口测试用例来一一测试接口并把发现的bug提交到禅道上面。
在平时测试工作中你是如何保障测试的质量的
——从需求阶段开始会先理清楚产品的大致功能及功能模块的联系进而再去熟悉需求细节把需求不明确的部分会及时跟产品进行沟通 ——需求确定后时间紧张的话我会按功能模块去整理测试点整理过程中也会参考同行业的产品去进去测试点设计整理完成后我们测试内部会进行测试点的评审进而保证对于需求覆盖的完整性 ——测试执行过程中注意bug格式规范提交详细有用的bug信息便于开发解决问题且会做好bug跟踪。碰到测试点覆盖不到但出现bug的地方都会做好文档总结 ——每天会发送日报汇报进度安排便于项目管理跟踪——项目结束后会进行项目总结便于下次项目测试。
有做过安全测试吗
没有做过规范化的安全测试拿我们项目来说安全测试主要是对用户登录的校验、密码加密充值、提现必须是绑定手机号的短信验证码校验所有投资操作必须是实名认证为前提的做压力测试的时候如果同一个ip地址的请求过多网站会判断为恶意攻击打入黑名单。
为什么要转行到测试行业呢
我大学的专业是软件工程专业是计算机方面的然后毕业以后想做一个自己喜欢的并且跟专业契合的工作。我有计算机的基础同时有开发能力所有在这个方向我相信自己可以坐的很好。测试主要是发现问题我又善于去找问题。开发转测试的优势容易上手然后可以看懂底层的代码发现问题以后更容易定位到问题 开发转测试 1.对软件测试的未来看好—这样既说明你很了解行业发展也很有规划和选择 2. 开发的要求是深度测试的要求是广度所以测试可以让自己知识涉猎更加广泛一点。 3. 具有开发经验Linux系统熟悉对SQL熟悉对软件测试会有相当大的帮助更能胜任软件测试工作 4 做过开发逻辑思维能力强 5 对软件内部实现、功能需求、功能实现了解更深入能根据自己的经验分析那里容易出错快速定位找出bug出现的地方更有针对性。 6. 会代码更适合做自动化测试。 7. 自身性格特点-- 很细致很有条理很擅长找bug很擅长沟通。
是否做过性能测试你对性能测试了解哪些
有简单的接触过。采用的工具是Jmeter进行轻量级的压力测试。 1确定好压力测试的功能模块首先利用JMETER录制脚本然后对脚本进行优化 2对一些测试数据进行参数化利用CSV导入存在txt文档里面的数据 3设计测试场景 4执行压力测试 5查看压力测试结果并对数据进行分析主要考虑错误率 吞吐量 平均等待时间这些。 6出压力测试报告
用python如何实现接口自动化测试
1、安装requests库 pip install requests 2、根据接口文档使用python编写接口请求 3、根据测试方法编写正常、异常测试用例
HTTPS和HTTP的区别主要如下
1、https协议需要到ca申请证书一般免费证书较少因而需要一定费用。 2、http是超文本传输协议信息是明文传输https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式用的端口也不一样前者是80后者是443。 4、http的连接很简单是无状态的HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议比http协议安全。
怎么判断前后端bug
前端没有发出请求就是前端的问题。 前端发出了请求但是请求的参数有错误就是前端的问题 前端发出了请求参数没有问题后端返回数据有问题就是后端的问题。 前端发出了请求参数没有问题后端没有响应就是后端的问题。
熟悉 adb 命令能够使用 adb 命令查看后台日志分析定位问题
1、adb devices 查看当前已连接的设备 2.adb install apk文件路径将指定的apk文件安装到设备上 3、adb uninstall 包名 卸载设备上的指定程序 4、 adb push/pull 复制文件 5、adb kill-server 关闭adb服务 6、adb start-server 启动adb服务 7、adb logcat 查看日志 9、adb help 显示帮助信息