软件测试面试过程中经常被问到的问题

测试通用基础知识(自我记忆)
常规的测试流程应该是怎样的?
1.需求分析,需求评审
2.制定测试计划
3.设计测试方案
4.编写测试用例、评审测试用例、优化测试用例
5.执行测试用例、提交测试缺陷、编写阶段性的测试报告
6.回归测试
7.编写测试报告总结
8.产品上线跟踪与维护

常规测试用例怎么设计?
例:简单的登录页面,包含账号、密码文本输入框,登录按钮
一、UI测试点
1.界面排版布局是否符合UI设计规范
2.界面有无错别字,是否通俗易懂
二、功能测试点
1.正确的用户名、密码验证登录是否正确
2.正确的用户名、错误密码验证登录成功失败,提示信息是否正确
3.错误的用户名、正确密码验证登录成功失败,提示信息是否正确
4.错误的用户名、错误的密码验证登录成功失败,提示信息是否正确
5.用户名、密码都为空验证登录成功失败,提示信息是否正确
6.用户名、密码两者有一项为空验证登录成功失败,提示信息是否正确
7.密码项前/中/后包含空格验证登录成功失败,提示信息是否正确
8.如果带有验证码的情况下,输入正确用户名、密码,正确的验证码是否登录成功
9.如果带有验证码的情况下,输入正确用户名、密码,错误的验证码是否登录成功,提示信息是否正确
10.用户名、密码使用的字符与长度限制的测试
三、兼容性测试
1.不同浏览器下UI展示与功能的正确性
2.相同浏览器不同版本下UI展示与功能的正确性
3.不同的移动设备不同浏览器下Ui展示与功能的正确性
4.不同分辨率下UI展示与功能的正确性
四、性能压力测试点
1.单用户登录响应耗时是否符合预期
2.高并发登录响应耗时是否和服预期
3.高并发场景下服务器是否正常
4.长时间多用户登录的情况下,验证服务器是否存在内存泄漏
五、安全性测试
1.用户密码是否铭文加密
2.用户名密码是否做了防sql注入攻击
3.连续多次登录失败,是否做了防止后续继续操作应对暴力破解
4.是否支持第三方登录
5.密码的强弱性、复杂性校验
6.密码框是否不支持复制粘贴
7.异地登陆、第三方存储密码的情况
六、其他测试点
1.网络波动、弱网的情况下进行登录验证
2.同一账号在不同设备登录的情况
3.同一设备登录不同账号的情况

接口测试应该怎么测考虑哪些因素
在这里插入图片描述

常用liux命令记录
1.ls 查看文件夹所有内容
2.cd 更改路径
3.mkdir 创建文件夹
4.touch 创建文件
5.rm 删除目录或文件
6.vim 编辑文件里内容
7.cat 查看文件内容
8.more 分页查看文件内容
9.head 显示文件前n行内容
10.tail 显示文件后n行内容
11.tail -f 用于自动刷新的显示文件后n行数据内容
12.grep 将一个命令的标准输出作为另一个命令的标准输入
13.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000
14.netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况
15.查看磁盘占用:df -h

常用adb命令记录
1.adb devices 查看当前链接设备
2.adb logcat 查看日志
3.adb install 安装apk
4.adb install -r 覆盖安装
5.adb uninstall 卸载apk
6.adb shell am start 启动activity
7.adb push 推送文件至设备
8.adb pull 设备文件拷贝到本地
9.adb reboot 重启
10.adb shell mkdir 创建文件夹

