Web應(yīng)用程序測(cè)試方法總結(jié)

web應(yīng)用程序測(cè)試方法和測(cè)試技術(shù)詳述

1. 概述

隨著web應(yīng)用的增多猎莲,新的模式解決方案中以web為核心的應(yīng)用也越來(lái)越多帝簇, 很多公司各種應(yīng)用的架構(gòu)都以B/S及web應(yīng)用為主,但是有關(guān)WEB測(cè)試方面的內(nèi)容并沒(méi)有相應(yīng)的總結(jié)平委,所以我在這里對(duì)web的測(cè)試方法和采用的測(cè)試技術(shù)進(jìn)行總結(jié)匹颤,便于內(nèi)部交流厚满。

測(cè)試方法盡量涵蓋web程序的各個(gè)方面府瞄,測(cè)試技術(shù)方面在繼承傳統(tǒng)測(cè)試技術(shù)的技術(shù)上結(jié)合web應(yīng)用的特點(diǎn)。

l 相關(guān)的測(cè)試和實(shí)現(xiàn)技術(shù)也有著很大的關(guān)系碘箍,由于本公司使用J2EE體系摘能,也許例子中只有JAVA平臺(tái)可以使用,.NET平臺(tái)測(cè)試技術(shù)暫時(shí)不涉及敲街,如果你有請(qǐng)與我聯(lián)系团搞。

2. 測(cè)試方法

說(shuō)明:測(cè)試方法的選擇取決你的測(cè)試策略。

一般的web測(cè)試和以往的應(yīng)用程序的測(cè)試的側(cè)重點(diǎn)不完全相同多艇,基本包括以下幾個(gè)方面逻恐。

當(dāng)然圓滿的完成測(cè)試還要有好的團(tuán)體和流程等的方方面面的支持,你同樣應(yīng)該對(duì)這些方面進(jìn)行注意峻黍。

有些測(cè)試方法設(shè)計(jì)到了流程复隆,哪些應(yīng)該在你的測(cè)試團(tuán)隊(duì)建設(shè)中建立。

2.1 界面測(cè)試

現(xiàn)在一般人都有使用瀏覽器瀏覽網(wǎng)頁(yè)的經(jīng)歷姆涩,用戶雖然不是專業(yè)人員但是對(duì)界面效果的印象是很重要的挽拂。如果你注重這方面的測(cè)試,那么驗(yàn)證應(yīng)用程序是否易于使用就非常重要了骨饿。很多人認(rèn)為這是測(cè)試中最不重要的部分亏栈,但是恰恰相反界面對(duì)不懂技術(shù)的客戶來(lái)說(shuō)那相當(dāng)關(guān)鍵,慢慢體會(huì)你會(huì)明白的宏赘。

方法上可以根據(jù)設(shè)計(jì)文檔绒北,如果夠?qū)I(yè)的話可以專業(yè)美工人員,來(lái)確定整體風(fēng)格頁(yè)面風(fēng)格察署,然后根據(jù)這個(gè)可以頁(yè)面人員可以生成靜態(tài)的HTML闷游,CSS等甚至生成幾套不用的方案來(lái)討論,或者交給客戶評(píng)審贴汪,最后形成統(tǒng)一的風(fēng)格的頁(yè)面/框架脐往。注意不要靠程序員的美術(shù)素養(yǎng)形成你的web風(fēng)格,那樣可能會(huì)很糟糕扳埂。

主要包括以下幾個(gè)方面的內(nèi)容:

? 站點(diǎn)地圖和導(dǎo)航條 位置业簿、是否合理、是否可以導(dǎo)航等內(nèi)容布局 布局是否合理聂喇,滾動(dòng)條等簡(jiǎn)介說(shuō)明 說(shuō)明文字是否合理辖源,位置,是否正確希太;

? 背景/色調(diào) 是否正確克饶、美觀,是否符合用戶需求誊辉;

? 頁(yè)面在窗口中的顯示是否正確矾湃、美觀(在調(diào)整瀏覽器窗口大小時(shí),屏幕刷新是否正確)表單樣式 大小堕澄,格式邀跃,是否對(duì)提交數(shù)據(jù)進(jìn)行驗(yàn)證(如果在頁(yè)面部分進(jìn)行驗(yàn)證的話)等;

? 連接 連接的形式蛙紫,位置拍屑,是否易于理解等。

web測(cè)試的主要頁(yè)面元素

? 頁(yè)面元素的容錯(cuò)性列表(如輸入框坑傅、時(shí)間列表或日歷)僵驰;

? 頁(yè)面元素清單(為實(shí)現(xiàn)功能,是否將所需要的元素全部都列出來(lái)了唁毒,如按鈕蒜茴、單選框、復(fù)選框浆西、列表框粉私、超連接、輸入框等等)近零;

? 頁(yè)面元素的容錯(cuò)性是否存在诺核;

? 頁(yè)面元素的容錯(cuò)性是否正確;

? 頁(yè)面元素基本功能是否實(shí)現(xiàn)(如文字特效久信、動(dòng)畫特效猪瞬、按鈕、超連接)入篮;

