面试知识小结

  • monkey语法
adb shell monkey -p com.waboon.test --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 -v -v -v --throttle 200 1000   >/sdcard/info.txt
 
  • 常用adb命令
adb devices                         查看当前已与pc端连接的设备序列号
adb install -r +apk名称        强制安装应用程序
adb uninstall +包名             卸载应用程序
adb remount                       重新挂载系统分区,使系统分区重新可写
adb pull /data/anr  f:/         把anr:弹出“应用程序无响应”这个对话框留下来的信息拷贝到f盘
adb push f:/com.waboon.apk  /data/apk   把f盘的哇宝apk拷贝到XX
 
  • 如何测试apk的兼容性
1、横屏和竖屏
2、根据市场占有率,着重测试占有率大的版本,占有率小的版本平时测试的时候也要看看,根据问题的严重性排优先级
     android平台的不同系统版本,主要测4.4 5.0 5.1 6.0及4.4之前的平时测试的时候带一下。多个人同时测试时,可以交叉测试不同的系统版本
     ios平台的不同系统版本,主要测9.0版本,7.0和8.0版本可带测。现在10.0出来了,需要测在10.0上能不能使用
     https://developer.apple.com/support/app-store/   ios系统占比查询
3、输入法的兼容、安全软件的兼容
4、不同网络情况下的兼容,如2G、3G、4G、wifi、无网、弱网测试
5、不同品牌的机型测试,如小米、魅族、华为、锤子、三星,分别买几个热门机型,尽量涉及不同的屏幕分辨率
6、ios与android机器下的数据显示,相互发送消息、图片等
7、apk版本向前向后的兼容,升级过后,数据不能丢失错乱。不是强制升级的话,旧版本可以继续正常使用
8、在平板下的兼容
9、也可以借助一些测试平台进行兼容性测试
 
 
  • app测试和web测试不同点
1、app接听电话,通话结束后,原先打开app的响应,比如是否停留在原先界面,继续操作时的响应速度
2、app使用过程中,有推送消息时,对app的使用影响
3、设备在充电时,app的响应以及操作流畅度
4、设备在不同电量时(低于10%,50%,95%),app的响应及流畅度
5、意外断电时,app数据丢失情况
6、网络环境变化时,app的应对情况如何:是否有适当提示?从有网络环境到无网络环境时,app的反馈如何 ?从无网络环境回到有网络环境时,是否能自动加载数据,多久才能开始加载数据
7、多点触摸的情况
8、跟其他app之间相互切换时的响应
9、进程关闭再重新打开时的反馈,需要不需要再次登录?
10、系统语言环境变化时,app的显示
11、各实体按键的测试,比如音量键、锁屏键、home键。比如打开app状态下,按home键/锁屏键之后,隔1分钟,5分钟,10分钟,30分钟后,重新打开app/解锁,看是否还在原来打开的app子界面,还是回到app主界面
12、横屏和竖屏的切换
13、不同的系统版本
14、多次快速点击
15、ipa文件和apk文件的大小
16、新安装和覆盖安装
 
兼容性:web是兼容不同的浏览器/浏览器版本/windows系统和mac os x系统
            而app兼容性则多了,不同的系统版本/不同的系统/不同的手机生产厂商/不同的屏幕尺寸/不同的分辨率
安装、卸载、更新测试:web测试基本上没有客户端层面的安装、卸载、更新测试,但是app测试是存在客户端层面的安装、卸载、更新测试。
            除了常规的安装、卸载、更新,还要考虑到异常场景。包括安装时的中断、弱网,安装后删除安装文件,更新的强制更新与非强制更新、
            增量包更新、断点续传、弱网,卸载后删除app相关的文件等等
中断测试:
a.来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断
b.短信中断:接收短信、查看短信
c.其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)
操作类型测试:横屏测试,手势测试
网络测试:包含弱网和网络切换测试
升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了
性能测试:web页面可能只会关注响应时间,而app则还需要关心流量、电量、cpu、GPU、内存等
push测试:接收到push,点击后唤醒应用,是否到达正确的页面
手机功能:定位、摄像头、相册、通讯录
容量测试:即存储空间已满时的测试,包括手机用户可用内存和SIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件在极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。
分享功能、外部链接和广告
 
