移动app测试的多样性_app移动端接口性能测试
13. APP测试和WEB测试有什么区别?
1. 从技术上来说:
* 测试类型 :WEB测试有功能测试、性能测试、安全性测试、GUI测试。
APP测试除了有WEB测试的类型还增加专项测试,特性测试,适配测试。
* 区别:测试细节和方法 web项目,一般都是b/s架构,基于浏览器的。app则是c/s的,是有客户端的。
2. 系统架构。
* web测试只要更新了服务器端,客户端就会同步更新;
* app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
3. 客户端性能方面
* web页面可能只会关注响应时间,
* app则还需要关心流量、电量、CPU、GPU、Memory(内存,音:咩么瑞)。
4. 兼容方面。
* web是基于浏览器的,所以更倾向于浏览器(IE、chrome、Firefox 音:/faifɔ:ks/)和电脑硬件,电脑系统的方向的兼容;
* app的测试则必须依赖手机或者pad,不仅要看分辨率,屏幕尺寸,重要看设备系统。
专项测试:
* 多网测试:
无线网络、2G、3G、4G等,断网、网速较差及网络之间的切换时页面的显示等
非wifi下,网络流量问题
需要测试弱网下的用户体验
* 中断测试:
如电话、短信、通知、断电等,软件需要处理这些特殊情况。
* 安装测试:
安装时的中断、弱网、
增量包更新。
* 界面测试:
如不同尺寸规格的软件图文在不同屏幕的显示。
自动化测试:
1. 如何做自动化测试(介绍框架和自动化测试的场景)(考试)
框架。
思路:项目中我们主要是接口的自动化/web界面的自动化/app的自动化,用python写的代码,开发工具是pycharm
如果你是做的web界面自动化
web界面的自动化采用了下面的框架:
selenium开源测试库,
用unittest做自动化测试框架,
配合htmlreport输出测试报告,
用xrld模块读写Excel数据,
用nose模块参数化数据
最后用cmd命令/Jenkins调度执行自动化测试脚本。
如果你比较自信:我从头开始搭建的这个数据驱动的自动化测试框架(我们把测试用例写在Excel里,自动参数化执行测试脚本)。
如果你不自信: 我们这个框架是组长搭建的,然后我在里面写了一些基本的测试脚本(复制改下别人的脚本)。
如果你是做的接口自动化,
接口的自动化采用了下面的框架:
python的开源库requests(音:威快SS)发送http/https请求,并用json库把返回的json字符串转换成Python对象(数据处理或者断言)。
用unittest做自动化测试框架,
配合htmlreport输出测试报告,
用xrld模块读写Excel数据,
用nose模块参数化数据,
最后用cmd命令/Jenkins调度执行自动化测试脚本,
如果你是做app自动化,
APP的自动化采用了下面的框架:
appium(音:捱撇姆)移动端的开源测试库
用unittest做自动化测试框架,
配合htmlreport输出测试报告,
用xrld模块读写Excel数据,
用nose模块参数化数据,
最后用cmd命令/Jenkins调度执行自动化测试脚本。
如果你什么都做
利用unittest + htlmreport +nose 等自己搭建了一个通用的框架,
web测试采用selenium开源测试库 ,
接口测试采用requests开源测试库,
APP测试采用appium移动端的开源测试库。
场景:
界面的自动化测试(web/app),一般是在项目有时间的时候编写脚本,挑选一些测试用例中比较重要的用例转换自动测试脚本,每次回归测试的时候调用执行
接口的自动化: 接口的测试脚本可以在接口功能开发完成以后就去执行;
在回归的时候也可以执行接口自动化测试脚本。
2. python有哪些数据类型?(考试)
六大标准类型
Number(数字) : int、float(音:浮漏特)、bool
String(字符串)音:丝俊
List(列表)
Tuple(元组)音:踏博
Set(集合)
Dictionary(字典)音:嘚迟呢威
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个): List(列表)、Dictionary(字典)、Set(集合)。
3. python不/可变数据类型有哪些? 列表和元组有什么区别 (考试)
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个): List(列表)、Dictionary(字典)、Set(集合)。
列表是可变数据类型,元组不可数据类型,列表以[ ]包裹 元组以()包裹
4. 列表/元组/字典怎么取值? 怎么循环遍历
通过索引(列表/元组)或者键(字典)取值
元素遍历 for a in list:
索引遍历 for i in range(list):
5. 自动化定位元素的方法:
selenium有8种方法定位元素:比如 id name classname tag_name linktext xpath css选择器
我主要习惯用xpath或者css定位
xpath定位:
xpath xml文档的标签路径定位方法;分为相对路径和绝对路径定位;
/表示根目录 //所有目录下寻找 *表示所有;用方括号包裹属性,,多个属性可以用多个方括号,在属性之前加@
//*[@id="kw"][@name="wd"]
//span[@class='bg s_iptwr']/input
css定位:
css选择器(选择标签)定位的一种方法
所有的属性用方括号包裹,多个属性可以用多个方括号包裹 input[id='kw'][name='wd'][class='s_ipt'] (xpath表示属性用@,css用键值对表示)
特殊的属性 id class ;其中 .表示类 用#表示id : input.s_ipt input#kw
css中表示标签之间关系:
祖孙关系 form input ;
父子关系 span>input
兄弟关系 span ~ input
毗邻关系 span + a
定位的时候可以 关系加属性表示标签 form#form input@kw
如何选择按下标选择标签: a:nth-child(1) ,第一个a标签
6. 自动测试适用的场景,
功能成熟(需求变动较小),
产品更新维护周期长,
项目进度不太大,
比较频繁的回归测试,
软件开发比较规范,具有可测试性。
接口测试:
1. OSI模型的层次和代表性的协议,
Open System Interconnect 网络互连模型,
OSI:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 ,
物理层的协议: HTTP(80) HTTPS(443) 取的是Apache的端口;tomcat 8080 8443 ; mysql 3306 oracle 1521
FTP 20/21, SSH 22, telnet(远程登陆协议)23, SMTP(邮件协议)。
传输层: TCP 和 UDP 协议
2. TCP和UDP协议的区别。
共同点: 都是传输层的协议
不同点:
1. 定义
TCP Transmission Control Protocol 传输控制协议,
UDP User Datagram Protocol 用户数据报协议,
2. TCP建立连接3次握手 释放连接4次挥手 ;UDP直接建立连接 ,
示例:客户端和服务器建立连接三次过程,
客户端发送一个请求给服务端,SYN=1;
服务端收到响应后给客户端响应,SYN=1 ,ACK确认包
客户端再次发送一个ACK的确认包给服务端
3. 特点:
TCP : 面向连接的,可靠的,数据量小。
UDP : 无连接的 ,不可靠,数据量大。
4. 应用场景
UDP: QQ/微信视频 TCP :http协议,
3. HTTP协议的内容。
1. 定义 :HyperText Transfer Protocol 超文本传输协议 ,传输的不仅仅是文本,包括视频 图片 音频 ;
从WWW服务器传输超文本到本地浏览器的传输协议。
2. 组成,
请求报文,
请求head,
请求行 : 请求方法GET,URI(URL是URI的一个形式) 协议版本
请求方法: GET, POST ,DELETE,......
URL的组成: 协议://主机:端口号(80端口默认,可以不写)/绝对路径,
协议:http,https ,
区别:https是在http的基础上结合ssl协议(加密的管道),https更安全,
共同点:都属于传输层,使用TCP协议进行传输,
请求body,
响应报文,
响应的head,
响应状态行 : 协议的版本 状态码 状态描述,
4. GET和POST的区别,
1. 功能的区别 ,
get重点在从服务器上获取资源,post重点在向服务器发送数据。
2. 请求参数,
POST请求参数放在body,get的请求参数放在URL中。
3. 长度 get放在url所以有长度限制, post放在body所以没有长度限制
4. post要比get安全 。
5. http响应状态码以及代表意思
2xx 成功--表示请求已被成功接收、理解、接受,
3xx 重定向--要完成请求必须进行更进一步的操作,
4xx 客户端错误--请求有语法错误或请求无法实现,
5xx 服务器端错误--服务器未能实现合法的请求,
200 OK 客户端请求成功,
401 Unauthorized 请求未经授权,
403 Forbidden 服务器收到请求,但是拒绝提供服务,
404 Not Found 请求资源不存在,
500 Internal Server Error 服务器发生不可预期的错误,
503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
6. 项目中哪些地方会调用接口,接口名称是什么?
一般接口: 系统内部的接口(接口的详细测试), 系统外部的接口(重在联调)。
接口名称: 登录 注册 忘记密码 收藏 购物车 取消购物车 删除商品 商品详情.... + 接口
一般有优先级,测试重点接口
接口测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
7. fiddler,postman 抓包的原理:
让fiddler 和 postman 成为代理服务器, 将网络设置执行代理 -- 中介服务。
8. 接口测试流程:如何做接口测试 ,
需求评审(测试对象的分析) --测试需求(测试点,测试设计) -- postman的工具将测试用例转换成测试脚本 --- postman执行测试 --- 缺陷处理 ---- 回归。
测试对象: 接口文档(接口文档的内容),(一定要接口文档?接口文档不规范)查找app前端或者后台的日志,把接口的请求参数打印出来;然后写好测试用例,找开发和架构师进行评审和确定。
测试点:接口测试点设计原则(重点),
1. 业务逻辑,
2. 参数名称的检查,
3. 参数值的检查,
4. 接口返回码的覆盖,
5. 异常处理。
9.接口(API)文档的内容:
接口名称 ,
接口请求地址,
请求参数的名字, 是否必填, 数据类型, 数据值以及数据值的意义或者范围 --- 上报数据。
返回参数的数据格式(json xml)返回参数的名字, 数据类型, 数据值,
接口返回的状态码(接口返回的状态码是开发自定义的状态码如:1代表成功,-1代表失败等),
接口请求的方法(get, post,delete),
10. 接口测试的原理:
1. 通过测试程序(工具 fiddler ,postman, jmeter, loadrunner, python代码)模拟客户端向服务器发送请求报文,
2. 服务器接受请求处理后把应答报文发送给客户端,
3. 客户端接收应答报文并解析 (响应response(音:威丝棒次)解析过程,postman可以实现),
4. 程序判断是否符合预期结果的过程(断言),
5. 即request音:瑞快丝特(请求)→response音:威丝棒次(响应)过程,
工具模拟发送http请求,然后验证服务器返回结果是否正确符合业务逻辑...
11. 接口测试的场景:
1. 接口开发完成以后就可以进行接口测试;,
2. 回归测试的时候可以用自动化脚本运行接口测试脚本。
12.性能测试:,
1. 性能测试指标值: ,
软件指标:,
事务 transaction音:团咋可省:衡量性能测试的对象,
并发用户数/并发线程数:跟服务器有交互的用户数,
注册用户数 , 活跃用户数/僵尸用户 ,在线用户数 ,并发用户数,
响应时间:Response(音:威丝棒次) Time (音:太嗯),发出请求到接受到请求的总时间,根据测试对象去分(呈现时间 + 接口的时间(发送到应用服务器时间+数据库时间))。
用户体验的角度:2/5/8原则,
吞吐量/事务总数 : 一定时间之内事务的处理总量,
TPS :transaction per second 每秒处理的事务数 事务总量/事务总的完成时间,
点击率 Hit Rate : 一次点击所发出的请求数/时间,
物理指标:,
cpu占用 内存占用 磁盘读写I/O比例 网络带宽大小。
2. 性能测试的目的 。
评估(满足性能测试需求,没有一个明确的性能需求文档;一般是在需求文档的性能需求) ,
调优 解决性能测试中发现的瓶颈和问题,
稳定 验证系统是否稳定运行。
移动app测试的多样性_app移动端接口性能测试相关推荐
- 移动app测试的多样性_移动App测试一些崩溃原因及触发崩溃的场景
移动 App 测试一些崩溃原因及触发崩溃的场景 移动 App 测试与传统台式机测试相比有一定的复杂性.这些复杂性可以被分类为: 环境:大量的设备,各种移动 OSs ,适应频繁 OSs 变化. 设备:触 ...
- 移动app测试的多样性_web测试与移动App测试的常见测试要点
手机APP项目测试点(内容)总结 对于手机项目(应用软件),主要是进行系统测试. 而针对手机应用软件的系统测试,我们通常从如下几个角度开展测试工作: 功能模块测试 交叉事件测试 性能测试 安全测试 容 ...
- 移动app测试的多样性_做移动APP功能测试,这些因素你得都考虑到~
对于刚入行的测试新手来说,无论是做手动测试还是自动化测试,前期都避免不了学习前人经验,从而尽可能减少自己的漏测问题.作为一个过来人,今天,我就将自己的移动APP功能测试分享给大家,希望对新手有一定帮助 ...
- 移动app测试的多样性_移动可用性测试(四):远程测试
实际工作中,虽然远程测试用得更少,但它确实能解决一些现场测试无法解决的问题.比如在当地无法找到目标用户时,远程测试相对出差是更为廉价可行的做法.或者当需要大量的样本时(现场测试因为时间空间的限制,只能 ...
- 移动app测试的多样性_快速搞定APP移动端自动化测试
1. 何为数据驱动 什么是参数化?什么又是数据驱动?经常有人会搞不明白他们的关系,浅谈一下个人的理解,先来看两个测试中最常见的场景: 登录:不同的用户名,不同的密码,不同的组合都需要做登录场景的测试, ...
- 接口设计文档_app端接口用例设计方法和测试方法(一)
前言 接口测试作为测试的重要一环,重点关注的是数据层面的输入输出,今天小编介绍一种常用的接口测试用例设计方法和测试方法,希望对大家有所帮助,由于内容较多,分三次给大家讲解,今天先介绍"请求层 ...
- 软件测试知识点和面试题--app测试篇
软件测试知识点和面试题--接口测试篇 软件测试知识点和面试题--性能测试篇 软件测试知识点和面试题--手工测试篇(功能测试) APP发布流程 内部发布平台蒲公英.Testlink等发布步骤1.开发打包 ...
- 软件测试的基本理论-移动端app测试-6
软件测试的基本理论-移动端app测试-6 一.移动app测试 1. 移动app测试概述 2.移动app测试要点 3, UI测试要点 1,界面布局 2,图形测试 3,内容测试 4, 功能测试 1,切换测 ...
- 互联网寒潮,特送来 “App测试面试题“ 暖汤一份
专人专事,各自其责才能把控质量:如果做不到质量内建就踏踏实实专人专事. 正文开始 相关系列优选文章: 干了这么久的APP测试,能回答上APP测试面试问题吗? 一 web测试和app测试的相同点和区别? ...
最新文章
- 文档自动摘要及案例实现
- VS2015下使用websocketpp和asio构建websock服务器
- 全球及中国绿色建筑产业规模现状与未来走势分析报告2022版
- 阶跃函数和冲击函数相关性质及傅立叶变换求取方法
- Android中Activity和task,活动亲和力,启动模式,活动状态以及生命周期,激活钝化
- linux下面使用飞书个人版预览doc
- 游戏服务器出现问题怎么维护权益,游戏服务器出问题怎么解决
- B端产品设计——批量导入
- 区分IE6,IE7,firefox三种浏览器的CSS HACK
- 关于hive中的reduce个数的设置。
- [考试反思]0813NOIP模拟测试20
- android返回按钮实现,Android实现返回键操作思路
- 智慧≥智能+应用 2016智能交通展的科达不等式
- 2022华为机试真题 C++ 实现【最大股票收益】
- 2022年编程语言排名,官方数据来了,让人大开眼界
- 百度地图、高德地图的数据下载
- android倒计时动画特效,Android实现答题倒计时效果
- forcast iframe 及 四款播放器
- 如何用WGDI进行共线性分析(一点五)
- 端对端加密通讯协议Signal protocol 学习(转)
热门文章
- 每日英语:Delayed Development: 20-Somethings Blame The Brain
- Lisp 的单行注释和多行注释
- MS CRM 2011插件调试工具
- HDU 1495 非常可乐
- 最新图解 FileZilla Server + FlashFXP 快速傻瓜式搭建FTP服务
- 科大讯飞智慧医疗再出重磅,“智医助理”机器人顺利通过临床执业医师综合笔试...
- WPF的Clipboard.SetText()有问题
- 女司机撞上劳斯莱斯不用赔,多亏她车牌上的一个字救了她
- Apache Kylin权威指南1.3 Apache Kylin的工作原理
- CentOS7 网络安装流程