? 頁(yè)面元素的外形陈瘦、擺放位置(如按鈕、列表框潮售、核選框痊项、輸入框、超連接等)酥诽;

? 頁(yè)面元素是否顯示正確(主要針對(duì)文字鞍泉、圖形、簽章)肮帐;

? 元素是否顯示(元素是否存在)咖驮;

? 頁(yè)面元素清單(為實(shí)現(xiàn)功能边器,是否將所需要的元素全部都列出來(lái)了,如按鈕托修、單選框忘巧、復(fù)選框、列表框睦刃、超連接砚嘴、輸入框等等)。

測(cè)試技術(shù)

? 通過(guò)頁(yè)面走查涩拙,瀏覽確定使用的頁(yè)面是否符合需求际长。可以結(jié)合兼容性測(cè)試對(duì)不用分辨率下頁(yè)面顯示效果,如果有影響應(yīng)該交給設(shè)計(jì)人員提出解決方案;

? 可以結(jié)合數(shù)據(jù)定義文檔查看表單項(xiàng)的內(nèi)容炫隶,長(zhǎng)度等信息商乎;

? 對(duì)于動(dòng)態(tài)生成的頁(yè)面最好也能進(jìn)行瀏覽查看。如Servelet部分可以結(jié)合編碼規(guī)范,進(jìn)行代碼走查。是否支持中文,如果數(shù)據(jù)用XML封裝要做的工作會(huì)多一點(diǎn)等等竭沫。

2.1.l 界面測(cè)試要素:

符合標(biāo)準(zhǔn)和規(guī)范,靈活性,正確性,直觀性,舒適性,實(shí)用性,一致性

2.1.l.1 直觀性:

? 用戶界面是否潔凈,不唐突,不擁擠.界面不應(yīng)該為用戶制造障礙.所需功能或者期待的響應(yīng)應(yīng)該明顯,并在預(yù)期出現(xiàn)的地方;

? 界面組織和布局合理嗎?是否允許用戶輕松地從一個(gè)功能轉(zhuǎn)到另一個(gè)功能?下一步做什么明顯嗎?任何時(shí)刻都可以決定放棄或者退回,退出嗎?輸入得到承認(rèn)了嗎?菜單或者窗口是否深藏不露?

? 有多余功能嗎?軟件整體抑或局部是否做得太多?是否有太多特性把工作復(fù)雜化了?是否感到信息太龐雜?

? 如果其他所有努力失敗,幫助系統(tǒng)真能幫忙嗎?

2.1.l.2 一致性

? 快速鍵和菜單選項(xiàng).在Windows 中按F1鍵總是得到幫助信息骑篙;

? 術(shù)語(yǔ)和命令.整個(gè)軟件使用同樣的術(shù)語(yǔ)嗎?特性命名一致嗎?例如,Find是否一直叫Find,而不是有時(shí)叫Search?

? 軟件是否一直面向同一級(jí)別用戶?帶有花哨用戶界面的趣味賀卡程序不應(yīng)該顯示泄露技術(shù)機(jī)密的錯(cuò)誤提示信息蜕提;

? 按鈕位置和等價(jià)的按鍵.大家是否注意到對(duì)話框有OK按鈕和Cancle按鈕時(shí),OK按鈕總是在上方或者左方,而Cancle按鈕總是在下方或右方?同樣原因,Cancle按鈕的等價(jià)按鍵通常是Esc,而選中按鈕的等價(jià)按鈕通常是Enter.保持一致。

2.1.l.3 靈活性

? 狀態(tài)跳轉(zhuǎn):靈活的軟件實(shí)現(xiàn)同一任務(wù)有多種選擇方式靶端;

? 狀態(tài)終止和跳過(guò):具有容錯(cuò)處理能力谎势;

? 數(shù)據(jù)輸入和輸出:用戶希望有多種方法輸入數(shù)據(jù)和查看結(jié)果.例如,在寫字板插入文字可用鍵盤輸入,粘貼,從6種文件格式讀入,作為對(duì)象插入,或者用鼠標(biāo)從其他程序拖動(dòng)。

2.1.l.4 舒適性

? 恰當(dāng):軟件外觀和感覺(jué)應(yīng)該與所做的工作和使用者相符杨名;

? 錯(cuò)誤處理:程序應(yīng)該在用戶執(zhí)行嚴(yán)重錯(cuò)誤的操作之前提出警告,并允許用戶恢復(fù)由于錯(cuò)誤操作導(dǎo)致丟失的數(shù)據(jù)脏榆,如大家認(rèn)為undo /redo是當(dāng)然的;

? 性能:快不見(jiàn)得是好事台谍,要讓用戶看得清程序在做什么须喂,它是有反應(yīng)的。

2.2 功能測(cè)試

功能測(cè)試是測(cè)試中的重點(diǎn)趁蕊,主要包括一下幾個(gè)方面的內(nèi)容:

? 連接:這個(gè)連接和界面測(cè)試中的連接不同坞生。那里注重的是連接方式和位置,如是圖像還是文字放置的位置等掷伙,還是其他的方式是己;這里的連接注重功能,如是否有連接任柜,連接的是否是說(shuō)明的位置等卒废;

