软件测试汇总
测试汇总
-
怎样开展自动化测试工作(简单来说,不包含框架搭建)
制定自动化测试需求说明书
制定自动化测试计划
指定自动化测试方案
自动化测试用例设计或者从功能测试中找到合适的测试用例
自动化脚本开发
自动化测试执行,生成报告
持续集成 -
简单说下装饰器
装饰器本质是一个接收可调用对象为参数的函数或类,通常用@表示
装饰器主要是扩展函数的功能,Python的类方法和静态方法用了装饰器 -
有了解过公钥私钥吗
公钥和私钥主要是通过RSA这样的非对称加密方式形成的,公钥用来加密,私钥用来解密 -
介绍一下你的框架
自动化测试框架-链接 -
pytest/untitest
链接 链接 -
list怎么去重
list(set(list)) -
有一个字典,反转key-value
mi = dict(zip(m.values(),m.keys())) -
实际工作中有对哪些数据做过格式化
字符串,时间格式,json数据格式 -
列表推导式
列表推导式就是在列表中结合for循环快速生成列表的一种方式 -
生成器generator
??loadrunner -
Git
版本管理、代码管理 -
数据驱动你是怎么理解的
相同的测试脚本使用不同的测试数据来执行,测试数据与测试行为实现了完全分离 -
一个场景,一个登陆我们写10条case,但是逻辑都是一样的,但是自动化的话我不可能同样的逻辑赋值十遍,那你有什么办法来解决这个问题
使用数据驱动,将测试用例数据与脚本实现分类。例如python中的ddt -
python的测试框架简要说明一下
-
unittest和pytest各有什么优缺点
unittest用法比较固定,pytest比较灵活。 -
关键字驱动了解吗
在做web自动化的时候,封装了一部分selenium基本操作作为关键词,给页面对象类调用。 -
你对python掌握的怎么样
够用Python完成自动化测试工作,但还不具备平台开发能力。工作中会用到Python的类和对象,Python的第三方库来搭建接口框架和web自动化框架。 -
两个接口的返回值要做一个字段的对比,用python如何实现
将返回值转换成字典,取出字段值进行对比 -
字符串排序如何实现
用list函数将字符串转换成列表,然后调用列表的sort方法排序,再转换成字符串 -
接口自动化和手工测试,大概占比多少
自动化和功能是各占50%。项目前期主要投入在功能测试,后期主要投入在自动化测试。 -
你们当时项目自动化只对接口的返回进行检验吗
接口还需结合数据库进行数据库校验 -
① 测试计划包含哪些内容?
② 测试方案包括哪些内容?
③ 测试用例包含哪些内容?
④ 测试报告包含哪些内容?
⑤ Bug包含哪些内容?① 测试计划包含:人员和时间的安排,软硬件环境,里程碑,交付件,测试风险等; ② 测试方案包括:包括UI,功能,性能等方案,其中每个方案中主要包括:测试范围,测试目的,测试工具以及测试方法; ③ 测试用例包含:用例编号,用例标题,优先级,预置条件,操作步骤,预期结果,备注; ④ 测试报告包含:用例统计,Bug分类统计,遗留Bug情况,测试风险,测试对象评估等; ⑤ BugID,Bug标题,附件,复现步骤,指派给/抄送给,状态,严重程度,优先级,注释。
-
你提的Bug开发认为不是Bug怎么办?
1、再次确认需求,如果确实是一个bug那么和开发沟通,并重现这个bug;
2、考虑是否环境、版本不一样或者是因为缓存的原因;
3、如果因为需求原因存在争议则把bug丢到项目讨论群一起讨论。 -
给你一个项目,你会如何开展测试工作?
需求分析,测试计划,测试用例,执行用例提交BUG,测试报告 -
你们公司的Bug流程是什么样的?
Bug流程:新建news–>指派给开发–>开发确认给解决方案(已解决,基于设计,挂起,不是BUG等)–>打回给测试回归–>没问题close(有问题reopen重新打开)。 -
性能测试做过吗?你们公司的性能测试流程是怎样的?
有的,当时主要通过LoadRunner11做的并发测试,是这样来做的:
1、首先就是分析并确定性能需求:包括性能指标的确定:并发数的评估,响应时间,cpu和内存,事务成功率,TPS,吞吐量等。)
2、然后就是搭建性能测试环境,环境必须要纯净。
3、然后就是录制脚本以及调试脚本(包括:插入事务、检查点、关联、参数化、集合点等)
4、然后使用控制器对脚本增压、持续以及减压并执行脚本。增加对服务器的监控。
5、最后通过分析器分析性能测试结果。 -
Linux你都会哪些命令?
查看日志:tail -f catalina.2018.11.6.log,主要是查看里面的SQL语句和Exception信息;
修改权限:chmod;
解压缩命令:tar -zcvf压缩和tar -zxv解压f命令;
查看进程和查看端口命令:ps -ef | grep java 和 netstat -anp | grep 8080;
其他命令:vi(编辑),操作文件命令,ifconfig(查看IP),free -m(查看内存)等 -
APP测试你会么?和Web测试有什么区别?
App和Web的功能测试其实差不多,但是有一些特殊的关注点:比如:弱网,弱电,中断测试,兼容性测试等。 -
APP弱网怎么测?
使用Fiddler限制流量模拟2G,3G,4G流量来测试都可以
F12 -
session、token,cookie你了解吗
1、session是服务端的缓存,cookie是客户端的缓存。
2、session默认登录后不访问项目的情况下半小时失效,我们可以在tomcat/conf/web.xml中修改成1分钟失效来测试session失效后是否有相应的提示并跳转到登录页。
3、cookie在浏览器中保存,在浏览器的"internet"选项中删除cookie来测试。
4、token是接口测试时的鉴权码。 -
如果有元素总是定位不到,可能是什么原因?
1、首先查看此元素前后是否有空格、或特殊字符导致定位不到
2、然后查看此元素是否包含在frame或者iframe里面,如果有则需要先进入Frame再定位。
3、有时也可能是页面没有加载完成导致元素定位不到!这样就需要使用time.sleep()
4、如果所有方法都定位不到的话则和开发协调一下修改一下脚本 -
元素的定位用的是什么方法?
八大元素定位法
通过“ID”定位:driver.find_element_by_id()
通过“名字”定位:driver.find_element_by_name()
通过“Xpath”定位:driver.find_element_by_xpath()
通过“Css”定位:driver.find_element_by_css_selector()
通过“链接文本”定位:driver.find_element_by_link_text() -
Oracle客户端如何连接服务器?
1、安装Oracle客户端和PL/SQL远程连接工具。
2、把服务器目录:app/administartor/product/11g/network/admin/tnsname.ora这个文件中拷贝到客户端相同的位置并多加一组连接服务器的字符串。 -
性能分析结果是怎么做的?
1、在Analysis里面把所有的图表都显示出来;
2、查看响应时间,CPU和内存,事务成功率等指标值;
3、把虚拟用户图表和tps以及吞吐量的图标合并,主要看随着虚拟用户的增加,tps和吞吐量的变化。
如果是上升的趋势,并且波动不大则表示性能正常,如果出现拐点,则需要看资源利用率和响应时间的图表,如果资源利用率和响应时间都没有问题,则是程序和数据库的性能有瓶颈,再考虑是程序还是数据库的问题(通过执行SQL语句判断) -
自动化用例出错如何处理?
1、首先肯定是先检查脚本,通过单元测试查看脚本的报错信息,根据错误信息修改脚本。
2、手动执行这个用例。找出问题,有问题再提交Bug。 -
APP的MONKEY测试怎么测?
MONKEY是Android系统自带的一个压力测试工具,主要是模拟用户的操作行为来检测APP包的稳定性和健壮性。
首先是安装MONKEY的测试环境,包括JDK和SDK的环境,然后就是获取APK的包名,然后输入ADB命令执行测试,执行了10000次,最后查看执行的日志结果,主要包括崩溃日志(CRASH),内存泄露日志(GC),异常日志(Exception)等。 -
APP的兼容性怎么测?
适配测试主要是屏幕分辨率的兼容性和版本的兼容。这一块我们就是使用测试机和项目的手机(一起10多台)来测的,主要测了华为、VIVO、OPPO、小米、苹果这几个常用的机型。 -
增加功能、删除功能、修改功能、查询功能如何断言?
增加功能和修改功能,处理后有一个"增加成功","修改成功"字样,通过这个字样来断言。
删除通过点击删除后的弹出窗口中的文字来断言或者是判断删除后的列表中是否包括删除的内容。
查询:比如根据分类查询则判断列表中是否都是分类的名称。 -
接口测试中有哪些要注意的测试点?
1、接口中返回了图片地址,要手工去进行图片的测试(大小、内容);
2、接口完成查询功能的时候,数据返回的排序显示;
3、接口测试的时候,关注参数的默认值、必填项。 -
jmeter参数化的方式有哪几种可以实现?
1、配置元件—用户定义的变量元件可以设置全局变量;
2、函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化;
3、可以使用csv文件作为参数化,通过配置元件中的csv data set config元件进行设置即可。 -
响应状态码有哪些?
1xx:指示信息–表示请求已接受,继续处理;
2xx:成功–表示请求已被成功接收、理解、接受;
3xx:重定向–要完成请求必须进行更进一步的操作;
4xx:客户端错误–请求有语法错误或请求无法实现;
5xx:服务器端错误–服务器未能实现合法的请求。 -
APP的性能测试怎么测?
使用LoadRunner,LR首先需要安装一个补丁包LR_03105_Patch4.exe,然后在录制的时候选择:Mobile App(HTTP/HTML)协议,然后使用160wifi创建热点,然后手机连接到热点,然后在手机上操作需要录制的功能,LoadRunner就可以捕获并且录制到App操作的脚本。录制到脚本后,后面的施压和Web差不多了。
Jmeter Fidder抓包
Perfdog -
数据库怎么查中间数据?
where id between 30 and 50
sqlserver2000中:
select top 50 * from 表 where id not in (select top 29 id from 表)
sqlserver2005中:
select top 50 * from 表 except select top 29 * from 表
Oracle中:
select * from 表 whre rownum<=50 minus select * from 表 where rownum<=29
mysql中:
select * from 表 limit 30,50
-
考察基本素养–如沟通方向的考察,解决问题能力的考察,主动性考察,学习求知欲等
-
简历中写的东西都有可能被问到
-
公司对本职位需求的能力
-
Linux搭建测试环境
确定系统,Linux-centos7
在Linux下安装服务器tomcat、jdk、配置环境变量
安装数据库,一般用mysql
依据测试文档安装相应的软件,配置环境变量 -
测试流程
需求评审(有项目经理、产品经理、UI交互、前后端开发、测试)
需求确定(需求确定后确定需求文档)
开发设计文档(开发人员在开始写代码前输出需求设计文档)
测试策略,编写测试用例
评审测试用例
完善测试用例
开发提测后开始测试,执行测试用例
发现bug,提交禅道(有些 bug 需要开发人员的确定(严重级别的,或突然发现的在测
试用例范围之外的,难以重现的),有些可以直接录制进 TD
开发人员修改,修改后重新验证
最后做回归测试
测试报告/测试总结 -
测试用例设计方法,什么场景用什么方法,测试用例数据设计方案,测试用例的评审过程
等价类划分法:有效等价类无效等价类
边界值分析法:对等价类划分法的补充,着重测试边界,选取数据的重要性
错误推测法:依据测试经验,列举出所有可能出现的错误
因果图法-判定表:输入条件的各种组合,看到输出条件的不同
场景法 -
测试计划包含什么,如何做
产品概述
测试策略
测试方法
测试范围
测试配置
测试周期
风险控制
输出文档等 -
bug的处理机制|bug的等级
轻微、一般、高、较高、严重
选取bug等级高的优先修改,当然也应与优先级比较 -
风险预警和风险控制能力的考察
-
测试报告内容考察
项目背景
参考资料
测试范围
测试案例设计思路
测试结果(执行情况与记录)
缺陷分析
风险分析
测试总结 -
简历中项目的描述,针对项目的细节问
-
给出场景,现场设计测试用例
-
如何保障测试覆盖率
测试需求分析要全面(需求说明书、会议等,产生测试需求文档)
对测试需求评审,保证需求的准确性及完整性
根据测试需求设计测试用例 -
11