python软件测试⾯试题-软件测试⾯试问题及答案
⼀直以来⼤⼤⼩⼩参与过不少⾯试,遇到过不少坑,但是没来的及好好总结汇总下。现在把之前遇到的问题汇总下,希望以后⾃⼰能加深印象。
1、appium 怎么定位toast弹框
appium1.6以后回答需要升级u2进⾏定位。
2、什么是事务,知道事务提交、回滚
事务是并发控制单位,⽤户定义的⼀个操作序列。这些操作要么都做,要么都不做,是不可分割的的⼯作单位。通过事务,sql server能将逻辑相关的⼀组操作绑定在⼀起,以便服务器保持数据的完整性,主要⽤于⼀些对操作过程的完整性⽐较⾼的程序。(事务的特性:原⼦性、⼀致性、隔离性、持久性)。
事务提交是提交事务的所有操作:具体来说就是将所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束。
事务回滚是数据库返回到事务开始的状态;事务在运⾏过程中发⽣某种故障,事务不能继续执⾏,系统将事务中对数据库的所有已完成的更新操作全部撤销,使数据回滚到事务开始时的状态。
3、怎么进⾏数据库优化
a、选取最试⽤字段属性
b、使⽤连接(join)代替⼦查询
c、使⽤联合(union)来代替⼿动创建的临时表
d、使⽤事务
e、锁定表
f、使⽤外键
g、使⽤索引
h、优化查询语句
4、什么是分布式系统架构
分布式架构系统简单的说是运⾏在多个处理器上的软件架构设计。分布式系统是建⽴在⽹络之上的软件系统、正是因为软件的特性,所以具有⾼度的内聚性和透明性。
5、linux中使⽤top什么命令可以查看系统详细内存
top 按 c 查看显⽰完整命令
6、python中列表和字典的区别,列表和元祖的区别
元祖(tuple):元祖常⽤⼩括号表⽰,即:(),元素加逗号,是元祖的标识。
列表(list):列表常⽤⽅括号表⽰,即:[],创建⼀个列表,只要把⽤逗号分隔的不同的数据项使⽤⽅括号括起来即可。
字典(dict):字典是由花括号{}来包含其数据的,花括号内包含键(key)和其对应的值(value),⼀对键和值成为⼀个项,键和值⽤冒号:隔开,项和项之间⽤逗号,隔开,空字典就是不包含任何项的字典,也可理解为空字典就是花括号内不包含任何内容,直接使⽤花括号{}表⽰
列表和字典的区别:字典的查和插⼊的速度极快,不会随着key值的增加⽽增加,需要占⽤⼤量的内存,内存浪费多
列表和元祖的区别:元祖⽐列表操作速度快,对数据不可更改、可⽤于字符串格式化中、可作为字典的key
7、数据库中有使⽤过if等函数吗?
8、什么是脏数据?
脏数据是在临时更新(脏读)中产⽣,⽐如事务A更新了某个数据项x,但是由于某种原因,事务A出现了问题,于是要把A回滚。但是回滚之前,另⼀个事务读取了数据X的值(A更新后),A回滚了事务,数据项恢复了原值。事务B读取的就是数据项X的就是⼀个“临时”值,这就是脏数据。
9、什么是幂等性?
就是⽤户对同⼀操作发起⼀次请求或者多次请求的结果是⼀致的。不会因为多次点击⼆次产⽣副作⽤。简单的例⼦,就是⽀付,⽤户购买商品使⽤⽀付,⽀付扣款成功,但是返回结果的时候⽹络异常,此事钱已经扣了,⽤户再次点击,此时会产⽣⼆次扣款,结果返回成功,⽤户查询余额返现多扣钱了。流⽔记录变成了两条、这就是幂等性。
10、我现在有个程序,发现在Windows上运⾏得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独⽴,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应⽤程序对CPU/内存的访问情况
11、安卓四⼤组件
activity 通过Intent进⾏通信
service service⽤于在后台完成⽤户指定的操作
Content provider 指定数据集提供给其他应⽤程序
Broadcast Receiver 对外部事件进⾏过滤
12、什么是多线程,
线程是程序中⼀个单⼀的顺序控制流程.在单个程序中同时运⾏多个线程完成不同的⼯作,称为多线程.
13、linux中vim模式有
1、命令模式,
2、编辑模式、
3、末⾏模式
14、计算机⽹络模型
七层模型(应⽤层、表⽰层、会话层、传输层、⽹络层、数据链层、物理层)五层模型(应⽤层、传输层、⽹络层、数据链层、物理层)
15、什么是⼦⽹掩码
它是⼀种⽤来指明⼀个IP地址的哪些位标识的是主机所在的⼦⽹,以及哪些位标识的是主机的位掩码。⼦⽹掩码不能单独存在,它必须结合IP地址⼀起使⽤。⼦⽹掩码只有⼀个作⽤,就是将某个IP地址划分成⽹络地址和主机地址两部分。
16、如果测试时间不够,你会怎么办?
测试⽬前主要是产品测试和项⽬测试。做⾃⼰公司的产品测试,如果碰到不能按原计划完成,本着为质量负责,⼀般都可以申请延期。
如果是做项⽬,迫于合同和客户验收的压⼒,碰到不能按原计划完成的情况,就是项⽬风险了。⽽处理的⽅式基本都是“先测客户⽐较关⼼的,⽐较常⽤的功能”,保证通过客户验收,拿到项⽬款。分析客户验收所关⼼的功能点(⽐如客户最近⼏天提过什么需求,肯定要测试,因为时间短,他肯定记得),分析系统最脆弱的地⽅,⾛通所有业务流程等。⽽客户验收时候,不关⼼和不可能想到得地⽅可以不测试(⽐如系统中很多同步功能)
17、性能指标有哪些?
注册⽤户数、在线⽤户数、并发⽤户数、请求响应时间、事务响应时间、每秒点击数、吞吐率、业务成功率、tps(每秒事务处理数)、资源利⽤率
18、什么是接⼝?
传递数据的通道就叫接⼝
19、测试的基本6⼤法则
功能性、可靠性、效率性、可移植性、可维护性、易⽤性
20、接⼝测试测哪些东西
a、通过性验证
b、参数组合
c、接⼝安全
d、异常验证
e、根据业务逻辑来设计测试⽤例
21、⽤fiddler抓包时怎么制造异常情况;
通过请求前打断点,可以修改请求参数
22、 什么是mq,mq的特点是什么?
把要传输的数据放在队列中保存消息的容器.
mq的特点是:异步、解耦、⼴播、流控与销峰
23、怎么保证软件测试质量
测试⼈员需要做的⼯作
测试策略的设计: 质量是多维度的,功能测试、性能测试、兼容性测试等多种测试类型的结合
⽤例质量: 采⽤合适的⽤例⽅法、如何进⾏需求分析、⽤例评审
执⾏质量: 保证执⾏深度(界⾯、关联模块、数据库、⽇志)与⼴度(系统测试类型)
缺陷质量:bug评审,引⼊合适的bug流程
过程质量:合理的软件测试流程,测试过程监控
24、android和ios系统测试的不同点
1、Android长按home键呼出应⽤列表和切换应⽤,然后右滑则终⽌应⽤;
2、多分辨率测试,Android端20多种,ios较少;
3、⼿机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应⽤,低版本ios系统中的应⽤调⽤了新的资源库,会直接导致闪退(Crash);
4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应⽤数据从内存移动到SD卡后能否正常运⾏等;
5、push测试:Android:点击home键,程序后台运⾏时,此时接收到push,点击后唤醒应⽤,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显⽰);
6、安装卸载测试:Android的下载和安装的平台和⼯具和渠道⽐较多,ios主要有appstore,iTunes和testflight下载;
7、升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有⼀个标⽰符区分新旧版本(如版本号),对于Android若有内置的应⽤需检查升级之后内置⽂件是否匹配(如内置的输⼊法)
25、使⽤中间件,中间件的作⽤!
具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发⼈员⾯对⼀个简单⽽统⼀的开发环境,减少程序设计的复杂性,将注意⼒集中在⾃⼰的业务上,不必再为程序在不同系统软件上的移植⽽重复⼯作,从⽽⼤⼤减少了技术上的负担。
26、什么是orm(对象关系映射)
解决⾯向对象与关系数据库存在的互不匹配的现象技术,简单说,orm是通过使⽤描述对象和数据库之间映射的元数据,将程序中的对象⾃动持久化到关系数据库中。
27、使⽤什么命令实现查看app⼿机内存
adb shell dumpsys meminfo 包名(com.mbox)
28、什么是ANR(applicaton not responding)
29、APP⽇志分析查关键字 crash ANR Exception ERROR force closed
30、多线程:线程是程序中⼀个单⼀的顺序控制流程.在单个程序中同时运⾏多个线程完成不同的⼯作,称为多线程.
python新手适合的软件31、unittest⼯作原理
使⽤testcase 进⾏单元测试,通过testsuit 装载⽤例 使⽤testrunner执⾏⽤例,testresult执⾏⽤例。
32、给你的⼀个测试项⽬,你怎么开展测试⼯作
在拿到项⽬后,在熟悉需求、原型图后不必急着去设计⽤例,⽽是先需思考下测试思路,从哪⽅⾯下
⼿,有哪些地⽅需要覆盖到,⽀持哪些平台,有哪些不同的常⽤场景,是否需要考虑到稳定性、性能等等,针对项⽬进⾏⼤概的测试规划,再根据⼤概的规划去逐个细化,最后形成⽤例,简单来说就是:
1.明确测试任务
2.分析测试范围
3.制定测试计划和测试⽤例。
33、什么是cdn?
cdn的全称是 Content Delivery Network 即内容分发⽹络,通俗的理解就⽹站加速,CPU均衡负载,可以解决跨运营商,跨地区,服务器负载能⼒过低,带宽过少等带来的⽹站打开速度慢等问题。
end:希望⼤家能补充答案
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论