? 表單提交:應(yīng)當(dāng)模擬用戶提交沛厨,驗(yàn)證是否完成功能,如注冊(cè)信息摔认,要測(cè)試這些程序逆皮,需要驗(yàn)證服務(wù)器能正確保存這些數(shù)據(jù),而且后臺(tái)運(yùn)行的程序能正確解釋和使用這些信息级野。還有數(shù)據(jù)正確性驗(yàn)證,異常處理等粹胯,最好結(jié)合易用性要求等蓖柔。B/S結(jié)構(gòu)實(shí)現(xiàn)的功能可能主要的就在這里,提交數(shù)據(jù)风纠,處理數(shù)據(jù)等如果有固定的操作流程可以考慮自動(dòng)化測(cè)試工具的錄制功能况鸣,編寫可重復(fù)使用的腳本代碼,可以在測(cè)試竹观、回歸測(cè)試時(shí)運(yùn)行以便減輕測(cè)試人員工作量镐捧;

? Cookies 驗(yàn)證:如果系統(tǒng)使用了cookie,測(cè)試人員需要對(duì)它們進(jìn)行檢測(cè)臭增。如果在 cookies 中保存了注冊(cè)信息懂酱,請(qǐng)確認(rèn)該 cookie能夠正常工作而且已對(duì)這些信息已經(jīng)加密。如果使用 cookie 來(lái)統(tǒng)計(jì)次數(shù)誊抛,需要驗(yàn)證次數(shù)累計(jì)正確列牺。關(guān)于cookie的使用可以參考瀏覽器的幫助信息。如果使用B/S結(jié)構(gòu)cookies中存放的信息更多拗窃;

?? 功能易用性測(cè)試 完成了功能測(cè)試可以對(duì)應(yīng)用性進(jìn)行了解瞎领,最好聽(tīng)聽(tīng)客戶的反映,在可以的情況下對(duì)程序進(jìn)行改進(jìn)是很有必要的随夸,和客戶保持互動(dòng)對(duì)系統(tǒng)滿意度也是很有幫助的九默。

2. 2.1 測(cè)試技術(shù)

功能測(cè)試的測(cè)試技術(shù)可是很多的,我們可以結(jié)合實(shí)際環(huán)境選擇使用宾毒。

? 白盒測(cè)試技術(shù)(White Box Testing): 深入到代碼一級(jí)的測(cè)試驼修,使用這種技術(shù)發(fā)現(xiàn)問(wèn)題最早,效果也是最好的诈铛。該技術(shù)主要的特征是測(cè)試對(duì)象進(jìn)入了代碼內(nèi)部邪锌,根據(jù)開(kāi)發(fā)人員對(duì)代碼和對(duì)程序的熟悉程度,對(duì)有需要的部分進(jìn)行在軟件編碼階段癌瘾,開(kāi)發(fā)人員根據(jù)自己對(duì)代碼的理解和接觸所進(jìn)行的軟件測(cè)試叫做白盒測(cè)試觅丰。這一階段測(cè)試以軟件開(kāi)發(fā)人員為主,在JAVA平臺(tái)使用Xunit系列工具進(jìn)行測(cè)試妨退,Xunit測(cè)試工具是類一級(jí)的測(cè)試工具對(duì)每一個(gè)類和該類的方法進(jìn)行測(cè)試妇萄。

? 黑盒測(cè)試技術(shù)(Black Box Testing):黑盒測(cè)試的內(nèi)容主要有以下幾個(gè)方面蜕企,但是主要還是功能部分。主要是覆蓋全部的功能冠句,可以結(jié)合兼容轻掩,性能測(cè)試等方面進(jìn)行,根據(jù)軟件需求懦底,設(shè)計(jì)文檔唇牧,模擬客戶場(chǎng)景隨系統(tǒng)進(jìn)行實(shí)際的測(cè)試,這種測(cè)試技術(shù)是使用最多的測(cè)試技術(shù)涵蓋了測(cè)試的方方面面聚唐,可以考慮以下方面

?? 正確性 (Correctness):計(jì)算結(jié)果丐重,命名等方面。

?? 可用性 (Usability):是否可以滿足軟件的需求說(shuō)明杆查。

?? 邊界條件 (Boundary Condition):輸入部分的邊界值扮惦,就是使用一般書中說(shuō)的等價(jià)類劃分,試試最大最小和非法數(shù)據(jù)等等亲桦。

?? 性能 (Performance): 正常使用的時(shí)間內(nèi)系統(tǒng)完成一個(gè)任務(wù)需要的時(shí)間崖蜜,多人同時(shí)使用的時(shí)候響應(yīng)時(shí)間在可以接受范圍內(nèi)。J2EE技術(shù)實(shí)現(xiàn)的系統(tǒng)在性能方面更是需要照顧的客峭,一般原則是3秒以下接受豫领,3-5秒可以接受,5秒以上就影響易用性了舔琅。如果在測(cè)試過(guò)程中發(fā)現(xiàn)性能問(wèn)題氏堤,修復(fù)起來(lái)是非常艱難的,因?yàn)檫@常常意味著程序的算法不好搏明,結(jié)構(gòu)不好鼠锈,或者設(shè)計(jì)有問(wèn)題。因此在產(chǎn)品開(kāi)發(fā)的開(kāi)始階段星著,就要考慮到軟件的性能問(wèn)題

