想必大多數(shù)的軟件測試從業(yè)者游岳,在面試時都會遇到這個面試題問的測試點政敢。
no.1什么是web測試
? ? 如果要了解web測試,首先我們的清楚web項目是什么胚迫,一般指本b/s架構(gòu)項目也就是通過瀏覽器進行訪問的喷户,在日常生活工作中,基于web系統(tǒng)的應(yīng)用非常多访锻。
打開電腦褪尝,搶火車票我們會登陸12306網(wǎng)站,添置衣物我們會登陸淘寶期犬,購置電器我們會上京東... 對于這類項目的測試我們就說進行的web測試河哑。
no.2web測試的特點
? ? ? ?從系統(tǒng)架構(gòu)來看的話,一般都是b/s架構(gòu)龟虎,基于瀏覽器的項目璃谨,所以只要更新了服務(wù)器端,客戶端就會同步更新遣总。
? ? ? ? 基于這種架構(gòu)睬罗,web測試除了需要檢查和驗證功能、界面是否按照設(shè)計的要求之外旭斥,還要考慮兼容容达,因為是基于瀏覽器的,所以更傾向于瀏覽器和電腦硬件垂券,電腦系統(tǒng)的方向的兼容花盐,不過一般還是以瀏覽器為主,除此之外菇爪,還要從最終用戶的角度進行安全性和可用性測試算芯,可用性測試包括接口測試性能測試。
? ? ? ? 因此對于測試人員來說凳宙,確認和驗收是一項富有挑戰(zhàn)性的工作熙揍,我們必須充分掌握web測試的方法和技術(shù),下面會從這6個部分來對web測試方法和技術(shù)進行詳細分析氏涩。
no.3web 功能測試
<鏈接測試>
? ? 鏈接是web應(yīng)用系統(tǒng)的一個主要特征届囚,他是在頁面之間切換和指導(dǎo)用戶去一些不知道地址的頁面主要手段。鏈接測試可分為三個方面:
---->測試所有鏈接是否按指示鏈接到了該鏈接的頁面
---->測試所鏈接的頁面是否存在
---->保證web應(yīng)用上沒有孤立的頁面是尖,所謂孤立頁面是指沒有鏈接指向該頁面意系,只有知道正確的URL地址才能訪問
<表單測試>
? ? ?當(dāng)用戶通過表單提交信息的時候,都希望表單能正常工作饺汹,若使用表單來進行在線注冊蛔添,要確保提交按鈕正常,注冊完成后應(yīng)返回注冊成功的消息。
----->當(dāng)用戶使用表單進行用戶注冊迎瞧、登陸夸溶、信息提交等操作時,我們必須測試提交內(nèi)容的完整性凶硅,以校驗提交給服務(wù)器的信息的正確性蜘醋。
例如:用戶填寫的手機號碼和昵稱是否滿足需求中長度及類型組成要求
------>如果表單使用了默認值,需要驗證默認值得正確性
------>如果表單只能接受指定的某些值咏尝,則也要進行測試
例如:性別選擇只能男、女啸罢,測試時可以跳過這些特定值编检,看系統(tǒng)是否會報錯。
<數(shù)據(jù)校驗>
? ? 如果系統(tǒng)根據(jù)業(yè)務(wù)規(guī)則需要對用戶輸入進行校驗扰才,需要保證這些校驗功能正常工作允懂。
? ? 例如省份的字段可以用一個有效列表進行校驗,在這種情況下衩匣,需要驗證列表完整而且程序正確調(diào)用了該列表(例如在列表中添加一個測試值蕾总,確定系統(tǒng)能夠接受這個測試值)。
? ? 在測試表單時琅捏,該項測試和表單測試可能會有一些重復(fù)生百。
? ? Cookies通常用來存儲用戶信息和用戶在某應(yīng)用系統(tǒng)的操作,當(dāng)一個用戶使用Cokies訪問了某一個應(yīng)用系統(tǒng)時柄延,Web服務(wù)器將發(fā)送關(guān)于用戶的信息蚀浆,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創(chuàng)建動態(tài)和自定義頁面或者存儲登陸等信息。
? ? 如果 Web應(yīng)用系統(tǒng)使用了Cookies搜吧,就必須檢查Cookies是否能正常工作市俊。測試的內(nèi)容可包括:
----->Cookeis是否起作用,是否按預(yù)定的時間進行保存滤奈,刷新對Cookies有什么影響等摆昧。
----->如果在cookies 中保存了注冊信息,請確認該cookie 能夠正常工作而且已對這些信息已經(jīng)加密蜒程。
----->如果使用 cookie來統(tǒng)計次數(shù)绅你,需要驗證次數(shù)累計正確。
<數(shù)據(jù)庫測試>
? ? 在Web應(yīng)用技術(shù)中搞糕,數(shù)據(jù)庫起著重要的作用勇吊,數(shù)據(jù)庫為Web應(yīng)用系統(tǒng)的管理、運行窍仰、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的請求等提供空間汉规。
? ? 在Web應(yīng)用中,最常用的數(shù)據(jù)庫類型是關(guān)系型數(shù)據(jù)庫,可以使用SQL對信息進行處理针史。
? ? 在使用了數(shù)據(jù)庫的Web應(yīng)用系統(tǒng)中晶伦,一般情況下,從以下兩方面進行測試:
----->對數(shù)據(jù)一 致性進行測試啄枕, 主要是用戶 提交的表單信息存儲到數(shù)據(jù)庫后 各字段值是否一致婚陪。
----->對輸出進行測試,主要是驗證從數(shù)據(jù)庫查詢后顯示在界面的數(shù)據(jù)信息是否正確频祝。例如12306網(wǎng)站的余票信息泌参。
<流程測試>
最重要的是,測試人員需要對應(yīng)用程序用戶常見使用場景進行軟件測試常空。
? ? 嘗試用戶可能進行的所有操作:新增沽一、修改、刪除漓糙、查詢等等铣缠。
? ? 例如購物網(wǎng)站測試,需要進行注冊用戶(新增)昆禽、瀏覽商品(查詢)蝗蛙、加入購物車下訂單(新增)、刪除訂單(刪除)醉鳖、在線支付等等捡硅。
no.4web界面測試
? ? 界面測試可以直接參考原型圖和切圖設(shè)計進行界面核對。有幾個常見的部分如下:
<導(dǎo)航測試>
? ? ?導(dǎo)航描述了用戶在一個頁面內(nèi)操作的方式辐棒,在不同的用戶接口控制之間病曾。
? ? 例如:按鈕、對話框漾根、列表和窗口等泰涂;或在不同的連接頁面之間。
? ? 通過考慮下列問題辐怕,可以決定一個Web應(yīng)用系統(tǒng)是否易于導(dǎo)航:導(dǎo)航是否直觀逼蒙?Web系統(tǒng)的主要部分是否可通過主頁存取寄疏?Web系統(tǒng)是否需要站點地圖是牢、搜索引擎或其他的導(dǎo)航幫助?
? ? 導(dǎo)航的另一個重要方面是Web應(yīng)用系統(tǒng)的頁面結(jié)構(gòu)陕截、導(dǎo)航驳棱、菜單、連接的風(fēng)格是諸存儲登
否一致农曲。確保用戶憑直覺就知道Web應(yīng)用系統(tǒng)里面是否還有內(nèi)容社搅,內(nèi)容在什么地方驻债。
<圖形測試>
? ? 在Web應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動畫既能起到廣告宣傳的作用形葬,又能起到美化頁面的功能合呐。
? ? 一個Web應(yīng)用系統(tǒng)的圖形可以包括圖片、動畫笙以、邊框淌实、顏色、字體猖腕、背景拆祈、按鈕等。
圖形測試的內(nèi)容有:
----->要確保圖形有明確的用途倘感,圖片或動畫不要胡亂地堆在一起缘屹,以免浪費傳輸時間。
? ? Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小侠仇,并且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面犁珠。
----->驗證所有頁面字體的風(fēng)格是否一致逻炊。
----->背景顏色應(yīng)該與字體顏色和前景顏色相搭配。
----->圖片的大小和質(zhì)量也是一個很重要的因素犁享,一般采用JPG或GIF壓縮余素,最好能使圖片的大小減小到30k以下。
----->需要驗證的是文字回繞是否正確炊昆。如果說明文字指向右邊的圖片桨吊,應(yīng)該確保該段圖片出現(xiàn)在右邊。不要因為使用圖片而使窗口和段落排列古怪或者出現(xiàn)孤行凤巨。
<表格測試>
----->需要驗證表格是否設(shè)置正確视乐。
----->用戶是否需要向右滾動頁面才能看見產(chǎn)品的價格?細節(jié)放在右邊是否更有效?
----->每一欄的寬度是否是夠?qū)挘?表格里的文字是否都有折行?是否有因為某一格的內(nèi)容太多,而將整行的內(nèi)容拉長敢茁?
<整體界面測試>
? ? 整體界面是指整個Web應(yīng)用系統(tǒng)的頁面結(jié)構(gòu)設(shè)計佑淀,是給用戶的一個整體感。?
? ? 例如:當(dāng)用戶瀏覽Web應(yīng)用系統(tǒng)時是否感到舒適彰檬,是否憑直覺就知道我要找的信息在什么地方?整個Web應(yīng)用系統(tǒng)的設(shè)計風(fēng)格是否一致?
no.5web性能測試
?性能測試在該章節(jié)不做深入分析伸刃,只做大致整理。
<連接速度測試>
? ? 用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化逢倍,他們或許是電話撥號捧颅,或是寬帶上網(wǎng)。
? ? 當(dāng)下載一個程序時较雕,用戶可以等較長的時間碉哑,但如果僅僅訪問一個頁面,若響應(yīng)時間太長(例如超過5秒鐘),用戶就會因沒有耐心等待而離開谭梗。
? ? 另外忘晤,有些頁面有超時的限制,如果響應(yīng)速度太慢激捏,用戶可能還沒來得及瀏覽內(nèi)容设塔,就需要重新登陸了。而且远舅,連接速度太慢闰蛔,還可能引起數(shù)據(jù)丟失,使用戶得不到真實的頁面图柏。
? ? 對于響應(yīng)時間序六,業(yè)間遵循2-5-8原則。
<負載壓力測試>
? ? 在這里的負載\壓力和功能測試中的不同蚤吹,他是系統(tǒng)測試的內(nèi)容例诀。
? ? 基本功能已經(jīng)通過后進行的,可以在集成測試階段裁着,亦可以在系統(tǒng)測試階段進行繁涂。
? ? 通過該項測試用以檢測死機、崩損二驰、內(nèi)存泄漏問題等扔罪。因為有些存在內(nèi)存泄漏問題的程序,在運行一兩次時可能不會出現(xiàn)問題桶雀,但是如果運行了成千上萬次矿酵,內(nèi)存泄漏得越來越多,就會導(dǎo)致系統(tǒng)崩滑矗积。
? ? 使用負載測試工具loadrunner全肮、Jmeter 等,虛擬一定數(shù)量的用戶看一看系統(tǒng)的表現(xiàn)棘捣,是否滿足定義中的指標倔矾。主要的測試場最如下:
----->驗證系統(tǒng)能否在同一時間響應(yīng)大量的用戶。
----->在用戶傳送大量數(shù)據(jù)的時候系統(tǒng)能否正常響應(yīng)柱锹。
----->正并負載情況下哪自,系統(tǒng)能否長時間運行。
? ? 可訪問性對用戶來說是極其重要的禁熏。如果用戶得到“系統(tǒng)忙”的信息壤巷,他們可能放棄:并轉(zhuǎn)向競爭對手。
? ? 系統(tǒng)檢測不僅要使用戶能夠正常訪問站點瞧毙,在很多情況下胧华,可能會有黑客試圖通過發(fā)送大量數(shù)據(jù)包來攻擊服務(wù)器寄症。
? ? 出于安全的原因,測試人員應(yīng)法知道當(dāng)系統(tǒng)過載時矩动,需要采取哪些措施有巧,而不是簡單地提升系統(tǒng)性能。
no.6web 兼容性測試
? ? 兼容性悲没,因為是基于效覽器的篮迎,所以一般還是以常用瀏覽器兼容性測試為主。
<平臺測試>
? ? 市場上有很多不同的操作系統(tǒng)類型示姿,最常見的有Windows甜橱、Unix、Macintosh栈戳、Linux等岂傲。
? ? Web應(yīng)用系統(tǒng)的最終用戶究競使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置子檀。這樣镊掖,就可能會發(fā)生兼容性問題,同一個應(yīng)用可能在某些操作系統(tǒng)下能正常運行褂痰,但在另外的操作系統(tǒng)下可能會運行失敗堰乔。
? ? 因此脐恩,在Web系統(tǒng)發(fā)布之前侦讨,需要在各種操作系統(tǒng)下對Web系統(tǒng)進行兼容性測試。
<瀏覽器測試>
? ? 瀏覽器的兼容一般是選擇不同的瀏覽器內(nèi)核進行測試(IE韵卤、 chrome、Firefox)再結(jié)合用戶市場使用量高的瀏覽器來綜合選擇沈条。
? ? 不同瀏覽器使用內(nèi)核及所支持的HTML (標準通用標記語言下的一個應(yīng)用)等網(wǎng)頁語言標準不同需忿;以及用戶客戶端的環(huán)境不同(如分辨率不同)造成的顯示效果不能達到理想效果屋厘。
? ? 最常見的問題就是網(wǎng)頁元素位置混亂、錯位月而。主要測式內(nèi)容如下:
頁面的格式,字體父款,輸入框溢谤,下拉框瞻凤,復(fù)選框, 按鈕等的檢查世杀;
頁面顯示穿插在功能進行中檢查阀参。
<分辨率測試>
? ? 頁面版式在640x400、600x800或1024x768 的分辨率模式下是否顯示正常?字體是否太小以至于無法洳覽?或者是太大?文本和圖片是否對齊?
no.7web的安全測試
? ? 主要是測試系統(tǒng)在沒有授權(quán)的情況下瞻坝,內(nèi)部或者外部用戶對系統(tǒng)進行攻擊或者惡意破壞時如何進行處理蛛壳,是否仍能保證數(shù)據(jù)的安全。
? ? 測試員可以學(xué)習(xí)一些黑客技術(shù)湿镀,來對系統(tǒng)進行攻擊炕吸。這里不做深入分析,只做大致整理勉痴。
<目錄設(shè)置>
? ? Web安全的第一步就是正確設(shè)置目錄赫模。 每個目錄下應(yīng)該有index.html 或main.html頁面,這樣就不會顯示該目錄下的所有內(nèi)容蒸矛。
? ? 有些公司沒有執(zhí)行這條規(guī)則瀑罗。大家可以嘗試選中一幅圖片,單擊鼠標右鍵雏掠,找到該圖片所在的路徑“....com/objects/images”斩祭。然后在瀏覽器地址欄中手工輸入該路徑,會不會發(fā)現(xiàn)該站點的其他信息乡话。例如保存過期頁面記錄信息摧玫。
? ? 很多站點使用SSL進行安全傳送。你知道你進入一個SSL站點是因為瀏覽器出現(xiàn)了警告消息绑青,而且在地址欄中的HTTP變成HTTPS诬像。
? ? 如果開發(fā)部門使用了SSL,測試人員需要確定是否有相應(yīng)的替代頁面(適用于3.0以下版本的瀏覽器闸婴,這些瀏覽器不支持SSL)坏挠。
? ? 當(dāng)用戶進入或離開安全站點的時候,請確認有相應(yīng)的提示信息邪乍。是否有連接時間限制降狠?超過限制時間后出現(xiàn)什么情況?
<登錄>
? ? 有些站點需要用戶進行登錄,以驗證他們的身份庇楞。這樣對用戶是方便的榜配,他們不需要每次都輸入個人資料。
? ? 你需要驗證系統(tǒng)阻止非法的用戶名/口令登錄吕晌,而能夠通過有效登錄芥牌。
----->用戶登錄是否有次數(shù)限制?
----->是否限制從某些IP 地址登錄?
----->如果允許登錄失敗的次數(shù)為3,在第三次登錄的時候輸入正確的用戶名和口令聂使, 能通過驗證嗎?
----->口令選擇有規(guī)則限制嗎?
----->是否可以不登陸而直接瀏覽某個頁面?
----->Web應(yīng)用系統(tǒng)是否有超時的限制壁拉,也就是說,用戶登陸后在一定時間內(nèi)(例如15分鐘)沒有點擊任何頁面溃论,是否需要重新登陸才能正常使用痘昌。
<日志文件>
在后臺辆苔,要注意驗證服務(wù)器日志工作正常。
----->日志是否記所有的事務(wù)處理?
----->是否記錄失敗菲驴、錯誤的頁面請求?
----->是否在每次事務(wù)完成的時候都進行保存赊瞬?記錄IP地址嗎贼涩?記錄用戶名嗎?
<腳本語言>
? ? 腳本語言是常見的安全隱患。每種語言的細節(jié)有所不同谤绳。
? ? 有些腳本允許訪問根目錄袒哥,其他只允許訪問郵件服務(wù)器统诺。
? ? 但是經(jīng)驗豐富的黑客可以將服務(wù)器用戶名和口令發(fā)送給他們自己粮呢。
? ? 找出站點使用了哪些腳本語言钞艇,并研究該語言的缺陷。
? ? 還要需要測試沒有經(jīng)過授權(quán)挺物,就不能在服務(wù)器端放置和編輯腳本的問題飘弧。
除此之外,還有很多經(jīng)常遇到的面試題痴昧,大家可以加群:1397658968?探討更多面試題。
檸檬班為了幫助學(xué)員更深入的去了解Jmeter這款測試主流工具:http://www.lemonban.com/front/articleinfo/108∩嘞猓現(xiàn)推出
對于視頻中有什么問題都可以提出餐胀。