功能測試與數(shù)據(jù)庫、Fiddler
1卿操、功能測試與數(shù)據(jù)庫
1.1 項目與數(shù)據(jù)庫的關(guān)系
項目中的數(shù)據(jù)是存儲在數(shù)據(jù)庫中的
對數(shù)據(jù)庫修改(增刪改查)會影響項目頁面顯示
實操練習(xí):
修改數(shù)據(jù)庫中“小米手機5,十余項黑科技警检,很輕狠快”的商品名稱,在前臺頁面看到變化
1害淤、數(shù)據(jù)表 tp_goods
2扇雕、字段 goods_name
3、操作語句 update 表名 set 字段名 = 字段值 where 條件
修改前:
select * from tp_goods where goods_name = '小米手機5,十余項黑科技窥摄,很輕狠快' -- 精確查詢
select * from tp_goods where goods_name like '小米手機5%' -- 模糊查詢
修改:
update tp_goods set goods_name = '小米手機55' where goods_name = '小米手機5,十余項黑科技洼裤,很輕狠快'
修改后:
select * from tp_goods where goods_name = '小米手機5,十余項黑科技,很輕狠快' -- 精確查詢
select * from tp_goods where goods_name like '小米手機5%'
1.2 數(shù)據(jù)庫典型應(yīng)用場景(重點)
驗證數(shù)據(jù)的準(zhǔn)確性與完整性
借助數(shù)據(jù)庫進行缺陷定位
借助數(shù)據(jù)庫構(gòu)造測試場景(需要特定的測試數(shù)據(jù))
借助數(shù)據(jù)庫數(shù)據(jù)備份更新
1.2.1 驗證數(shù)據(jù)的準(zhǔn)確性與完整性
執(zhí)行用例過程中溪王,有時需要到數(shù)據(jù)庫驗證數(shù)據(jù)的準(zhǔn)確性與完整性
1.2.2 借助數(shù)據(jù)庫進行缺陷定位
進行BUG定位時腮鞍,有時需要到數(shù)據(jù)庫查看數(shù)據(jù)的詳細信息
BUG定位----前臺后性別不一致(保密和女)
SELECT sex from tp_users where mobile = 13488888888;
頁面設(shè)置為保密,點擊保存顯示為【男】莹菱。
(1)數(shù)據(jù)庫查詢結(jié)果是【0】移国,前端bug
(2)數(shù)據(jù)庫查詢結(jié)果是【1】,后端bug
1.2.3 借助數(shù)據(jù)庫構(gòu)造測試場景(需要特定的測試數(shù)據(jù))
構(gòu)造某種測試場景時道伟,可以在數(shù)據(jù)庫里直接修改數(shù)據(jù)迹缀,要比使用界面更有效率
select goods_num from tp_cart
update tp_cart set goods_num = 99999
1.2.4 借助數(shù)據(jù)庫數(shù)據(jù)備份更新
軟件升級過程中使碾,有時會涉及到歷史數(shù)據(jù)的處理,這種情況需要執(zhí)行升級SQL祝懂,并驗證結(jié)果
2票摇、功能測試與抓包工具
抓包:(package capture)就是將網(wǎng)絡(luò)傳輸發(fā)送與接收的數(shù)據(jù)包進行截獲、重發(fā)砚蓬、編輯矢门、轉(zhuǎn)存等操作,也用來檢查網(wǎng)絡(luò)安全灰蛙。抓包經(jīng)常被用來進行數(shù)據(jù)截取等祟剔。
功能測試用到抓包工具的場景:
通過抓包工具截取觀察網(wǎng)站的請求信息,幫助我們更深入的了解網(wǎng)站
通過抓包工具截取摩梧、觀察網(wǎng)站的請求與返回信息物延,幫助測試進行BUG定位與描述
通過抓包工具攔截修改請求信息,繞過界面的限制仅父,測試服務(wù)端的功能
常用的抓包工具:Fiddler叛薯、Charles、F12開發(fā)人員工具等
2.1 HTML與HTTP協(xié)議
URL:統(tǒng)一資源定位符
HTML:超文本標(biāo)記語言
HTTP:超文本傳輸協(xié)議
2.1.1 URL
示例: http://localhost/index.php?m=Home&c=Goods&a=goodsInfo&id=46
格式:
協(xié)議:客戶端和服務(wù)器通訊的標(biāo)準(zhǔn)笙纤,http耗溜、https、ssh等
ip或域名
端口號:協(xié)議默認(rèn)的端口號是可以省略的
http:默認(rèn)端口80
https:默認(rèn)端口443
ssh:默認(rèn)端口22
......
資源路徑:資源存放的位置粪糙,資源可以是各種超文本信息强霎,如音頻忿项、視頻等
參數(shù)(如 ?m=Home&c=Goods&a=goodsInfo&id=46 )
格式:
用?與URL的主體部分分開
參數(shù)的格式 參數(shù)名=參數(shù)值 蓉冈,有多個參數(shù)時用&拼接即可
2.1.2 HTML
HTML:HyperText Markup Language ,超文本標(biāo)記語言
超文本:聲音轩触、視頻寞酿、圖片、超鏈接等
標(biāo)記:就是通過【<標(biāo)記符>內(nèi)容</標(biāo)記符>】的格式讓內(nèi)容具有不同的表現(xiàn)形式脱柱,從而達到超文本的目的
如: <title>百度一下伐弹,你就知道</title>
互聯(lián)網(wǎng)上瀏覽的網(wǎng)頁,本質(zhì)上就是超文本標(biāo)記語言榨为。
2.1.3 HTTP
HTTP: HyperText Transfer Protocol 惨好,超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上最常用的協(xié)議之一随闺。
2.2 HTTP請求與響應(yīng)
2.2.1 基本概念
客戶端:用于發(fā)送請求日川,如瀏覽器、APP等
服務(wù)器:處理客戶端請求并返回數(shù)據(jù)矩乐,如apache龄句、nginx等
請求:客戶端向服務(wù)器索要數(shù)據(jù)
響應(yīng):服務(wù)里處理完成后回论,返回給客戶端的數(shù)據(jù)與信息
2.2.2 HTTP請求
請求內(nèi)容
請求行:
位置是在第一行
請求方式、請求地址分歇、協(xié)議及版本
請求頭:
位置是在第一行之后傀蓉,到空行之前
用來描述客戶端信息的相關(guān)參數(shù),一般以鍵值對的形式存在职抡,如描述瀏覽器類型等
請求體:
位置是在空行之后
請求方式(GET 和 POST)
get:用于查詢葬燎,如搜索商品
post:用于提交數(shù)據(jù),相對比較安全繁调,如登錄萨蚕、注冊等
2.2.3 HTTP響應(yīng)
響應(yīng)內(nèi)容
響應(yīng)行:位置是在第一行,包含協(xié)議及版本蹄胰、響應(yīng)狀態(tài)碼岳遥、狀態(tài)消息
響應(yīng)頭:位置是在第一行之后,到空行之前裕寨,告訴客戶端服務(wù)器相關(guān)信息浩蓉,如web服務(wù)器類型
等
響應(yīng)體:位置是在空行之后,如登錄成功
響應(yīng)狀態(tài)碼:由3位數(shù)字組成宾袜,第一位數(shù)字代表響應(yīng)消息的級別
2XX:成功捻艳,如200
3XX:重定向,如3014XX:客戶端存在問題庆猫,如404
5XX:服務(wù)器端存在問題认轨,如501
2.3 抓包工具
功能測試與Fiddler
通過抓包工具截取觀察網(wǎng)站的請求信息,幫助我們更深入的了解網(wǎng)站
通過抓包工具截取月培、觀察網(wǎng)站的請求與返回信息嘁字,幫助測試進行BUG定位與描述
通過抓包工具攔截修改請求信息,繞過界面的限制杉畜,測試服務(wù)端的功能
2.3.1 Fiddler原理
原理:
請求先發(fā)送給Fiddler纪蜒,F(xiàn)iddler接收請求后轉(zhuǎn)發(fā)給服務(wù)器
服務(wù)器處理請求后將響應(yīng)數(shù)據(jù)返回給Fiddler,F(xiàn)iddler在轉(zhuǎn)發(fā)給客戶端(瀏覽器)
2.3.2 Fiddler安裝
安裝依賴?
Miscrosoft .Net Framework?
安裝步驟
?1. 點擊【I Agree】?
2. 選擇安裝目錄此叠,默認(rèn)即可纯续,點擊【Install】
3. 等待安裝完成,點擊【Close】?
啟動Fiddler:以Windows10系統(tǒng)為例說明?
Windows ==》Fiddler ==》右鍵【更多】==》打開文件所在位置 ==》找到Fiddler圖標(biāo) ==》右鍵【發(fā)送到桌面快捷方式】
2.3.3 Fiddler使用
2.3.3.1 抓包(Inspectors)
2.3.3.2 刪除請求
菜單刪除:
命令行刪除:cls灭袁、clear
鍵盤delete
快捷鍵:Ctrl + X
2.3.3.3 設(shè)置過濾
1. 點擊Filters頁簽猬错,勾選“Use Filters”
?2. Hosts下方的第二個下拉框,選擇“Show Only the following Hosts”
?3. 在下方輸入框中輸入要抓包的主機地址(多個地址用英文分號隔開茸歧,如:localhost;127.0.0.1)?
4. 點擊右上角的“Actions”,選擇“Run Filterset Now”
?5. 如果取消過濾倦炒,去掉“Use Filters”的勾選
2.3.3.4 設(shè)置斷點
修改請求
1. 進入添加會員的頁面,填寫正確的手機號碼和其他信息
2. 打開fiddler攔截開關(guān):Rules ==》 Automatic Breakpoints ==》 Before Requests
3. 回到添加會員界面举娩,點擊提交按鈕
4. 回到Fiddler析校,修改【請求體】构罗,如修改手機號碼內(nèi)容
5. 點擊Fiddler中請求下方的綠色按鈕“Run to Completion”
6. 關(guān)閉Fiddler攔截開關(guān):Rules ==》 Automatic Breakpoints ==》 Disabled
修改響應(yīng)(擴展)
1. 進入添加會員的頁面,填寫正確的手機號碼和其他信息
2. 打開fiddler攔截開關(guān):Rules ==》 Automatic Breakpoints ==》 After Responses
3. 回到添加會員界面智玻,點擊提交按鈕
4. 回到Fiddler遂唧,修改【響應(yīng)體】,如修改【操作提示】的內(nèi)容
5. 點擊Fiddler中請求下方的綠色按鈕“Run to Completion”
6. 關(guān)閉Fiddler攔截開關(guān):Rules ==》 Automatic Breakpoints ==》 Disabled
2.3.3.5 AutoResponder(擴展)
自動響應(yīng)
1.進入AutoResponder
2.選擇列表左側(cè)請求吊奢,點擊【Add Rule】添加mock請求(或點擊【Add Rule】手動填寫請求地
址)
3.選擇響應(yīng)結(jié)果盖彭,模擬測試場景(此處支持打開本地文件,根據(jù)文件內(nèi)響應(yīng)數(shù)據(jù)(例如json文件)
進行mock)
4.點擊右下角【save】页滚,保存響應(yīng)設(shè)置
5.勾選上方選項:
(1)Enable rules:開啟或禁用自動重定向功能召边,勾選上時,激活規(guī)則
(2)Unmatched requests passthrough:未匹配的請求穿透裹驰,即勾選上時隧熙,不影響那些沒滿足我們處理條件的請求
(3)勾選了這個選項,在規(guī)則里面就可以設(shè)置是立即返回響應(yīng),還是隔多少毫秒返回響應(yīng)
2.3.3.6 Composer(擴展)
2.3.3.7 弱網(wǎng)測試(擴展)
概念:在當(dāng)今移動互聯(lián)網(wǎng)盛行的時代,網(wǎng)絡(luò)的形態(tài)除了有線連接幻林,還有2G/3G/Edge/4G/Wifi等多種手機網(wǎng)絡(luò)連接方式贞盯。不同的協(xié)議、不同的制式沪饺、不同的速率躏敢,使移動應(yīng)用運行的場景更加豐富。
從測試角度來說整葡,需要額外關(guān)注的場景就遠不止斷網(wǎng)件余、網(wǎng)絡(luò)故障等情況了。對于弱網(wǎng)的數(shù)據(jù)定義遭居,不同的應(yīng)用所界定的含義是不一樣且不清晰的啼器,不僅要考慮各類型網(wǎng)絡(luò)最低速率搏明,還要結(jié)合業(yè)務(wù)場景和應(yīng)用類型去劃分。按照移動的特性來說蒋伦,一般應(yīng)用低于2G速率的都屬于弱網(wǎng)旺坠,也可以將3G劃分為弱網(wǎng)。除此之外蝙昙,弱信號的Wifi通常也會被納入到弱網(wǎng)測試場景中。
為何要進行弱網(wǎng)測試?
例如:進地鐵腥寇、上公交、進電梯等觅捆,如果app沒有對各種網(wǎng)絡(luò)異常進行兼容處理赦役,那么用戶可能在日常生活中遇到APP閃退、ANR栅炒、數(shù)據(jù)丟失等問題掂摔。因此术羔,app網(wǎng)絡(luò)測試,特別是弱網(wǎng)測試顯得尤為重要乙漓。
我當(dāng)前所在項目的產(chǎn)品是一款適配于低資源環(huán)境的醫(yī)療IT系統(tǒng)级历,目前主要是在坦桑尼亞地區(qū)使用。
根據(jù)資料顯示叭披,在坦桑尼亞等東非國家寥殖,普遍使用的都是2G網(wǎng)絡(luò),覆蓋率達到40%以上涩蜘,3G網(wǎng)絡(luò)的覆蓋都非常少嚼贡,并且穩(wěn)定性較差。由此同诫,對于當(dāng)前的App應(yīng)用交付要求即至少在弱網(wǎng)以及無網(wǎng)狀態(tài)下能正常運行粤策。
步驟:
打開Fiddler,設(shè)置代理误窖,并允許遠程連接
手機連接電腦的熱點網(wǎng)絡(luò)掐场,或者同在一個局域網(wǎng)內(nèi)
手機網(wǎng)絡(luò)連接中,設(shè)置網(wǎng)絡(luò)代理贩猎,IP是電腦的同網(wǎng)段IP地址熊户,端口是8888
打開網(wǎng)速模擬模式開關(guān)(Rules → Performances → Simulate Modem Speeds )
手機訪問APP,或者用手機瀏覽器訪問網(wǎng)絡(luò)吭服,觀察功能響應(yīng)或者頁面刷新速度
如果需要自定義網(wǎng)絡(luò)的速度嚷堡,需要到自定義規(guī)則中配置(Rules → Customize Rules)
網(wǎng)絡(luò)環(huán)境測試機帶寬參考測試數(shù)據(jù):
2.3.3.8 HTTPS請求(擴展)
點擊【OK】,重啟Fiddler艇棕。