?? 壓力測(cè)試 (Stress): 多用戶情況可以考慮使用壓力測(cè)試工具购笆,建議將壓力和性能測(cè)試結(jié)合起來(lái)進(jìn)行。如果有負(fù)載平衡的話還要在服務(wù)器端打開(kāi)監(jiān)測(cè)工具,查看服務(wù)器CPU使用率虚循,內(nèi)存占用情況同欠,如果有必要可以模擬大量數(shù)據(jù)輸入,對(duì)硬盤的影響等等信息横缔。如果有必要的話必須進(jìn)行性能優(yōu)化(軟硬件都可以)铺遂。這里的壓力測(cè)試針對(duì)的是某幾項(xiàng)功能。

?? 錯(cuò)誤恢復(fù) (Error Recovery):錯(cuò)誤處理茎刚,頁(yè)面數(shù)據(jù)驗(yàn)證襟锐,包括突然間斷電,輸入臟數(shù)據(jù)等膛锭。

?? 安全性測(cè)試(Security):這個(gè)領(lǐng)域正在研究中粮坞,防火墻蚊荣、補(bǔ)丁包、殺毒軟件等的就不必說(shuō)了莫杈,不過(guò)可以考慮互例。破壞性測(cè)試時(shí)任意看了一些資料后得知,這里面設(shè)計(jì)到的知識(shí)\內(nèi)容可以寫本書了,不是一兩句可以說(shuō)清的,特別是一些商務(wù)網(wǎng)站筝闹,或者跟錢有關(guān)媳叨,或者和公司秘密有關(guān)的web更是需要這方面的測(cè)試,在外國(guó)有一種專門干這一行的人叫安全顧問(wèn)关顷,可以審核代碼糊秆,提出安全建議,出現(xiàn)緊急事件時(shí)的處理辦法等解寝,在國(guó)內(nèi)沒(méi)有聽(tīng)說(shuō)哪里有專門搞安全技術(shù)測(cè)試的內(nèi)容扩然。

?? 兼容性 (Compatibility):不同瀏覽器艘儒,不同應(yīng)用程序版本在實(shí)現(xiàn)功能時(shí)的表現(xiàn)不同的上網(wǎng)方式聋伦,如果你測(cè)試的是一個(gè)公共網(wǎng)站的話。

兼容性測(cè)試內(nèi)容詳述:

? 硬件平臺(tái)

? 瀏覽器軟件和版本:瀏覽器插件界睁,瀏覽器選項(xiàng)觉增,視頻分辨率和色深,文字大小翻斟,調(diào)制解調(diào)器速率.

軟件配置 (Configuration):如IE瀏覽器的不用選項(xiàng)-安全設(shè)定最高逾礁,禁用腳本程序等等,你們的程序在各種不用的設(shè)置下表現(xiàn)如何访惜。

2. 2.2 單元測(cè)試技術(shù)(Unit Test):

2. 2.2.1 下面是對(duì)白盒測(cè)試和單元測(cè)試的區(qū)別的論述:

單元測(cè)試和白盒測(cè)試是不同的嘹履,雖然單元測(cè)試和白盒測(cè)試都是關(guān)注功能,他們都需要代碼支持债热,但是級(jí)別不同砾嫉。白盒測(cè)試關(guān)注的是類中一個(gè)方法的功能,是更小的單位窒篱,但是完成一個(gè)單元測(cè)試可能需要N多類焕刮,所以說(shuō)作單元測(cè)試需要寫驅(qū)動(dòng)和穩(wěn)定樁,比如查詢單元是一個(gè)查詢包墙杯,包括N多的測(cè)試類配并、測(cè)試數(shù)據(jù),運(yùn)行他需要提供數(shù)據(jù)的部分高镐,輸入?yún)?shù)和發(fā)出命令的驅(qū)動(dòng)等等溉旋,是比類大的一個(gè)整體進(jìn)行的。

另一個(gè)明顯的區(qū)別是白盒測(cè)試不會(huì)關(guān)注類接口嫉髓,但是單元測(cè)試主要的內(nèi)容就是類接口測(cè)試低滩。

不過(guò)很多時(shí)候是很少區(qū)分的召夹,因?yàn)檫@兩種技術(shù)實(shí)現(xiàn)起來(lái)有很多相互關(guān)聯(lián)的部分。不過(guò)要看你對(duì)質(zhì)量的關(guān)注程度來(lái)決定恕沫。

2. 2.2.2 功能測(cè)試邊界測(cè)試\越界測(cè)試技術(shù)詳述

? 邊界條件

邊界條件是指軟件計(jì)劃的操作界限所在的邊緣條件监憎,如果軟件測(cè)試問(wèn)題包含確定的邊界,那么數(shù)據(jù)類型可能是:數(shù)值婶溯、速度鲸阔、字符、地址迄委、位置褐筛、尺寸、數(shù)量叙身。同時(shí)渔扎,考慮這些類型的下述特征:第一個(gè)/最后一個(gè)、最小值/最大值信轿、開(kāi)始/完成晃痴、超過(guò)/在內(nèi)、空/滿财忽、最短/最長(zhǎng)倘核、最慢/最快、最早/最遲即彪、最大/最小紧唱、最高/最低、相鄰/最遠(yuǎn)隶校。

