五至七章关键面试题

1:描述用浏览器访问www.baidu.com的过程

1) 浏览器获取输入的域名www.baidu.com

(2) 浏览器向DNS请求解析www.baidu.com的IP地址

(3) 域名系统DNS解析出百度服务器的IP地址 (详细介绍DNS)-通过网关出去

(4) 浏览器与该服务器建立TCP连接(默认端口号80)

(5) 浏览器发出HTTP请求,请求百度首页

(6) 服务器通过HTTP响应把首页文件发送给浏览器

(7) TCP连接释放

(8) 浏览器将首页文件进行解析,并将Web页显示给用户。

2:什么是sql注入,什么是跨站脚本,什么是跨站请求伪造

sql注入攻击是注入攻击最常见的形式,当服务器请求参数构造sql语句时,恶意的sql被嵌入到sql中交给数据库执行 攻击者想要获得表结构有多种方式:

a:如果使用开源系统搭建网站,数据库结构也是分开的

b:如果将服务器的错误信息直接显示在页面上,攻击者可以通过错误信息了解数据库结构

c:防范sql注入可以采用消毒的方式,通过正则表达式对请求参数进行验证

跨站脚本攻击是向网站中注入恶意脚本 在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式跨站脚本攻击分为两种:反射型攻击,持久型攻击

跨站请求伪造是攻击者通过跨站请求以合法的用户身份进行非法操作 防范的方式有3种:在表单种添加令牌  验证码  检查请求头中的referer

3. 给你一个网站怎样开展测试

a:查找需求说明书 网站设计等相关文档  分析测试需求

b:制定测试计划

c:设计测试用例

        c1:功能测试:链接测试是否正常跳转,是否有空页与无效页,提交功能测试,是否支持多语言

        c2:界面测试:是否风格同一,布局是否合理

        c3:性能测试:压力测试,负载测试,强度测试

        c4:数据库测试:数据库存储操作,数据内容验证等

        c5:安全测试:登录功能 安全性问题检查比如sql注入

        c6:兼容性测试:确定支持平台,浏览器,操作系统,软件平台和数据库的兼容性

d:开展测试,记录缺陷

e:定期评审

4:电商支付模块的测试如何开展

支付流程就涉及到了第三方接口

下单接口,支付接口,退款接口,单笔订单查询接口

保证接口能正常调用

生成一笔订单,支付成功后,同步或异步重复调用,只有一次有效

异步通知屏蔽,同步有效,进行支付,同步能够正常到账

同步设置无效,异步有效,进行支付,异步能够正常到账

如果是用户购买实物商品,用户发起退货,要保证退货流程正常,资金能正常返还,要考虑并发情况的验证以验证安全性

如果是用户购买虚拟商品,例如话费,只有在发货失败的时候才能发起退货,注意验证

5:如何开展兼容性测试

web:开展人员测试,测试主流浏览器和常用操作系统测试主流程和主界面是否有问题,如有问题,记录下bug情况以及浏览器型号,版本以及操作系统,定位bug产生原因,提交bug,告知开发人员

借助第三方测试工具

app:和web端类似,开展人工测试,借助测试设备测试主流程以及主页面,收集所有不同型号的测试设备对主流程,主界面的测试结果,查看是否有问题,如果存在问题,提交bug,告知开发人员

借助第三方测试工具

6:常用http协议调试代理工具有什么?详细说明抓取https协议的设置过程

fiddler是一个http协议调试代理工具

打开fiddler,进入tools-options-https,配置允许抓取https连接和解析https流量然后选择要解释的来源,设置是否忽略服务证书错误

(记住就好)简述 Android 四大组件及生命周期?

Android 的四大组件包括:Activity、Service、BroadcasReceiver、ContentProvider



7.APP 测试的内容主要包括哪些,如何开展?

功能测试:

1.业务逻辑正确性测试:依据:产品文档->测试用例编写

兼容性测试:(任意选择记一两个)

1.系统版本:Android:官方版本,定制版本;IOS:官方提供版本

2.分辨率:720 * 1280 或1080* 1920

3.网络情况:2g 3g 4g 5g Wi-Fi

异常测试:

1.热启动应用:应用在后台长时间待机;应用在后台待机过程中,手机重启

2.网络切换和中断恢复:网络切换;中断恢复;

3.电话信息中断恢复;


升级,安装,卸载测试

1.升级测试:临近版本升级(1.0->1.1);跨版本(1.0->....->2.2)

2.安装测试:首次安装;覆盖安装(同版本,不同版本覆盖);卸载后安装

3.卸载测试:首次卸载;卸载安装后在卸载

健壮性测试


1.手机资源消耗:cpu,内存

2.流量消耗:图片,数据,视频

3.电量测试

4.崩溃恢复


Android 的兼容性测试都考虑哪些内容?(加粗字体)

品牌机型兼容:根据市场占有率、发布时间等指标对主流、最新机型进行重点兼容

ROM 兼容:需兼容原生的 ROM(2.1、2.2、2.3、4.0、4.1、4.2);第三方 ROM(小米、百度易、点心、魅

族、阿里云……)

屏幕兼容:需兼容 HVGA、VGA、WVGA、FWVGA、720p、1080p 屏幕分辨率,并考虑不同 PPI 的情况

软件兼容:安全类软件(百度手机管家、360 优化大师、360 安全卫士、QQ 手机管家、安卓优化大师、网秦、

LBE),输入法软件(系统自带、Sogou、百度)

版本兼容:服务器端需要兼容产品早期版本所需的 API 接口

网络兼容:WiFi、3 大运营商的 2G,3G,4G 网络,需区分 WAP 和 NET 接入

8.针对 App 的安装功能,写出测试点?