安卓主要的应用市场:应用宝、360手机助手、小米应用商店、华为应用商店、百度手机助手、91手机助手、豌豆荚、
ios下载应用:appstore testflight
 
  • app测试中,ios系统和android系统的不同
1、android系统中,点击Back键返回到的页面是否正确;ios系统没有Back键
2、安装卸载测试:android的下载和安装平台的工具和渠道比较多,ios主要有appstore,testflight
3、隐私方面,需要使用定位、摄像头、相册功能的模块,android在安装时会有文字说明,ios则会在使用到这些功能时弹出提示
 
  • monkeyrunner工具和monkey工具的差别
monkey:直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流
monkeyrunner:通过API定义的特定命令和事件控制设备或模拟器 。它支持,自己编写插件,控制事件,随时截图
 
  • linux常用命令
1、#是有超级权限的root用户,一般用户的提示符是$
2、列出目录内容:ls
3、列出目录的详细内容:ls -l
4、显示文件内容:cat 
5、切换到root用户:su
6、显示当前目录:pwd
7、进入当前目录的上层目录: cd ..
8、创建文件:touch    删除文件:rm   移动或重命名文件:mv
9、查看文件头:head   默认情况下,head将显示该文件前10行的内容,也可以使用-n参数指定显示的行数,如:  head -n 20 install.log
10、查看文件尾:tail    默认情况下,tail将显示该文件最后10行的内容,也可以使用-f参数指定显示的行数,如:  head -f 20 install.log
11、进入目录:cd 创建目录:mkdir  删除目录:rmdir和rm   文件和目录复制:cp   
12、改变文件权限:chmod   改变目录属性:chmod -R
13、一般查找:find  如:find  /  -name  httpd.conf   在根目录开始寻找;   find  /etc  -name httpd.conf  在etc目录下寻找
14、压缩和解压缩文件:gzip/gunzip
15、打包 tar
16、管道:|  把一个命令的输出内容当作下一个命令的输入内容  如:ls -l /etc/init.d | more
17、搜索文本:grep  如:grep 'name' a.txt
 
  • 怎么从日志中找到自己想要的信息
可以使用grep 命令搜索出这个测试数据的关键信息,如订单号、用户id,再根据发生时间找出来
 
 
  • 安全性测试是怎么测试的
1、用户的关键数据不能明文存储,需要加密,如密码、身份证号码、银行卡号等
2、web系统是否有超时限制,如用户登录后在一定时间内没有任何操作,是否需要重新登录才能使用
3、web系统的相关信息是否写进日志文件、是否可追踪
4、web系统,一些必须登录或者有权限的页面,直接复制地址,是否可以直接浏览器该页面
5、使用appscan工具扫描系统,查看有哪些安全隐患
6、url中有参数的,手动修改参数,是否可以得到其他用户的信息和相关页面
7、是否可以多次尝试登录,密码是否可以使用简单密码
8、退出登录后,按后退按钮是否能访问之前的页面
9、不登录系统,直接输入下载文件的url是否可以下载
10、同一个账户在不同机器上能不能同时登录
11、打开两个浏览器,分别登录不同的账号,是否信息会串了
 
 
 
  • app安全测试
1.关键数据明文传输
2、任意账号注册(拦截请求,修改注册的手机号码)
 
  • 进程和线程的区别
1、进程是一个执行中的程序,线程是进程中的一部分,通常一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源
2、在引入线程的操作系统中,通常把进程作为分配资源的基本单位,把线程作为独立运行和独立调试的基本单位。
3、子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间
 
  • sql语句
1、select distinct  列名称 from 表名称                 返回唯一的不同的值
2、order by            对结果集进行排序,默认按照升序对记录进行排序。使用DESC则降序
3、top     规定要返回的记录的数目
4、
5、
6、示例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P 
 
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
 
  • 测试用例的要素