? 越界測(cè)試

通常是簡(jiǎn)單加1或者很小的數(shù)(對(duì)于最大值)和減少1或者很小的數(shù)(對(duì)于最小值)漏益,例如:第一個(gè)減1/最后一個(gè)加1、開(kāi)始減1/完成加1深胳、空了再減/滿了再加绰疤、慢上加慢/快上加快、最大數(shù)加1/最小數(shù)減1稠屠、最小值減1/最大值加1峦睡、剛好超過(guò)/剛好在內(nèi)、短了再短/長(zhǎng)了再長(zhǎng)权埠、早了更早/晚了更晚榨了、最高加1/最低減1。

另一些該注意的輸入:默認(rèn)攘蔽,空白龙屉,空值,零值和無(wú);非法转捕,錯(cuò)誤作岖,不正確和垃圾數(shù)據(jù)。

2. 2.2.3 狀態(tài)測(cè)試技術(shù)

? 軟件可能進(jìn)入的每一種獨(dú)立狀態(tài)五芝;

? 從一種狀態(tài)轉(zhuǎn)入另一種狀態(tài)所需的輸入和條件痘儡;

? 進(jìn)入或退出某種狀態(tài)時(shí)的設(shè)置條件及輸入結(jié)果。

具體測(cè)試方法可以參考如下:

? 每種狀態(tài)至少訪問(wèn)一次枢步;

? 測(cè)試看起來(lái)最常見(jiàn)最普遍的狀態(tài)轉(zhuǎn)換沉删;

? 測(cè)試狀態(tài)之間最不常用的分支;

? 測(cè)試所有錯(cuò)誤狀態(tài)及其返回值醉途;

? 測(cè)試隨機(jī)狀態(tài)轉(zhuǎn)換矾瑰。

2. 2.2.4 競(jìng)爭(zhēng)條件測(cè)試技術(shù)

競(jìng)爭(zhēng)條件典型情形參考如下:

? 兩個(gè)不同的程序同時(shí)保存或打開(kāi)同一個(gè)文檔;

? 共享同一臺(tái)打印機(jī),通信端口或者其他外圍設(shè)備隘擎;

? 當(dāng)軟件處于讀取或者修改狀態(tài)時(shí)按鍵或者單擊鼠標(biāo)殴穴;

? 同時(shí)關(guān)閉或者啟動(dòng)軟件的多個(gè)實(shí)例;

? 同時(shí)使用不同的程序訪問(wèn)一個(gè)共同數(shù)據(jù)庫(kù)货葬。

2. 2.3 負(fù)載\壓力測(cè)試(StressTest)

在這里的負(fù)載\壓力和功能測(cè)試中的不同采幌,他是系統(tǒng)測(cè)試的內(nèi)容,是基本功能已經(jīng)通過(guò)后進(jìn)行的宝惰≈查牛可以在集成測(cè)試階段再沧,亦可以在系統(tǒng)測(cè)試階段進(jìn)行尼夺。

使用負(fù)載測(cè)試工具進(jìn)行,虛擬一定數(shù)量的用戶看一看系統(tǒng)的表現(xiàn)炒瘸,是否滿足定義中的指標(biāo)淤堵。

負(fù)載測(cè)試一般使用工具完成,loadrunner顷扩,webload拐邪,was,ewl隘截,e-test等扎阶,主要的內(nèi)容都是編寫出測(cè)試腳本,腳本中一般包括用戶常用的功能婶芭,然后運(yùn)行东臀,得出報(bào)告。所以負(fù)載測(cè)試包括的主要內(nèi)容就不介紹了犀农。

負(fù)載測(cè)試技術(shù)在各種極限情況下對(duì)產(chǎn)品進(jìn)行測(cè)試 (如很多人同時(shí)使用該軟件惰赋,或者反復(fù)運(yùn)行該軟件),以檢查產(chǎn)品的長(zhǎng)期穩(wěn)定性呵哨。例如赁濒,使用壓力測(cè)試工具對(duì)web服務(wù)器進(jìn)行壓力測(cè)試轨奄。本項(xiàng)測(cè)試可以幫助找到一些大型的問(wèn)題,如死機(jī)拒炎、崩損挪拟、內(nèi)存泄漏等,因?yàn)橛行┐嬖趦?nèi)存泄漏問(wèn)題的程序击你,在運(yùn)行一兩次時(shí)可能不會(huì)出現(xiàn)問(wèn)題舞丛,但是如果運(yùn)行了成千上萬(wàn)次,內(nèi)存泄漏得越來(lái)越多果漾,就會(huì)導(dǎo)致系統(tǒng)崩滑球切。用J2EE實(shí)現(xiàn)的系統(tǒng)很少但是并不是沒(méi)有內(nèi)存問(wèn)題。

? 無(wú)論什么工具基本的技術(shù)都是利用線程技術(shù)模仿和虛擬用戶绒障,在這里主要的難點(diǎn)在與測(cè)試腳本的編寫吨凑,每種工具使用的腳本都不一樣,但是大多數(shù)工具都提供錄制功能就算是不會(huì)編碼的測(cè)試人員同樣可以測(cè)試户辱。

