目录:导读
前言
1、APP测试篇
1)app测试与web测试的区别
系统架构:web端系统,更新服务器,不需要更新客户端;APP如果更新了服务端,客户端也要更新并测试;
兼容性。Web端要考虑不同的浏览器内核进行测试(IE、chrome、Firefox),APP的兼容性要考虑选择主流的机型,不同的分辨率、尺寸, 以及不同的操作系统;
App要考虑交叉事件测试,安装,卸载,前后台切换测试;
App还要考虑界面操作,如:横竖屏切换,多点触控,事件触发区域。
2)怎么做app测试的?
测试前,先熟悉app的原型图和业务需求,确定测试点,开发做完接口之后,先做接口测试,App开发好后,先做一个冒烟测试,看看软件的基本功能是否可用,如果正常,我们再做功能测试,UI测试,兼容性测试,交叉事件测试,安装卸载测试等。
如果面试官问具体某个测试类型怎么,就要举例子加以说明。
比如:
UI测试:检查app的UI是否和原型图一致。
功能测试:xxxx
兼容性测试:xxxx
用户体验测试:xxxx
(补上app的8大测试点,并举例子说明)
功能,兼容性,用户体验,安全性,安装卸载升级测试,交叉事件,UI测试,性能测试。
3)App的性能测试怎么做的
App的性能分为服务器端的性能和手机端的性能。
服务器端的性能,我们用Jmeter工具进行测试的,和web的端性能测试方法一样的。
我们是用monkey做手机端App的稳定性测试的,使用monkey跑10万次,看它会不会出问题,如果出了问题,我们再定位原因,具体的做法是这样的:
在跑monkey前,先使用adb logcat -c清空手机的logcat日志
接下来,使用adb logcat -v time获取logcat日志并导入本地文件
使用monkey运行被测应用:adb shell monkey -p 包名 -v 10万次 并将执行结果导入到本地
测试完成后查看monkey日志,如果说它跑的次数跟我设的次数不一样.就说明monkey中途跑失败了。那我就要去看看monkey日志中有没有crash或者anr的关键字,如果有还需定位到是什么原因导致的anr或者crash的问题。
并且将相关日志和logcat日志与进程号提交给开发定位,如果是anr的问题,还需要从安卓中获取/data/anr/traces.txt文件提交给开发定位。
4)用MONKEY做APP测试,怎么做的?如果有问题的话怎么定位?
在跑monkey前,先使用adb logcat -c清空手机的logcat日志
接下来,使用adb logcat -v time获取logcat日志并导入本地文件
使用monkey运行被测应用:adb shell monkey -p 包名 -v 10万次 并将执行结果导入到本地
测试完成后查看monkey日志,如果说它跑的次数跟我设的次数不一样.就说明monkey中途跑失败了。
那我就要去看看monkey日志中有没有crash或者anr的关键字,如果有还需定位到是什么原因导致的anr或者crash的问题。并且将相关日志和logcat日志与进程号提交给开发定位,如果是anr的问题,还需要从安卓中获取/data/anr/traces.txt文件提交给开发定位。
5)如何判断客户端还是后台的问题
客户端问题:
文字,图片有误;
无法输入,按钮不可用;
抓包信息显示客户端发送的信息有误。
服务器端问题:
通过抓包检查服务器返回的信息,如果信息有误,就可以断定是服务器的问题;
客户端向服务器发送信息后,服务器无响应。
2、自动化测试篇
1)自动化测试是怎么做的?
就拿简历上的xxx项目来说吧,在编写脚本前,我们会对系统进行评估,确认这个系统可不可以实现UI自动化,如果可以的话,就筛选出能实现自动化测试的用例,一般优先把冒烟测试用例的转为成脚本。
我们是用selenium工具来实现自动化,采用python脚本语言,基于unittest/pytest框架进行用例的编写。
比如,下单这个功能的脚本,我们是这样做的:首先,我们会构建一个测试工程,测试工程包含testcase,主要用来存放测试用例,report用来存放测试报告,其次我们会把用例中公共的部分封装到public中,最后用runAllCase的python文件运行项目自动化用例,脚本调试完后,我们会用jenkins持续集成工具,设置脚本每天晚上10点跑一遍脚本,跑完后生成html格式的自动化测试报告。
2)自动化脚本失败的原因
可能是测试环境的网络不稳定;
开发修改了代码没通知到测试人员修改脚本;
开发引入了新的问题。
3)测试脚本用到了哪些技术
元素定位,表单切换,模块调用,JS定位等等,脚本是基于python自带的unittest单元测试框架,或者pytest单元测试框架,采用了模块化方式编写,把复用性高的操作封装到公共模块中,如果脚本需要用到对应的操作,直接调用就可以了,如果元素发生变化,只需要调整元素封装的代码就可以了,提高测试用例的可维护性。
4)脚本怎么组织的?(编写自动化脚本,你的思路是什么?)
构建一个测试工程,测试工程包含testcase,主要用来存放测试用例,report用来存放测试报告,其次我们会把用例中公共的部分封装到public中,最后用runAllCase的python文件运行项目自动化用例。
测试脚本使用的是python的unittest单元测试框架组织管理,将所有测试脚本通过单元测试框架组织起来运行,这样做的好处是,维护起来方便,可以生成测试html格式的测试报告,报告包括:测试用例,通过数,失败数。
5)自动化率多少
一般是30%到40%,这个没有固定的,我们是优先将优先级高的测试用例,比如,冒烟测试的测试用例转换成自动化脚本的,后面有时间的时候再不断补充,能写多少写多少。
6)怎样用python连接mysql数据
我们之前主要是用python语言来写web端的自动化测试脚本,连接数据库的话,我们主要使用pymysql这个模块来进行连接的。一般在进行完自动化测试之后,我们会连接上数据库,将数据进行清除。
7)元素的属性值是动态变化的,怎么定位这个元素?
如果元素有属性值是动态变化的,我们就不要使用这个属性进行定位;
我们可以使用这个元素的非动态变化,并且是唯一的值属性进行定位;
也可以使用xpath或者css,使用层次+属性的方式定位。
3、经典测试举例篇
1)一个身份证号码输入框,怎么设计用例?
校验身份证号规则的有效性(包括地址码、生日期码、顺序码和校验码校验15位身份证号和18位身份正好都是可用的校验末位是X的情况校验不足15位、16-17位和大于18位的情况如果是必输项,校验不输入的时候会不会有正确的提示如果不是必输项,则要校验不输入的时候流程能否正常进行校验输入非数字的情况,是否会有正确提示信息(包括大小写字母、汉字、特殊字符和标点符号)校验输入全角的数字的时候,系统是否会识别(这个得根据需求确定是否可以使用全角的数字)
2)登录功能怎么设计测试用例?
具体需求:
有一个登录页面,有一个账号和一个密码输入框,一个提交按钮。
此题的考察目的:
了解需求(测什么都是从了解需求开始);
是否有设计Test Case的能力;
是否熟悉各种测试方法;
是否有丰富的Web测试经验;
是否了解Web开发;
了解需求:
登录界面应该是弹出窗口式的,还是直接在网页里面;
账号长度和密码的强度(比如需要多少位、大小写敏感、特殊字符混搭等);
界面美观是否有特殊要求?(即是否要进行UI测试);
用例设计:
测试需求分析完成后,开始用例设计,主要可以从以下几个方面考虑:
功能测试:
输入正确的账号和密码,点击提交按钮,验证是否能正确登录。(正常输入)
输入错误的账号或者密码,验证登录会失败,并且提示相应的错误信息。(错误校验)
登录成功后能否跳转到正确的页面(低)
账号和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)
账号和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)
记住账号的功能
登录失败后,不能记录密码的功能
账号和密码前后有空格的处理
密码是否加密显示(星号圆点等)
牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
登录页面中的注册、忘记密码,登出用另一帐号登录等链接是否正确
输入密码的时候,大写键盘开启的时候要有提示信息。
什么都不输入,点击提交按钮,看提示信息。(非空检查)
界面测试:
布局是否合理,2个Testbox和一个按钮是否对齐;
Testbox和按钮的长度,高度是否符合要求;
界面的设计风格是否与Ul的设计风格统一;
界面中的文字简洁易懂,没有错别字;
性能测试:
打开登录页面,需要几秒;
输入正确的账号和密码后,登录成功跳转到新页面,不超过5秒;
安全性测试:
登录成功后生成的Cookie是否有HttpOnly(降低脚本盗取风险);
账号和密码是否通过加密的方式,发送给Web服务器;
账号和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javaScript验证;
账号和密码的输入框,应该屏蔽SQL注入攻击;
账号和密码的输入框,应该禁止输入脚本(防止XSS攻击);
错误登录的次数限制(防止暴力破解);
考虑是否支持多用户在同一机器上登录;
考虑一用户在多台机器上登录;
可用性测试:
是否可以全用键盘操作,是否有快捷键;
输入账号,密码后按回车,是否可以登录;
输入框是否可以以Tab键切换;
兼容性测试:
主流的浏览器下能否显示正常已经功能正常(IE6-11,FireFox.Chrome,Safari等);
不同的平台是否能正常工作,比如Windows,Mac;
移动设备上是否正常工作,比如iPhone,Android;
不同的分辨率;
最全Python自动化测试进阶之路视频教学 (全集)
| 下面是我整理的2025年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
人生最动人的篇章,往往写在最艰难的转折之后。当你觉得力不从心时,请记住:每一个"不可能"的突破,都始于"再试一次"的勇气。你的坚持,正在为世界书写新的可能!
别让他人的质疑成为你的枷锁!你体内蕴藏着改变命运的力量,每个微小的进步都在为辉煌铺路。当别人停下脚步时,你的坚持就是最有力的回应。向前走,属于你的舞台正等待绽放!

2万+

被折叠的 条评论
为什么被折叠?



