about问题2

方向:
移动:
monkey测试-复习
monkey测试-用于压力稳定测试,产品基本稳定没有特别多的bug时,一般会用monkey去测试;
压力测试:是否发生闪退,奔溃,以及整机测试;
adb monkey 命令:指定monkey相同的:尾随机数
-s 就是一个指定序列的操作顺序 -s 后面是随机数
--日志文件可指定-重定向到一个文本
--- adb shell monkey -p com.android.phone --throttle 500 --pct-touch 80 -v -v 1000 > /mnt/sdcard/monkey_log.txt

log日志:复习
日志文件:logcat/trace.txt
记录和查看系统调试信息的功能,通过命令查看:
adb logcat[]
闪退不等于:Crash ,ANR
------
Dropbox 可以查实际一段时间内的异常信息:包括ANR
——————————————————————————————————————

android应用测试有什么侧重点
应用闪退的原因?
1、缓存垃圾过多
  平时在使用软件的过程中,会产生一些垃圾文件,如果长时间不清理会导致手机越来越卡,也会出现闪退状况。
  进入设置–应用程序——全部——找到有问题的应用程序,清除数据或者缓存。(注:清除数据,会清除掉应用的个人设置、账户信息等。)
  2、运行程序过多
  如果不进行设置,很多软件都会自己运行,而手机后台程序过多会造成内存不足,从而造成应用闪退。如出现软件闪退,可先清理内存后再试试。
  3、手机杀毒软件
  部分手机软件存在着恶意代码,会被杀毒软件拦截因而不能正常进入,应该通过绿色下载平台或者使用软件商店来下载安全系数较高的游戏。
  (注:以上三个原因都现在都可以通过安全软件清理,轻松解决。但需要注意在删除一些大型文件时请谨慎。)
  4、应用版本问题
  如果应用的版本较低,会导致应用软件不兼容,造成闪退。如果是版本太旧,更新为新版本即可。
  如新版本如果出现闪退,是应用改版本还在调试中,无需担心,会很快修复。
  5、网速问题
  部分软件需要一个稳定的网络,使用的是2G/3G网络,造成闪退的可能性比较大,建议在有WiFi的情况下玩比较好。
  6、缺少数据包
  一些大型游戏需要数据包才能运行。所以要先安装好数据包才能使用。
  7、系统不兼容
  部分软件对版本有一定的要求,如果系统版本过低,软件是不能支持的,所以会闪退。
  8、分辨率不兼容
  一些软件对手机分辨率有一定的要求,如果手机分辨率不兼容,有部分软件就容易出现闪退或其它错误。


应用从哪些方面测试
首先要测试正常的流程。
测试各种分辨率
测试后退操作等,可能的非正常操作导致的错误
可以使用monkey等测试工具
1、功能正确性测试;
根据这个安桌软件的需求,看它到底支持那些功能,对每个功能,编写测试用例,验证这个功能是否正确;例如:有注册,登陆,编辑消息,发送消息,删除消息,察看消息等功能,那么你就要测试这每个功能是否正确实现了。
2、界面易用性测试;
主要考虑(1)易理解性;(2)易学习性;(3)易操作性;是否达到要求。
3、兼容性测试;
不同安卓版本的兼容性;不同安卓设备的兼容性,例如:不同厂家的手机,PAD等;看该软件在不同的软件和硬件下显示是否正常,功能是否正确;
4、安全性测试;
用户信息是否不被泄漏等;
5、不同网络状态下的测试;
wifi和2g,3g不同的网络速度下的功能是否正确;没有网络连接的情况下会怎么样,等等。

如何抓取日志:
日志重定向;adb logcat -b main -v time


如何做接口测试 -复习接口测试
.接口测试质量评估标准
3.性能测试如何做,性能测试相关指标
4.压力测试和负载测试的区别

--自动化
3.什么是分层自动化

测试用例分层结构:
大多数分为四层
1 case测试用例的运行case
2 case直接调的lib。(如对被测试系统的操作类,对比测试结果类,清理环境类等)
3 lib调用的公共基础函数或类baselib。(操作数据库,操作文件,操作Linux命令,操作基础数据)
4 数据层(数据库数据结构,加载数据文件等)
测试目录结构:
case :测试用例。
lib;case直接调的lib
baselib:lib调用的公共基础函数或类
conf:测试用例的配置文件
data:存放数据层的数据文件
log:测试用例生成log的目录
mock:上下游mock模块
report:测试报告的目录
tools:测试中使用的一些工具

4.测试数据如何准备 ——开发人员一起准备
5.测试脚本的维护成本怎么样:提高复用性

6.webDriver相关:
a.定位策略
id,name,CSS,tag,link,XPath 等

b.如何实现用例失败or异常时需要用到截图
引入截图模块
---

c 分布式执行webdriver用例
利用jenkins 执行用例
--
7.移动应用相关:
a.Appium的定位策略有哪些
一般为resrouce-id:
name定位
ClassName定位
xpath定位
AccessibilityId定位元素

b.简述appium的原理
可以把自动化测试脚本,翻译成UIAutomator能识别的Java语言,然后调用UIAutomator来执行测试。
c.IOS和Aandroid的UI自动化原理是什么
UiAutomator
UIAutomation

d.定位策略都失败,如何操作?
e.monkey测试的优缺点
对于稳定一点的机器

f.使用monkey发现闪退,如何使用monkey重现
使用随机尾数


Jmeter:
a.使用jmeter做什么测试
b。如果有一个登陆接口需要服务端返回参数,再带这个参数去请求才能完成登陆,用jmeter怎么做

编程:
什么是面向对象编程
面向对象程序设计将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性;
继承(inheritance):
封装性(Encapsulation):
多态性(Polymorphism)


SQL:
1.说一下左连接和右连接
2.介绍一下索引
3.sql建表题--百度

----
数据驱动:
数据的改变,驱动自动化的执行,从而引起测试结果的改变;
可以理解为:参数化,输入数据不同,输出结果不同的变化;
关键字驱动:
通过关键字,引起测试结果的变化。
关键字是对类的封装;

--webdriver错误截图:
get_screenshot_as_file()

原文地址:https://www.cnblogs.com/xyzyoyo/p/8781378.html