? 對(duì)負(fù)載工具的延伸使用可以進(jìn)行系統(tǒng)穩(wěn)定性測(cè)試鸵钝,系統(tǒng)極限測(cè)試,如使用100的Load Size連續(xù)使用24小時(shí)庐镐,微軟定義的通過(guò)準(zhǔn)則是通過(guò)72小時(shí)測(cè)試的程序一般不會(huì)出現(xiàn)穩(wěn)定性的問(wèn)題恩商。

2. 2.4 回歸測(cè)試 (Regression Test)

過(guò)一段時(shí)間以后,再回過(guò)頭來(lái)對(duì)以前修復(fù)過(guò)的Bug重新進(jìn)行測(cè)試必逆,看該Bug 是否會(huì)重新出現(xiàn)怠堪。

? 回歸測(cè)試技術(shù)可以在測(cè)試的各個(gè)階段出現(xiàn),無(wú)論是單元測(cè)試還是集成測(cè)試還是系統(tǒng)測(cè)試名眉。是對(duì)以前問(wèn)題進(jìn)行驗(yàn)證的過(guò)程粟矿。

? 回歸測(cè)試的目的就是保證以前已經(jīng)修復(fù)的Bug不會(huì)再出現(xiàn)。實(shí)際上损拢,許多Bug都是在回歸測(cè)試時(shí)發(fā)現(xiàn)的陌粹,在此階段,我們首先要檢查以前找到的Bug 是否已經(jīng)更正了福压。值得注意的是掏秩,已經(jīng)更正的Bug 也可能又回來(lái)了,有的Bug 經(jīng)過(guò)修改之后可能又產(chǎn)生了新的Bug荆姆。所以蒙幻,回歸測(cè)試可保證已更正的Bug不再重現(xiàn),不產(chǎn)生新的Bug胞枕。

2. 2.5 Alpha 和Beta 測(cè)試 (Alpha and Beta Test):

在正式發(fā)布產(chǎn)品之前往往要先發(fā)布一些測(cè)試版杆煞,讓用戶能夠反饋出相關(guān)信息,或者找到存在的Bug,以便在正式版中得到解決决乎。

特別是在有客戶參加的情況下队询,對(duì)系統(tǒng)進(jìn)行測(cè)試可能會(huì)出現(xiàn)一些我們沒(méi)有考慮的情況,還可以解決一些客戶實(shí)際關(guān)心的問(wèn)題构诚。

不同的測(cè)試技術(shù)區(qū)分

2.3 覆蓋測(cè)試技術(shù)

說(shuō)明:測(cè)試覆蓋率可以看出測(cè)試的完成度蚌斩,在測(cè)試分析報(bào)告中可以作為量化指標(biāo)的依據(jù),測(cè)試覆蓋率越高效果越好范嘱。

覆蓋測(cè)試可以是程序代碼的執(zhí)行路徑覆蓋送膳,亦可以是功能實(shí)現(xiàn)的步驟覆蓋(可以理解成流程圖的路徑覆蓋)。

該技術(shù)可以用在任何測(cè)試階段丑蛤,包括單元測(cè)試叠聋、集成測(cè)試、系統(tǒng)測(cè)試受裹。

使用該技術(shù)時(shí)可以使用以上的任何測(cè)試方法和測(cè)試技術(shù)碌补。

2.4 白盒測(cè)試和黑盒測(cè)試技術(shù)

白盒測(cè)試技術(shù) (White Box Testing):該技術(shù)主要的特征是測(cè)試對(duì)象進(jìn)入了代碼內(nèi)部,根據(jù)開(kāi)發(fā)人員對(duì)代碼和對(duì)程序的熟悉程度棉饶,對(duì)有需要的部分進(jìn)行測(cè)試厦章。在軟件編碼階段,開(kāi)發(fā)人員根據(jù)自己對(duì)代碼的理解和接觸所進(jìn)行的軟件測(cè)試叫做白盒測(cè)試照藻。這一階段測(cè)試以軟件開(kāi)發(fā)人員為主袜啃,使用Xunit系列工具進(jìn)行測(cè)試,可以包括很多方面如功能性能等幸缕。

黑盒測(cè)試 (Black Box Testing):測(cè)試的主體部分群发,黑盒測(cè)試的內(nèi)容主要有以下幾個(gè)方面,但是主要還是功能部分冀值。主要是覆蓋全部的功能也物,可以結(jié)合兼容宫屠,性能測(cè)試等方面進(jìn)行列疗,包括的不同測(cè)試類型請(qǐng)參考以上內(nèi)容。

2.5 手工測(cè)試和自動(dòng)化測(cè)試

手工測(cè)試 (Manual Testing):即依靠人力來(lái)查找Bug浪蹂。方法可以參考上邊的測(cè)試抵栈,也可以根據(jù)對(duì)實(shí)現(xiàn)技術(shù)及經(jīng)驗(yàn)等進(jìn)行不同的測(cè)試。