常用sql语句
选择:select * from table where 范围
插入:insert into table(field1,field2) values(value1,value2)
删除:delete from table where 范围
更新:update table set field1=value1 where 范围
查找:select * from table where field1 like ’%value1%’ -
排序:select * from table order by field1 [desc]/[asc]
总数:select count as totalcount from table
求和:select sum(field1) as sumvalue from table
平均:select avg(field1) as avgvalue from table
最大:select max(field1) as maxvalue from table
最小:select min(field1) as minvalue from table
左连接:select * from table1 left join table2 on table1.条件列名 = table2.条件列名
右连接:select *from table1 right join table2 on table1. 条件列= table2.条件列
完全外部连接:select *fron table1 join table2 on table1.条件列名 = table2.条件列名
交叉连接(完全):select *from table1 cross join table.
排序后求前几名的数据:
select * from table order by field1 [desc]/[asc] limit [n]

http跟https协议的主要区别
1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4.http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

get跟post请求的主要区别
1.get是从服务器上获取数据,post是向服务器传送数据。

2.GET请求把参数包含在URL中,将请求信息放在URL后面,POST请求通过request body传递参数,将请求信息放置在报文体中。

3.get传送的数据量较小。post传送的数据量较大,一般被默认为不受限制。。

4.get安全性非常低,get设计成传输数据,一般都在地址栏里面可以看到,post安全性较高,post传递数据比较隐私,所以在地址栏看不到, 如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。

5.GET请求能够被缓存,GET请求会保存在浏览器的浏览记录中,以GET请求的URL能够保存为浏览器书签,post请求不具有这些功能。

怎么区分bug是前端还是后段的
前端问题一般是UI上直观可见的问题,一般体现在视觉效果跟交互设计上
后段主要实现具体的功能,针对逻辑、针对数据、针对平台的稳定性及性能相关等。
具体方法可以参照一位大佬写的内容:我是个跳转

项目延期出现延期上线的风险,作为测试你应该怎么办?
如果加班可以赶上工时的话就不算问题,如果不行则:
1.首先拉齐各个角色负责人跟项目领导,把目前的项目情况告知他们,让项目负责人来决定项目是否需要上线。
2.其次总结延期原因,看是哪一方导致项目延期上线,
如是Pm需求未按时提供或后期更新大需求这类的情况,后续PM就需要作出调整;
如是Rd未按时提测,或排期失误,bug未改完等情况,就需要Rd做出调整
如是测试发现bug较晚导致,就需要我们测试人员来做调整
最后最重要的一点是一定要提升我们测试人员的一个专业度
第一要保证我们自己的一个职业水准能在需求评审、变更时能准确的判断需求的合理性及可行性,在提测质量差的时候可以更快更准确的找出问题
第二作为一名测试人员一定要有一个良好的沟通能力,测试人员要把控与推动项目的一个进展,在发现项目存在不能按时上线的时候一定要及时告知相关负责人来寻找应对的方法

假如自己有个账号之前一直都可以登录,但再登录的时候登录不上了,问题一般会出现在哪?
首先通过抓包或浏览器控制台来查看,验证是否url错误,如果url错误则是前端导致的,看下请求中的参数是否正确,如果错误是前端导致的,如果,url跟参数都正确但响应内容不正确则是后段bug。其次是否是服务器原因,或者网络因素跟缓存导致的,有可能也是数据库该账号被禁用或者账号信息被篡改导致等其他原因。 无非就是体现在前端/后端/其他因素三个方面
以上内容来自:https://blog.csdn.net/J_9296/article/details/107483373

http常见状态码有哪些
1.200 - 请求成功
2.301 - 资源(网页等)被永久转移到其它URL
3.404 - 请求的资源(网页等)不存在
4.500 - 内部服务器错误

Appium中经常使用的定位方式
1.通过id定位,resrouce-id
2.通过ClassName定位: classname
3.通过Accessiblityld定位:content-desc
4.通过AndroidUiAutomator
5.通过xpath定位(app中很少用到)终极定位

Selenium中经常使用的定位方式

  1. By.name()
  2. By.id()
  3. By.tagName()
  4. By.className()
  5. By.linkText()
  6. By.partialLinkText()
  7. By.xpath()
  8. By.cssSelector()

先总结这些,想起来再补充。

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值