web測試原理與實(shí)踐分為四部分:
一梗脾、軟件測試階段
二、web測試基礎(chǔ)
三盹靴、web測試實(shí)踐
四炸茧、然之登錄測試點(diǎn)分析
以下是對這四部分內(nèi)容的細(xì)化:
一、軟件測試階段:
1.單元測試
2.集成測試----接口測試稿静,所用工具:fiddler宇立、jmeter、postman
3.系統(tǒng)測試----web測試自赔、客戶端測試、app測試
這三種測試(web柳琢、客戶端绍妨、app)分別都含有三種測試:
3.1 功能測試 ? ?3.2 安全測試 ? ?3.3 性能測試
3.1 功能測試:
1)手工測試功能(測試流程)
2)自動化測試功能(GUI自動測試)工具:
selenium、IBM rational柬脸、QTP他去、silktest、Appium(對app測試而言)
3.2 安全測試 ?工具:fiddler工具(抓包倒堕,查看用戶密碼是否有加密灾测、服務(wù)器端對輸入數(shù)據(jù)是否有設(shè)置了斷點(diǎn)進(jìn)行二次校驗(yàn))
3.3 性能測試 ?工具:jmeter(多線程數(shù)服務(wù)器響應(yīng)時間)、loadrunner
二垦巴、web測試基礎(chǔ):
1.網(wǎng)絡(luò)基礎(chǔ)知識 ? ?2.web系統(tǒng)基礎(chǔ) ? ?3.web工作原理 ? ?4.深入web核心技術(shù) ? ?5.web環(huán)境分類
1.網(wǎng)絡(luò)基礎(chǔ)知識
1.1 internet----互聯(lián)網(wǎng)(外網(wǎng))媳搪,連接不同網(wǎng)絡(luò)(根據(jù)不同的TCP/IP或OSI協(xié)議)
1.2 intranet----內(nèi)部網(wǎng)(內(nèi)網(wǎng))铭段,企業(yè)內(nèi)部防火墻以內(nèi)的互聯(lián)網(wǎng)
2.web系統(tǒng)基礎(chǔ)
2.1 B/S 瀏覽器/服務(wù)器:屬于特殊的C/S,必須用http協(xié)議,是一個通用的客戶端
擴(kuò)展:ActiveX(安全控件)秦爆、Ajax(輸入框下面的提示語)序愚、RIA(富互聯(lián)網(wǎng)應(yīng)用)
2.2 C/S 客戶端/服務(wù)器:可以使用任何通信協(xié)議
3.web工作原理(3.1 www、3.2 URL 等限、3.3 http協(xié)議爸吮、3.4工具)
3.1 www
3.2 URL:
1)協(xié)議類型(http/https)
2)主機(jī)名(IP/域名)
3) 端口號(默認(rèn)端口:http--80/https--443)
4)頁面文件:路徑+文件名(顯示/省略默認(rèn)頁面)
5)參數(shù)
3.3 http協(xié)議:1)http協(xié)議組成 ? ?2)http協(xié)議的應(yīng)用、
1)http協(xié)議組成:請求+響應(yīng)
a.請求(請求行+請求頭+請求正文):
? 請求行(get獲取/post傳遞(請求方式)+url協(xié)議版本)
? 請求頭(cookie)
? 請求正文:post請求方式有請求正文/get的請求方式一定沒有請求正文
b.響應(yīng)(狀態(tài)行+響應(yīng)頭+響應(yīng)正文):
? 狀態(tài)行:協(xié)議版本+狀態(tài)碼
? ?狀態(tài)碼:
? 1xx 指示消息望门,請求繼續(xù)處理
? 2xx 請求被成功接受
? 3xx 重定向形娇,要完成請求必須進(jìn)行下一步操作(跳轉(zhuǎn)頁面)
? 4xx 客戶端錯誤(語法錯誤或請求無法實(shí)現(xiàn)):401 unauthorized ?/ ?404 not found
? 5xx 服務(wù)器錯誤,無法實(shí)現(xiàn)合法的請求
? 狀態(tài)消息:1xx,2xx,3xx,4xx,5xx
? 響應(yīng)頭(session)
? 響應(yīng)正文
2)http協(xié)議的應(yīng)用:web安全筹误、接口桐早、web性能測試
web安全:.
? webform--查看密碼是否加密
? 設(shè)置斷點(diǎn)--修改webform里的數(shù)據(jù),檢測服務(wù)器端代碼有沒有做2次校驗(yàn)
3.4 工具:然之網(wǎng)頁+fiddler
fiddler:設(shè)置過濾(勾選use Filter)
? 輸入框輸入網(wǎng)址
? 查看包(選擇其中一條記錄纫事,雙擊勘畔,選擇inspectors--raw...)
4.深入web核心技術(shù)::4.1 網(wǎng)頁分類 ? ?4.2 網(wǎng)站技術(shù)
4.1 網(wǎng)頁分類:1)靜態(tài)網(wǎng)頁 ? ?2)動態(tài)網(wǎng)頁
1)靜態(tài)網(wǎng)頁:用html語言編寫,內(nèi)容固定丽惶,上傳到web服務(wù)器炫七,在瀏覽器前臺顯示。
2)動態(tài)網(wǎng)頁:
a.在瀏覽器前臺顯示钾唬,后臺管理(增-insert into万哪、刪-delete、查-select抡秆、改-update)
b.關(guān)鍵內(nèi)容在服務(wù)器端生成奕巍,能夠訪問服務(wù)器端的數(shù)據(jù)庫,具有交互性儒士,不利于搜索引擎信息收集
c.腳本引擎:php的止、jsp、aspx
ps:腳本引擎是計(jì)算機(jī)編程語言的解釋器着撩,是腳本運(yùn)行所需的框架诅福,提供可供腳本調(diào)用的二進(jìn)制代碼,解釋執(zhí)行用戶的程序文本拖叙。
d.網(wǎng)站技術(shù):服務(wù)器端氓润、客戶端
? 服務(wù)器端:web服務(wù)器、應(yīng)用服務(wù)器薯鳍、DB服務(wù)器
? web服務(wù)器--接收http請求咖气,處理http請求,發(fā)送http響應(yīng)給瀏覽器(可以直接發(fā)送html頁面)
應(yīng)用服務(wù)器--處理代碼和建立數(shù)據(jù)庫鏈接:
腳本引擎(php、jsp崩溪、aspx)
-- php(php語言--apache浅役、php應(yīng)用服務(wù)器環(huán)境)
-- jsp(java語言--tomcat)
--aspx(c#語言--IIS網(wǎng)頁服務(wù)組件,服務(wù)于網(wǎng)絡(luò)發(fā)布信息)
DB服務(wù)器:執(zhí)行SQL語句悯舟,存儲數(shù)據(jù)
PS:測試環(huán)境常見架構(gòu):
-- PHP開發(fā)語言--apache--mysql--linux
--java開發(fā)語言--tomcat:oracle-linux+mysql
--C#(C sharp,類似java)開發(fā)語言--IIS--sqlserver--windows server ? ? ? ? ??
? 客戶端:
瀏覽器---發(fā)送http請求并接收服務(wù)器發(fā)來的http響應(yīng)
瀏覽器渲染過程(使用fiddler抓包查看):自動發(fā)起網(wǎng)頁包含鏈接的請求担租、自動緩存靜態(tài)資源(清除瀏覽器)
靜態(tài)資源:HTML、CSS抵怎、JS(JavaScript-直譯式腳本語言奋救,其解釋器為javascript引擎)、圖片反惕、文檔尝艘、音頻、視頻姿染、文檔
5. web環(huán)境分類:5.1 開發(fā)環(huán)境 ? ?5.2 測試環(huán)境 ? ?5.3生產(chǎn)環(huán)境
5.1 開發(fā)環(huán)境:開發(fā)人員用背亥,客戶端和服務(wù)器是同一臺機(jī)器。
客戶端:操作系統(tǒng)(winxp/win7/8/10悬赏,蘋果操作系統(tǒng))狡汉、瀏覽器(IE、火狐闽颇、谷歌盾戴、蘋果)
服務(wù)器:操作系統(tǒng)(winxp/win7/8/10,蘋果操作系統(tǒng)) 兵多、自己電腦
5.2 測試環(huán)境:測試人員用尖啡,客戶端和服務(wù)器不是同一臺電腦,客戶端多臺
客戶端:操作系統(tǒng)(winxp/win7/8/10剩膘,蘋果操作系統(tǒng))衅斩、瀏覽器(IE、火狐怠褐、谷歌畏梆、蘋果)
服務(wù)器:操作系統(tǒng)(linux、windows server)
安裝網(wǎng)頁工具:web服務(wù)器奈懒、應(yīng)用服務(wù)器具温、DB服務(wù)器
發(fā)布網(wǎng)頁(對內(nèi)):
? 把網(wǎng)頁放到指定文件夾--從代碼庫取代碼到本機(jī)
? 把代碼通過xftp工具上傳到服務(wù)器上/tmp
? 修改權(quán)限,解壓縮
? 復(fù)制解壓后的文件夾到發(fā)布網(wǎng)頁指定的文件夾
? 啟動web服務(wù)器筐赔、DB服務(wù)器
? 打開網(wǎng)址、安裝網(wǎng)頁
5.3 生產(chǎn)環(huán)境:指正式提供對外服務(wù)的線上環(huán)境
客戶端:廣大的用戶
服務(wù)器:操作系統(tǒng)(Linux揖铜、Windows server)
安裝網(wǎng)頁工具(web服務(wù)器茴丰、應(yīng)用服務(wù)器、DB服務(wù)器)
發(fā)布網(wǎng)頁(對外)-把網(wǎng)頁放到指定文件夾
?服務(wù)器有多臺,集群環(huán)境(負(fù)載均衡贿肩、故障轉(zhuǎn)移)
三峦椰、web測試實(shí)踐
1.web測試的要求 ? ?2.web測試的對象(測試點(diǎn))
1.web測試的要求:1.1 需求 ? ?1.2 用戶
1.1需求:
1)功能:功能測試、易用性測試汰规、兼容性測試
2)安全
3)性能
?2.web測試的對象(測試點(diǎn))
系統(tǒng)測試階段:2.1 功能 ? 2.2 性能 ? ?2.3安全
2.1功能:1)功能測試 ? ?2)易用性測試 ? ?3)兼容性測試
1)功能測試
?web的業(yè)務(wù)邏輯:OA系統(tǒng)汤功、理財(cái)系統(tǒng)、財(cái)務(wù)系統(tǒng)溜哮、電子商務(wù)系統(tǒng)滔金、銀行系統(tǒng)
?web的數(shù)據(jù)行為:增加(數(shù)據(jù)流的順序--不同模塊/不同賬戶)、刪除茂嗓、查找餐茵、修改
?web的頁面元素(控件):
--頁面部分/UI測試:清單;不同的分辨率和不同的瀏覽器版本是否顯示述吸;不同大小的窗口顯示是否正確忿族、美觀;特殊效果是否顯示-如特殊字體效果蝌矛、動畫效果凶异;頁面都有相應(yīng)的title
--頁面元素部分(通用測試點(diǎn)):
----鏈接
----表單(如圖):
----列表:排序臂港、分頁、搜索
----日歷控件(如圖):
----特殊字符
----轉(zhuǎn)義字符
----刷新
----瀏覽器前進(jìn)后退
----上傳下載(如圖):
----導(dǎo)入導(dǎo)出(如圖):
----快捷鍵:Tab、enter
----js錯誤
?測試點(diǎn)的拆分:
2)易用性測試
3)兼容測試(如圖):
2.2 性能:1)原理 ? ?2)工具
1)原理:http協(xié)議
2)工具:
?badboy(如圖):
?jmeter(如圖):
2.3 安全:1)原理 ? ?2)工具 ? ?3)策略
1)原理:
?http協(xié)議
?cookie和session:作用域糊肤、有效期
2)工具:fiddler
3)策略:
?認(rèn)證:目的是為了認(rèn)出用戶是誰(如圖)
?授權(quán)/權(quán)限(如圖):
?文件上傳(如圖):
?二次校驗(yàn)(如圖):
四、然之登錄測試點(diǎn)分析:
1.功能 ? ?2.安全測試 ? ?3.性能測試
1.功能:1.1 功能測試 ? ?1.2 可用性測試 ? ?1.3 兼容測試
1.1 功能測試:1)登錄功能核芽、2)頁面其他元素
1)登錄功能:
? 用戶名:
有效--用戶名正確/前空格+正確用戶名/正確用戶+后空格
無效--為空/不存在的用戶名/大小寫區(qū)分用戶名/正確用戶名榨婆,中間含空格/全角英文用戶名
邊界值--使用最長用戶名登錄/注冊模塊用最長的用戶名注冊成功
? 密碼:
有效--密碼正確
無效--為空/(前空格/后空格/中間空格)+正確密碼/密碼大小寫區(qū)分/密碼錯誤/全角正確密碼
邊界值--使用最長密碼登錄/注冊模塊用最長的密碼注冊成功
? 正交法:用戶名、密碼兩種取值的組合測試
? 單模塊場景法:單用戶登錄退出再登錄/多用戶連續(xù)登錄/多瀏覽器同時登錄
? 多模塊場景法:注冊用戶再登錄/禁用用戶再登錄/鎖定用戶再登錄/刪除用戶再登錄
2)頁面其他元素:
? 語言切換下拉框
? 登錄按鈕
? 保存登錄復(fù)選框
? 版本鏈接
1.2 可用性測試:
? 頁面元素風(fēng)格
? Tab鍵響應(yīng)
? Tab順序
? 回車鍵響應(yīng)
1.3 兼容測試:
? 操作系統(tǒng)兼容
? ?瀏覽器兼容
? 正交法組合:windows:ie/firefox/chrome/safari氮唯;蘋果操作系統(tǒng):safari/ie/firefox/chrome鉴吹;andriod:瀏覽器; ios:瀏覽器惩琉。
2. 安全測試:2.1 認(rèn)證豆励、2.2 授權(quán)、2.3 腳本攻擊瞒渠、2.4 SQL注入
2.1 認(rèn)證:
1)密碼密文顯示
2)密碼文本框不支持復(fù)制
3)敏感信息加密傳輸
4)同一賬號多次登錄失敗良蒸,檢查賬號是否鎖定
5)錯誤登錄ip限制
6)同一賬號在同一類型設(shè)備上重復(fù)登錄
7)同一賬號在不同類型設(shè)備上重復(fù)登錄
8)session測試:
? 復(fù)制登錄后的頁面URL伍玖,在退出后直接打開
? 登錄成功后嫩痰,經(jīng)過一段時間,檢查是否需要重新登錄
? session的過期時間設(shè)置是否合理
9)cookie測試:
? 有效時間內(nèi)免登錄
? 無效時間內(nèi)需輸入用戶名窍箍、密碼登錄
? 用于保存一些關(guān)鍵數(shù)據(jù)的cookie是否被加密
? 登錄時應(yīng)該使用圖片驗(yàn)證碼(防止黑客破解密碼,是一種區(qū)分用戶是計(jì)算機(jī)和人的公共自動程序)
2.2 授權(quán):不同權(quán)限的用戶登錄是否只能訪問被授權(quán)的模塊和功能
2.3 腳本攻擊(如用戶甲在一些論壇或留言本發(fā)布含html或javascript的帖子纺棺,用戶乙在瀏覽該帖時茅撞,惡意腳本就會執(zhí)行罪郊,盜取取用戶乙的session信息)
2.4 SQL注入(輸入內(nèi)容靶累,有單引號‘ 致用戶名為空,可越過密碼登錄)
3. 性能測試 ? ? ? ? ? ? ? ? ??