自動(dòng)測(cè)試 (Automation Testing):使用有針對(duì)工具實(shí)行坤次」啪ⅲ可以作出自動(dòng)化測(cè)試的計(jì)劃,對(duì)可以進(jìn)行自動(dòng)化測(cè)試的部分編寫或者錄制相應(yīng)的腳本缰猴,可以加入功能产艾,容錯(cuò),表單提交等,可以參考MI,Rational或者其他類測(cè)試工具說(shuō)明闷堡。

根據(jù)權(quán)威的軟件測(cè)試經(jīng)驗(yàn)隘膘,手工測(cè)試還是主要的測(cè)試方法,自動(dòng)測(cè)試不夠靈活杠览,在這里不再詳述弯菊。微軟的測(cè)試過(guò)程80%還是手工完成。

自動(dòng)測(cè)試永遠(yuǎn)也代替不了手工測(cè)試踱阿,但是手工測(cè)試的工作量很大是不爭(zhēng)的事實(shí)管钳。

2.6 根據(jù)RUP標(biāo)準(zhǔn)按階段區(qū)分測(cè)試

單元測(cè)試:在上邊有詳細(xì)的敘述,還有針對(duì)單元測(cè)試和集成測(cè)試的論述软舌,請(qǐng)參考才漆。

集成測(cè)試:分為功能集成測(cè)試和系統(tǒng)集成測(cè)試,相互有調(diào)用的功能集成佛点,在系統(tǒng)環(huán)境下功能相互調(diào)用的影響等栽烂,使用方法可以任意選用上面的內(nèi)容。注重功能方面恋脚。

系統(tǒng)測(cè)試:在功能實(shí)現(xiàn)的基礎(chǔ)上腺办,可以加入兼容性,易用性糟描,性能等等怀喉。

驗(yàn)收測(cè)試:可以包括Alpha和Beta測(cè)試,在這里就不再詳述船响。

3. 存在風(fēng)險(xiǎn)及解決方法

說(shuō)明:測(cè)試不能找出所有的問(wèn)題躬拢,只是盡量在開(kāi)發(fā)階段解決大多數(shù)的問(wèn)題而已。

測(cè)試風(fēng)險(xiǎn)如下:

軟硬件的測(cè)試環(huán)境提供上也對(duì)測(cè)試結(jié)果有很大的影響见间;

測(cè)試團(tuán)隊(duì)的水平聊闯,經(jīng)驗(yàn),合作效果等米诉;

整個(gè)開(kāi)發(fā)流程對(duì)測(cè)試的重視程度菱蔬,測(cè)試的進(jìn)入時(shí)間等;

由于測(cè)試環(huán)境操作系統(tǒng)史侣,網(wǎng)絡(luò)環(huán)境拴泌,帶寬等情況可能產(chǎn)生的測(cè)試結(jié)果可能不同這是就需要經(jīng)驗(yàn)以及對(duì)測(cè)試環(huán)境的保護(hù)等方面下一些功夫。

4. 軟件缺陷的原則

軟件缺陷區(qū)別于軟件bug,它是在測(cè)試過(guò)程中出現(xiàn)的對(duì)系統(tǒng)有影響的惊橱,但是在設(shè)計(jì)中沒(méi)有的或者對(duì)修改后的bug測(cè)試和開(kāi)發(fā)人員有不同意見(jiàn)等蚪腐。

? 軟件未達(dá)到產(chǎn)品說(shuō)明書標(biāo)明的功能;

? 軟件出現(xiàn)了產(chǎn)品說(shuō)明書指明不會(huì)出現(xiàn)的錯(cuò)誤税朴;

? 軟件功能超出產(chǎn)品說(shuō)明書指明范圍回季;

? 軟件未達(dá)到產(chǎn)品說(shuō)明書雖未指出但應(yīng)達(dá)到的目標(biāo)家制;

? 軟件測(cè)試員認(rèn)為軟件難以理解、不易使用泡一、運(yùn)行速度緩慢慰丛,或者最終用戶認(rèn)為不好。

5. 文檔測(cè)試

產(chǎn)品說(shuō)明書屬性檢查清單

? 完整:是否有遺漏和丟失瘾杭?完全嗎诅病?單獨(dú)使用是否包含全部?jī)?nèi)容?

? 準(zhǔn)確:既定解決方案正確嗎粥烁?目標(biāo)明確嗎贤笆?有沒(méi)有錯(cuò)誤?

? 精確:不含糊讨阻,清晰芥永。描述是否一清二楚?還是自說(shuō)自話钝吮?容易看懂和理解嗎埋涧?

? 一致:產(chǎn)品功能描述是否自相矛盾?與其他功能有沒(méi)有沖突?

? 貼切:描述功能的陳述是否必要?有沒(méi)有多余信息?功能是否滿足的客戶要求?

? 合理:在特定的預(yù)算和進(jìn)度下奇瘦,以現(xiàn)有人力棘催,物力和資源能否實(shí)現(xiàn)?

? 代碼無(wú)關(guān):是否堅(jiān)持定義產(chǎn)品,而不是定義其所信賴的軟件設(shè)計(jì)耳标,架構(gòu)和代碼?

