移动app测试的多样性_app移动端接口性能测试
13. APP測試和WEB測試有什么區(qū)別?
1. 從技術(shù)上來說:
* 測試類型 :WEB測試有功能測試、性能測試、安全性測試、GUI測試。
APP測試除了有WEB測試的類型還增加專項測試,特性測試,適配測試。
* 區(qū)別:測試細節(jié)和方法 web項目,一般都是b/s架構(gòu),基于瀏覽器的。app則是c/s的,是有客戶端的。
2. 系統(tǒng)架構(gòu)。
* web測試只要更新了服務(wù)器端,客戶端就會同步更新;
* app下修改了服務(wù)端,意味著客戶端用戶所使用的核心版本都需要進行回歸測試一遍。
3. 客戶端性能方面
* web頁面可能只會關(guān)注響應(yīng)時間,
* app則還需要關(guān)心流量、電量、CPU、GPU、Memory(內(nèi)存,音:咩么瑞)。
4. 兼容方面。
* web是基于瀏覽器的,所以更傾向于瀏覽器(IE、chrome、Firefox 音:/faif?:ks/)和電腦硬件,電腦系統(tǒng)的方向的兼容;
* app的測試則必須依賴手機或者pad,不僅要看分辨率,屏幕尺寸,重要看設(shè)備系統(tǒng)。
專項測試:
* 多網(wǎng)測試:
無線網(wǎng)絡(luò)、2G、3G、4G等,斷網(wǎng)、網(wǎng)速較差及網(wǎng)絡(luò)之間的切換時頁面的顯示等
非wifi下,網(wǎng)絡(luò)流量問題
需要測試弱網(wǎng)下的用戶體驗
* 中斷測試:
如電話、短信、通知、斷電等,軟件需要處理這些特殊情況。
* 安裝測試:
安裝時的中斷、弱網(wǎng)、
增量包更新。
* 界面測試:
如不同尺寸規(guī)格的軟件圖文在不同屏幕的顯示。
自動化測試:
1. 如何做自動化測試(介紹框架和自動化測試的場景)(考試)
框架。
思路:項目中我們主要是接口的自動化/web界面的自動化/app的自動化,用python寫的代碼,開發(fā)工具是pycharm
如果你是做的web界面自動化
web界面的自動化采用了下面的框架:
selenium開源測試庫,
用unittest做自動化測試框架,
配合htmlreport輸出測試報告,
用xrld模塊讀寫Excel數(shù)據(jù),
用nose模塊參數(shù)化數(shù)據(jù)
最后用cmd命令/Jenkins調(diào)度執(zhí)行自動化測試腳本。
如果你比較自信:我從頭開始搭建的這個數(shù)據(jù)驅(qū)動的自動化測試框架(我們把測試用例寫在Excel里,自動參數(shù)化執(zhí)行測試腳本)。
如果你不自信: 我們這個框架是組長搭建的,然后我在里面寫了一些基本的測試腳本(復(fù)制改下別人的腳本)。
如果你是做的接口自動化,
接口的自動化采用了下面的框架:
python的開源庫requests(音:威快SS)發(fā)送http/https請求,并用json庫把返回的json字符串轉(zhuǎn)換成Python對象(數(shù)據(jù)處理或者斷言)。
用unittest做自動化測試框架,
配合htmlreport輸出測試報告,
用xrld模塊讀寫Excel數(shù)據(jù),
用nose模塊參數(shù)化數(shù)據(jù),
最后用cmd命令/Jenkins調(diào)度執(zhí)行自動化測試腳本,
如果你是做app自動化,
APP的自動化采用了下面的框架:
appium(音:捱撇姆)移動端的開源測試庫
用unittest做自動化測試框架,
配合htmlreport輸出測試報告,
用xrld模塊讀寫Excel數(shù)據(jù),
用nose模塊參數(shù)化數(shù)據(jù),
最后用cmd命令/Jenkins調(diào)度執(zhí)行自動化測試腳本。
如果你什么都做
利用unittest + htlmreport +nose 等自己搭建了一個通用的框架,
web測試采用selenium開源測試庫 ,
接口測試采用requests開源測試庫,
APP測試采用appium移動端的開源測試庫。
場景:
界面的自動化測試(web/app),一般是在項目有時間的時候編寫腳本,挑選一些測試用例中比較重要的用例轉(zhuǎn)換自動測試腳本,每次回歸測試的時候調(diào)用執(zhí)行
接口的自動化: 接口的測試腳本可以在接口功能開發(fā)完成以后就去執(zhí)行;
在回歸的時候也可以執(zhí)行接口自動化測試腳本。
2. python有哪些數(shù)據(jù)類型?(考試)
六大標(biāo)準(zhǔn)類型
Number(數(shù)字) : int、float(音:浮漏特)、bool
String(字符串)音:絲俊
List(列表)
Tuple(元組)音:踏博
Set(集合)
Dictionary(字典)音:嘚遲呢威
不可變數(shù)據(jù)(3 個):Number(數(shù)字)、String(字符串)、Tuple(元組);
可變數(shù)據(jù)(3 個): List(列表)、Dictionary(字典)、Set(集合)。
3. python不/可變數(shù)據(jù)類型有哪些? 列表和元組有什么區(qū)別 (考試)
不可變數(shù)據(jù)(3 個):Number(數(shù)字)、String(字符串)、Tuple(元組);
可變數(shù)據(jù)(3 個): List(列表)、Dictionary(字典)、Set(集合)。
列表是可變數(shù)據(jù)類型,元組不可數(shù)據(jù)類型,列表以[ ]包裹 元組以()包裹
4. 列表/元組/字典怎么取值? 怎么循環(huán)遍歷
通過索引(列表/元組)或者鍵(字典)取值
元素遍歷 for a in list:
索引遍歷 for i in range(list):
5. 自動化定位元素的方法:
selenium有8種方法定位元素:比如 id name classname tag_name linktext xpath css選擇器
我主要習(xí)慣用xpath或者css定位
xpath定位:
xpath xml文檔的標(biāo)簽路徑定位方法;分為相對路徑和絕對路徑定位;
/表示根目錄 //所有目錄下尋找 *表示所有;用方括號包裹屬性,,多個屬性可以用多個方括號,在屬性之前加@
//*[@id="kw"][@name="wd"]
//span[@class='bg s_iptwr']/input
css定位:
css選擇器(選擇標(biāo)簽)定位的一種方法
所有的屬性用方括號包裹,多個屬性可以用多個方括號包裹 input[id='kw'][name='wd'][class='s_ipt'] (xpath表示屬性用@,css用鍵值對表示)
特殊的屬性 id class ;其中 .表示類 用#表示id : input.s_ipt input#kw
css中表示標(biāo)簽之間關(guān)系:
祖孫關(guān)系 form input ;
父子關(guān)系 span>input
兄弟關(guān)系 span ~ input
毗鄰關(guān)系 span + a
定位的時候可以 關(guān)系加屬性表示標(biāo)簽 form#form input@kw
如何選擇按下標(biāo)選擇標(biāo)簽: a:nth-child(1) ,第一個a標(biāo)簽
6. 自動測試適用的場景,
功能成熟(需求變動較小),
產(chǎn)品更新維護周期長,
項目進度不太大,
比較頻繁的回歸測試,
軟件開發(fā)比較規(guī)范,具有可測試性。
接口測試:
1. OSI模型的層次和代表性的協(xié)議,
Open System Interconnect 網(wǎng)絡(luò)互連模型,
OSI:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層 ,
物理層的協(xié)議: HTTP(80) HTTPS(443) 取的是Apache的端口;tomcat 8080 8443 ; mysql 3306 oracle 1521
FTP 20/21, SSH 22, telnet(遠程登陸協(xié)議)23, SMTP(郵件協(xié)議)。
傳輸層: TCP 和 UDP 協(xié)議
2. TCP和UDP協(xié)議的區(qū)別。
共同點: 都是傳輸層的協(xié)議
不同點:
1. 定義
TCP Transmission Control Protocol 傳輸控制協(xié)議,
UDP User Datagram Protocol 用戶數(shù)據(jù)報協(xié)議,
2. TCP建立連接3次握手 釋放連接4次揮手 ;UDP直接建立連接 ,
示例:客戶端和服務(wù)器建立連接三次過程,
客戶端發(fā)送一個請求給服務(wù)端,SYN=1;
服務(wù)端收到響應(yīng)后給客戶端響應(yīng),SYN=1 ,ACK確認包
客戶端再次發(fā)送一個ACK的確認包給服務(wù)端
3. 特點:
TCP : 面向連接的,可靠的,數(shù)據(jù)量小。
UDP : 無連接的 ,不可靠,數(shù)據(jù)量大。
4. 應(yīng)用場景
UDP: QQ/微信視頻 TCP :http協(xié)議,
3. HTTP協(xié)議的內(nèi)容。
1. 定義 :HyperText Transfer Protocol 超文本傳輸協(xié)議 ,傳輸?shù)牟粌H僅是文本,包括視頻 圖片 音頻 ;
從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議。
2. 組成,
請求報文,
請求head,
請求行 : 請求方法GET,URI(URL是URI的一個形式) 協(xié)議版本
請求方法: GET, POST ,DELETE,......
URL的組成: 協(xié)議://主機:端口號(80端口默認,可以不寫)/絕對路徑,
協(xié)議:http,https ,
區(qū)別:https是在http的基礎(chǔ)上結(jié)合ssl協(xié)議(加密的管道),https更安全,
共同點:都屬于傳輸層,使用TCP協(xié)議進行傳輸,
請求body,
響應(yīng)報文,
響應(yīng)的head,
響應(yīng)狀態(tài)行 : 協(xié)議的版本 狀態(tài)碼 狀態(tài)描述,
4. GET和POST的區(qū)別,
1. 功能的區(qū)別 ,
get重點在從服務(wù)器上獲取資源,post重點在向服務(wù)器發(fā)送數(shù)據(jù)。
2. 請求參數(shù),
POST請求參數(shù)放在body,get的請求參數(shù)放在URL中。
3. 長度 get放在url所以有長度限制, post放在body所以沒有長度限制
4. post要比get安全 。
5. http響應(yīng)狀態(tài)碼以及代表意思
2xx 成功--表示請求已被成功接收、理解、接受,
3xx 重定向--要完成請求必須進行更進一步的操作,
4xx 客戶端錯誤--請求有語法錯誤或請求無法實現(xiàn),
5xx 服務(wù)器端錯誤--服務(wù)器未能實現(xiàn)合法的請求,
200 OK 客戶端請求成功,
401 Unauthorized 請求未經(jīng)授權(quán),
403 Forbidden 服務(wù)器收到請求,但是拒絕提供服務(wù),
404 Not Found 請求資源不存在,
500 Internal Server Error 服務(wù)器發(fā)生不可預(yù)期的錯誤,
503 Server Unavailable 服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常。
6. 項目中哪些地方會調(diào)用接口,接口名稱是什么?
一般接口: 系統(tǒng)內(nèi)部的接口(接口的詳細測試), 系統(tǒng)外部的接口(重在聯(lián)調(diào))。
接口名稱: 登錄 注冊 忘記密碼 收藏 購物車 取消購物車 刪除商品 商品詳情.... + 接口
一般有優(yōu)先級,測試重點接口
接口測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
7. fiddler,postman 抓包的原理:
讓fiddler 和 postman 成為代理服務(wù)器, 將網(wǎng)絡(luò)設(shè)置執(zhí)行代理 -- 中介服務(wù)。
8. 接口測試流程:如何做接口測試 ,
需求評審(測試對象的分析) --測試需求(測試點,測試設(shè)計) -- postman的工具將測試用例轉(zhuǎn)換成測試腳本 --- postman執(zhí)行測試 --- 缺陷處理 ---- 回歸。
測試對象: 接口文檔(接口文檔的內(nèi)容),(一定要接口文檔?接口文檔不規(guī)范)查找app前端或者后臺的日志,把接口的請求參數(shù)打印出來;然后寫好測試用例,找開發(fā)和架構(gòu)師進行評審和確定。
測試點:接口測試點設(shè)計原則(重點),
1. 業(yè)務(wù)邏輯,
2. 參數(shù)名稱的檢查,
3. 參數(shù)值的檢查,
4. 接口返回碼的覆蓋,
5. 異常處理。
9.接口(API)文檔的內(nèi)容:
接口名稱 ,
接口請求地址,
請求參數(shù)的名字, 是否必填, 數(shù)據(jù)類型, 數(shù)據(jù)值以及數(shù)據(jù)值的意義或者范圍 --- 上報數(shù)據(jù)。
返回參數(shù)的數(shù)據(jù)格式(json xml)返回參數(shù)的名字, 數(shù)據(jù)類型, 數(shù)據(jù)值,
接口返回的狀態(tài)碼(接口返回的狀態(tài)碼是開發(fā)自定義的狀態(tài)碼如:1代表成功,-1代表失敗等),
接口請求的方法(get, post,delete),
10. 接口測試的原理:
1. 通過測試程序(工具 fiddler ,postman, jmeter, loadrunner, python代碼)模擬客戶端向服務(wù)器發(fā)送請求報文,
2. 服務(wù)器接受請求處理后把應(yīng)答報文發(fā)送給客戶端,
3. 客戶端接收應(yīng)答報文并解析 (響應(yīng)response(音:威絲棒次)解析過程,postman可以實現(xiàn)),
4. 程序判斷是否符合預(yù)期結(jié)果的過程(斷言),
5. 即request音:瑞快絲特(請求)→response音:威絲棒次(響應(yīng))過程,
工具模擬發(fā)送http請求,然后驗證服務(wù)器返回結(jié)果是否正確符合業(yè)務(wù)邏輯...
11. 接口測試的場景:
1. 接口開發(fā)完成以后就可以進行接口測試;,
2. 回歸測試的時候可以用自動化腳本運行接口測試腳本。
12.性能測試:,
1. 性能測試指標(biāo)值: ,
軟件指標(biāo):,
事務(wù) transaction音:團咋可省:衡量性能測試的對象,
并發(fā)用戶數(shù)/并發(fā)線程數(shù):跟服務(wù)器有交互的用戶數(shù),
注冊用戶數(shù) , 活躍用戶數(shù)/僵尸用戶 ,在線用戶數(shù) ,并發(fā)用戶數(shù),
響應(yīng)時間:Response(音:威絲棒次) Time (音:太嗯),發(fā)出請求到接受到請求的總時間,根據(jù)測試對象去分(呈現(xiàn)時間 + 接口的時間(發(fā)送到應(yīng)用服務(wù)器時間+數(shù)據(jù)庫時間))。
用戶體驗的角度:2/5/8原則,
吞吐量/事務(wù)總數(shù) : 一定時間之內(nèi)事務(wù)的處理總量,
TPS :transaction per second 每秒處理的事務(wù)數(shù) 事務(wù)總量/事務(wù)總的完成時間,
點擊率 Hit Rate : 一次點擊所發(fā)出的請求數(shù)/時間,
物理指標(biāo):,
cpu占用 內(nèi)存占用 磁盤讀寫I/O比例 網(wǎng)絡(luò)帶寬大小。
2. 性能測試的目的 。
評估(滿足性能測試需求,沒有一個明確的性能需求文檔;一般是在需求文檔的性能需求) ,
調(diào)優(yōu) 解決性能測試中發(fā)現(xiàn)的瓶頸和問題,
穩(wěn)定 驗證系統(tǒng)是否穩(wěn)定運行。
總結(jié)
以上是生活随笔為你收集整理的移动app测试的多样性_app移动端接口性能测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: canal 监听不到数据变化_数据的异构
- 下一篇: 使用qtcreator中的git_Git