用例ID、测试模块、功能点、前置条件、操作步骤、预期结果、实际结果、是否通过、测试人员、备注、重要级别
 
  • 测试用例设计方法有哪些
等价类划分(有效等价类和无效等价类)、边界值分析、错误推测法、场景分析法、流程分析
 
  • 你是怎么设计测试用例的
 
1、先把一个app划分出几个模块,每个模块编写功能、性能、安全、界面、兼容性方面的测试用例
2、功能上根据等价类划分、边界值分析、错误推测法、场景分析法、流程分析法编写用例,考虑正常情况、异常情况
3、性能上编写多并发、
4、安全测试用例
5、界面测试用例
6、兼容性测试用例
 
  • 测试报告包含哪些内容
1、测试概要
    1.1 项目信息 
    1.2 测试阶段
2、测试资源与环境
     2.1 硬件配置
     2.2 软件配置
3、测试结果及分析
     3.1 测试进度总结 
     3.2 测试执行情况
     3.3 功能测试报告
     3.4 性能测试报告
     3.5 不间断运行测试报告
     3.6 易用性报告
     3.7 安全性测试报告
     3.8 测试结果分析
5、缺陷统计与分析
     5.1 按功能模块划分 
     5.2 按状态分布
     5.3 按严重程度分布
     5.4 遗留缺陷
6、建议
 
  • 测试方案
1、文档版本控制
2、概述
3、测试资源和测试环境
    3.1 硬件配置
    3.2 软件配置
    3.3 测试数据
4、测试策略
    4.1 功能测试
    4.2 UI测试
    4.3 性能测试
    4.4 安全性测试
    4.5 兼容性测试
    4.6 回归测试
5、测试实施阶段
6、软件测试的通用标准
 
  • 什么时候测试可以结束
所有的测试用例已经执行完成
当前版本所有影响功能使用的严重错误的bug和主要错误已经全部修复,遗留的问题不会影响产品的使用,回归测试后未发现新的问题,产品经理试用版本后觉得可以上线
 
  • fiddler的作用
1、修改请求,验证服务器端有没有对数据的合法性做验证
2、修改返回,验证前端能不能正确的显示
3、查看请求到响应之间花费了多少时间
4、测试接口,查看参数和返回的code是否与文档中的一致
5、设置代理,进行app的抓包
6、模拟弱网环境下的响应
 
  • 自我介绍
 
跟进与分析线上环境的问题,进行测试总结。
  
 
 
  • web和wap的区别
web 是有服务器端,有客户端,客户端一般就是浏览器的网络应用,它可以通过各种终端形式来访问,比如台式机、平板、手机等。
wap 是有服务器端,有客户端,客户端一般是手机等移动设备的网络应用,wap是web的精简版,技术实现上由于针对移动设备,表现手法也不充分。在目前智能机流行的时代,这东西已经很少见了,它基本已被web覆盖。
app是移动设备的本地应用,若需要网络,可通过应用从内部调用网络资源。
 
优势:
web 的优势:
1、免安装,它不需要在终端上安装任何程序,有浏览器即可。
2、通用,一次制作,任何终端(指当前的主流终端设备)均可访问。
3、功能易修改与维护,只要技术人员在服务器上进行维护即可,与客户终端没有关系。
 
wap 的优势:
1、这一技术目前已是非主流技术,濒临灭绝。
2、如果非要让他有些优势,那就是在非智能机上,只能通过它来实现web的简单功能。
 
app的优势:
1、本地执行,速度极佳。
2、具有达到最佳用户体验的硬件基础。
3、可以潜伏在客户终端上,实现一些只有在本机上才能实现的其它功能。
 
对比:
wap就不谈了。
如果是对图形和速度要求很高的游戏,非app莫属。
如果是对操作体验要求很高的应用,也以app为佳。
 
除此之外,web包打天下。但web有个致命的弱点,就是要求实时数据,很费流量滴。而app可以先通过wifi将数据缓存到本地,在移动的过程中浏览。
posted @ 2016-10-14 16:40  子信风蓝蓝  阅读(523)  评论(0编辑  收藏  举报