? 可測(cè)試性:特性能否測(cè)試?測(cè)試員建立驗(yàn)證操作的測(cè)試程序是否提供足夠的信息?

產(chǎn)品說(shuō)明書用語(yǔ)檢查清單

說(shuō)明:對(duì)問(wèn)題的描述通常表現(xiàn)為粉飾沒(méi)有仔細(xì)考慮的功能----可歸結(jié)于前文所述的屬性醇坝。從產(chǎn)品說(shuō)明書上找出這樣的用語(yǔ),仔細(xì)審視它們?cè)谖闹惺窃鯓邮褂玫拇纹隆.a(chǎn)品說(shuō)明書可能會(huì)為其掩飾和開(kāi)脫,也可能含糊其詞----無(wú)論是哪一種情況都可視為軟件缺陷呼猪。

? 總是,每一種砸琅,所有宋距,沒(méi)有,從不症脂。如果看到此類絕對(duì)或肯定的谚赎,切實(shí)認(rèn)定的敘述,軟件測(cè)試員就可以著手設(shè)計(jì)針?shù)h相對(duì)的案例摊腋。

? 當(dāng)然沸版,因此,明顯兴蒸,顯然,必然细办。這些話意圖誘使接受假定情況橙凳,不要中了圈套蕾殴。

? 某些,有時(shí)岛啸,常常钓觉,通常,慣常坚踩,經(jīng)常荡灾,大多,幾乎瞬铸。這些話太過(guò)模糊批幌,"有時(shí)"發(fā)生作用的功能無(wú)法測(cè)試。

? 等等嗓节,諸如此類荧缘,依此類推。以這樣的詞結(jié)束的功能清單無(wú)法測(cè)試拦宣,功能清單要絕對(duì)或者解釋明確截粗,以免讓人迷惑,不知如何推論鸵隧。

? 良好绸罗,迅速,廉價(jià)豆瘫,高效从诲,小,穩(wěn)定靡羡。這些是不確定的說(shuō)法系洛,不可測(cè)試。如果在產(chǎn)品說(shuō)明書中出現(xiàn)略步,就必須進(jìn)一步指明含義描扯。

? 已處理,已拒絕趟薄,已忽略绽诚,已消除。這些廉潔可能會(huì)隱藏大量需要說(shuō)明的功能杭煎。

? 如果...那么...(沒(méi)有否則)恩够。找出有"如果...那么..."而缺少配套的"否則"結(jié)構(gòu)的陳述,想一想"如果"沒(méi)有發(fā)生會(huì)怎樣羡铲。



作者:西邊人

今日頭條:軟件測(cè)試資源站

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜂桶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子也切,更是在濱河造成了極大的恐慌扑媚,老刑警劉巖腰湾,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脐湾,死亡現(xiàn)場(chǎng)離奇詭異掠手,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)同窘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門旬痹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)附井,“玉大人,你說(shuō)我怎么就攤上這事两残∮酪悖” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵磕昼,是天一觀的道長(zhǎng)卷雕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)票从,這世上最難降的妖魔是什么漫雕? 我笑而不...
    開(kāi)封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮峰鄙,結(jié)果婚禮上浸间,老公的妹妹穿的比我還像新娘。我一直安慰自己吟榴,他們只是感情好魁蒜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吩翻,像睡著了一般兜看。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狭瞎,一...
    開(kāi)封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天细移,我揣著相機(jī)與錄音,去河邊找鬼熊锭。 笑死弧轧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碗殷。 我是一名探鬼主播精绎,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锌妻!你這毒婦竟也來(lái)了代乃?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤从祝,失蹤者是張志新(化名)和其女友劉穎襟己,沒(méi)想到半個(gè)月后引谜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體牍陌,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡擎浴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毒涧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮预。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖契讲,靈堂內(nèi)的尸體忽然破棺而出仿吞,到底是詐尸還是另有隱情,我是刑警寧澤捡偏,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布唤冈,位于F島的核電站,受9級(jí)特大地震影響银伟,放射性物質(zhì)發(fā)生泄漏你虹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一彤避、第九天 我趴在偏房一處隱蔽的房頂上張望傅物。 院中可真熱鬧,春花似錦琉预、人聲如沸董饰。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卒暂。三九已至,卻和暖如春娄帖,著一層夾襖步出監(jiān)牢的瞬間也祠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工块茁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留齿坷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓数焊,卻偏偏與公主長(zhǎng)得像永淌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佩耳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理遂蛀,服務(wù)發(fā)現(xiàn),斷路器干厚,智...
    卡卡羅2017閱讀 134,633評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,769評(píng)論 25 707
  • 迷鹿mirror閱讀 130評(píng)論 0 0
  • 陋室門吱呀 恰逢花兒放 紅掌高高上 不及蘭草香
    白虎節(jié)堂閱讀 283評(píng)論 0 7
  • 先說(shuō)超級(jí)記憶力訓(xùn)練法李滴,有方法有訓(xùn)練內(nèi)容螃宙,值得一讀,可我恰恰屬于書尾說(shuō)的所坯,一怕麻煩二怕費(fèi)時(shí)間谆扎,當(dāng)然,最主要的芹助,自己還...
    勝似春閱讀 168評(píng)論 0 0