安装

1.正常安装测试,检查是否安装成功。

2.APP 版本覆盖测试。

3.回退版本测试。

4.安装时内存不足,弹出提示。

5.根据安装手册操作,是否正确安装。

6.安装过程中的意外情况(强行断电、断网、来电话了、查看信息)等等,检查会发生的情况。

7. 安装了一.在不同型号、系统、屏幕大小、分辨率上的手机进行安装。

8.安装完成后,能否正常启动应用程序。

9.是否支持第三方安装。

10.在安装中点击取消。

卸载


1.用自己的卸载程序进行卸载,检查是否卸载干净。

2.用第三方工具,检查是否卸载干净。

3.在卸载过程中,突然重启设备,再次访问程序,是否还能运行。

4.在没用使用程序时,删除目录文件,看程序是否能运行。

5.在使用过程中,直接删除目录文件,程序是否还能运行。

6.不同系统、硬件环境、网络环境下进行卸载。

7.卸载成功后,是否对其他程序有影响。

8.卸载后再次安装,是否正常使用。

更新

1.当客户端有新版本时,提示更新。

2.不卸载更新,检查是否可以更新。

3.不卸载更新,检查资源同名文件如图片等是否更新成最新版本。

4.非 wifi 网络下,提示是否更新,取消就加入待下载,wifi 下自动更新。

9.常用的 ADB 命令?

adb --help / adb :看见帮助信息

adb start-server:启动 adb 服务

adb kill-server:关闭 adb 服务

adb devices:查看手机设备号

adb shell getprop ro.build.version.release:获取系统版本

adb push 电脑 手机

adb pull 手机 电脑

adb logcat | grep(unix) 包名

adb logcat | findstr(win) 包名

adb shell :进入 shell 命令行,可以操作 Linux 命令

adb shell dumpsys window windows | grep mFocusedApp:获取包名 启动名(win:adb shell dumpsys window

windows | findstr mFocusedApp)

adb install 路径/apk 文件:安装 apk 到手机上

adb uninstall 包名:卸载 app 从手机上

adb shell am start -W 包名/启动名:app 启动时间

 

10. 在查看 logcat 命令日志时候怎么内容保存到本地文件?


输出重定向:logcat >> log_file_name


11.App 崩溃(闪退),可能是什么原因导致的?

1.缓存垃圾过多

2.运行的程序过多,导致内存不足

3.应用版本兼容问题:如果应用版本太低,会导致不兼容,造成闪退 。

4.在一些特定情况下的闪退,比如播放视频,在 Android5.0 升级到 Android6.0 的时候,有些系统 API 老版本有,新版本没有,到时回去对象的时候失败,报空,系统就会出现闪退问题.

12.如何测试监测 app 的内存使用、CPU 消耗、流量使用情况?(加粗字体)

adb shell top

top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.

Android 应用性能测试通常包括:启动时间、内存、CPU、耗电量、流量、流畅度等

根据手机的使用应用频度和强度不同,可将应用使用强度分为如下几种状态:

空闲状态:指启动应用后,不做任何操作或切换到后台运行的情况称为空闲状态,该情况为应用对内存的消耗是最小的。

中强度状态:该情况用户使用应用的强度和时间长短不确定,相对来说使用时长偏长。

高强度状态:该种情况为应用内高频率的使用,用户很少达到,跑 monkey 时可认为高强度状态,该种情况常用来测试应用内存泄漏的情况测试时,可根据用户的操作习惯模拟应用使用频率和强度等级。

监测APP内存使用 adb 命令,手机连接电脑开启 USB 调试模式,进入 adbshell。

1)查看 CPU 占用率

使用命令 top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)

参数含义

PID:progressidentification,应用程序 ID

S: 进程的状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态,N 表示该进程优先值是负数。

#THR:程序当前所用的线程数

VSS:VirtualSet Size 虚拟耗用内存(包含共享库占用的内存)

RSS: ResidentSet Size 实际使用物理内存(包含共享库占用的内存)

UID:UserIdentification,用户身份 ID

Name:应用程序名称

在测试过程中,QA 需要关注对应包的 cpu 占用率,反复进行某个操作,cpu 占用过高且一直无法释放,此时

可能存在风险。如果你想筛选出你自己的应用的话可以用下面命令 top -d 3| grep packageName


2)查看内存使用情况

dumpsys meminfo <package_name>或 dumpsys meminfo <package_id>

参数含义:

Naitve Heap Size: 从 mallinfo usmblks 获得,代表最大总共分配空间

Native Heap Alloc: 从 mallinfo uorblks 获得,总共分配空间

Native Heap Free: 从 mallinfo fordblks 获得,代表总共剩余空间

Native Heap Size 约等于 Native Heap Alloc + Native Heap Free

mallinfo 是一个 C 库, mallinfo 函数提供了各种各样的通过 C 的 malloc()函数分配的内存的统计信息。

Dalvik Heap Size:从 Runtime totalMemory()获得,Dalvik Heap 总共的内存大小。

Dalvik Heap Alloc: Runtime totalMemory()-freeMemory() ,Dalvik Heap 分配的内存大小。

Dalvik Heap Free:从 Runtime freeMemory()获得,Dalvik Heap 剩余的内存大小。

Dalvik Heap Size 约等于 Dalvik HeapAlloc + Dalvik Heap Free

重点关注如下几个字段:

Native/Dalvik 的 Heap 信息中的 alloc :具体在上面的第一行和第二行,它分别给出的是 JNI 层和 Java

层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

Total 的 PSS 信息:这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些

程序占内存比较大了。

流量使用情况

首先获取待测应用的userId

adb shell dumpsys package 【包名】  |    findstr userId

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270