四大主流應(yīng)用測(cè)試工具探討

責(zé)任編輯:editor007

作者:Matt Heusser和Michael Larsen

2015-09-10 22:13:22

摘自:TechTarget中國(guó)

應(yīng)用測(cè)試工具幫助大家進(jìn)行更有效率的測(cè)試,用更少的時(shí)間做更多的測(cè)試。自動(dòng)化工具執(zhí)行一系列計(jì)劃好的場(chǎng)景,期望得到的預(yù)期結(jié)果,并且要么檢查特定的屏幕區(qū)域—在記錄 回放里—要么僅僅檢查工具被告知的檢查步驟—在關(guān)鍵字驅(qū)動(dòng)領(lǐng)域。

應(yīng)用測(cè)試工具幫助大家進(jìn)行更有效率的測(cè)試,用更少的時(shí)間做更多的測(cè)試。另外,這些工具幫忙減少重復(fù)操作—代替人工干預(yù)—并且完成人工無(wú)法完成的測(cè)試,比如使用對(duì)于測(cè)試和軟件開(kāi)發(fā)企業(yè)而言通用的方式來(lái)補(bǔ)充或者編目,搜索并且組合信息。應(yīng)用測(cè)試幫助企業(yè)搶在客戶(hù)之前定位出產(chǎn)品所存在的問(wèn)題。即使是一個(gè)小程序,所需測(cè)試的組合數(shù)量也會(huì)大得驚人。比如,一對(duì)嵌套循環(huán),就能生成成千上萬(wàn)的不同的測(cè)試用例。

應(yīng)用測(cè)試工具本身并不完成實(shí)際的測(cè)試工作。測(cè)試人員手工來(lái)完成測(cè)試,需要注意細(xì)節(jié),同時(shí)能夠基于收到的信息來(lái)區(qū)分出細(xì)微的不同之處和有意思的地方??梢跃幊虂?lái)讓測(cè)試工具運(yùn)行一系列操作并且檢查期待結(jié)果。這些工具可以幫助有經(jīng)驗(yàn)的測(cè)試人員擴(kuò)大測(cè)試范圍。本文探討測(cè)試工具的四大類(lèi)型:自動(dòng)化、基礎(chǔ)架構(gòu)和支持、bug跟蹤,以及覆蓋率。

質(zhì)量保證和軟件測(cè)試的區(qū)別

在討論應(yīng)用測(cè)試工具的主流類(lèi)別之前,了解質(zhì)量保證(QA)和測(cè)試的區(qū)別很重要,能夠幫助更好得理解這些工具應(yīng)該做什么以及不應(yīng)該做什么。質(zhì)量保證是為了保證構(gòu)建過(guò)程是正確的。測(cè)試確保構(gòu)建出正確的東西。質(zhì)量保證意味著確保正確遵循了質(zhì)量流程的每一個(gè)步驟,并且順序也是正確的,從而避免問(wèn)題的產(chǎn)生,每次都能得到相同的產(chǎn)品。測(cè)試主要是指在制造流程走完之后來(lái)檢查產(chǎn)品的所有部分是否正確。這兩者之間有明顯區(qū)別,用來(lái)完成這兩部分功能的工具也差異很大。

QA確保沒(méi)有需求就不會(huì)創(chuàng)造任何代碼;并且在最終測(cè)試開(kāi)始之前確保所有代碼都已經(jīng)被審核——并且被批準(zhǔn);同時(shí)確保計(jì)劃運(yùn)行的測(cè)試都會(huì)運(yùn)行或者已經(jīng)運(yùn)行過(guò)了。各個(gè)公司定義其工作流程模型,擁有QA職責(zé)的人要么檢查所有步驟,要么可能在完成之后審核每個(gè)步驟,來(lái)確保團(tuán)隊(duì)完成了每一步并且檢查了正確的東西。

如果軟件QA工具確保產(chǎn)品被正確得構(gòu)建,應(yīng)用測(cè)試工具則幫助確保團(tuán)隊(duì)構(gòu)建了正確的產(chǎn)品。因?yàn)槊總€(gè)軟件變更請(qǐng)求都各不相同,軟件QA注定要失敗——工具可以幫助確保需求文檔存在,但是不能確保該需求被完美實(shí)現(xiàn)了。

應(yīng)用程序測(cè)試工具能夠在軟件構(gòu)建的過(guò)程中,幫助軟件團(tuán)隊(duì)確定軟件的實(shí)際狀態(tài)。我們一起看看測(cè)試工具的四大主流類(lèi)型。

自動(dòng)化

應(yīng)用測(cè)試工具最廣為人知的就是自動(dòng)化工具,它們嘗試來(lái)取代人力 ——讓電腦完成點(diǎn)擊并檢查。測(cè)試自動(dòng)化最常見(jiàn)的類(lèi)型就是用戶(hù)界面驅(qū)動(dòng)的,用戶(hù)記錄一系列操作及其預(yù)期結(jié)果。用戶(hù)界面自動(dòng)化的兩大常見(jiàn)類(lèi)型是記錄/回放這里一個(gè)工具記錄下交互操作并且隨后將這些操作自動(dòng)化,期望得到相同的結(jié)果—并且是關(guān)鍵詞驅(qū)動(dòng)的—這里用戶(hù)界面的元素,比如文本框和submit按鈕,都被用名稱(chēng)來(lái)指代。關(guān)鍵詞驅(qū)動(dòng)的測(cè)試通常在某個(gè)編程語(yǔ)言里創(chuàng)建,但是不一定非得如此;可以在電子表格里記錄元素標(biāo)識(shí)符,命令,輸入和預(yù)期結(jié)果。

自動(dòng)化工具執(zhí)行一系列計(jì)劃好的場(chǎng)景,期望得到的預(yù)期結(jié)果,并且要么檢查特定的屏幕區(qū)域—在記錄/回放里—要么僅僅檢查工具被告知的檢查步驟—在關(guān)鍵字驅(qū)動(dòng)領(lǐng)域。計(jì)算機(jī)永遠(yuǎn)不可能說(shuō)“這看起來(lái)有點(diǎn)奇怪”,永遠(yuǎn)不會(huì)探索或者被某個(gè)測(cè)試激發(fā)出新的想法。計(jì)算機(jī)也無(wú)法注意到某個(gè)“錯(cuò)誤”實(shí)際上是需求的改變。相反,測(cè)試自動(dòng)化工具會(huì)記錄每一次失敗,測(cè)試人員需要去查看失敗,分析出這不是個(gè)bug,并且“修復(fù)”測(cè)試本身。這會(huì)帶來(lái)維護(hù)的重?fù)?dān)。測(cè)試自動(dòng)化只能自動(dòng)化測(cè)試的執(zhí)行和評(píng)估。

這一類(lèi)測(cè)試的另一個(gè)術(shù)語(yǔ)是,Michael Bolton和James Bach稱(chēng)之為,檢查——可以通過(guò)算法計(jì)算出是pass還是fail的決策規(guī)則。計(jì)算機(jī)可以做這樣的工作,并且可以做得很好。在代碼級(jí)別運(yùn)行檢查的自動(dòng)化—單元測(cè)試—或者在用戶(hù)界面級(jí)別,都能深遠(yuǎn)改進(jìn)質(zhì)量,并且在有人使用軟件之前就迅速地發(fā)現(xiàn)明顯的錯(cuò)誤。

基礎(chǔ)架構(gòu)和支持

測(cè)試自動(dòng)化假定應(yīng)用的最新版本已經(jīng)安裝在計(jì)算機(jī)或者Web服務(wù)器之上。它仍然需要編譯和安裝,自動(dòng)化測(cè)試需要啟動(dòng),并且需要通知某些人去檢查結(jié)果。所有這些任務(wù)都屬于支持——這些也能夠自動(dòng)化。持續(xù)集成工具就是支持類(lèi)工具,可以檢測(cè)到新代碼的check-in,從而開(kāi)始構(gòu)建build,創(chuàng)建一個(gè)新的虛擬Web服務(wù)器—或者更新某個(gè)staging服務(wù)器—將新代碼交付到目標(biāo)機(jī)器上,運(yùn)行自動(dòng)化來(lái)測(cè)試程序,檢查結(jié)果并且用郵件將失敗信息發(fā)送給相關(guān)團(tuán)隊(duì)。

支持包括測(cè)試人員使用的能幫助他們更快速或者做更多測(cè)試的工具。產(chǎn)生隨機(jī)姓名作為輸入,或者廣義的測(cè)試數(shù)據(jù)的軟件,以及創(chuàng)建屏幕截圖和視頻的軟件都屬于這一類(lèi)別。這一類(lèi)型的軟件用來(lái)記錄測(cè)試人員需要做的使用各種字段的所有交互,模擬移動(dòng)設(shè)備和所需的開(kāi)發(fā)環(huán)境,以及彈出窗口來(lái)記錄備份。

Bug跟蹤

對(duì)于很簡(jiǎn)單的軟件而言,可以使用便利貼或者電子表格來(lái)跟蹤bug報(bào)告。但是當(dāng)軟件更為復(fù)雜時(shí),這就會(huì)變得很難用,公司就需要使用為解決此類(lèi)問(wèn)題而設(shè)計(jì)的專(zhuān)業(yè)軟件。通常來(lái)說(shuō),專(zhuān)業(yè)的bug跟蹤工具會(huì)報(bào)告bug的嚴(yán)重程度,優(yōu)先級(jí),發(fā)現(xiàn)問(wèn)題的時(shí)間,確切的重現(xiàn)步驟,修復(fù)問(wèn)題的人,問(wèn)題在哪個(gè)build上被修復(fù),以及提供搜索和標(biāo)簽的機(jī)制來(lái)幫助使用者找到某個(gè)defect。這些工具不僅僅能夠幫助編程人員和項(xiàng)目經(jīng)理;客戶(hù)服務(wù)和已有用戶(hù)也可以使用這些工具來(lái)查找某個(gè)問(wèn)題是不是已知問(wèn)題,是否已經(jīng)計(jì)劃修復(fù),升級(jí)某個(gè)已知問(wèn)題,并且匯報(bào)非已知問(wèn)題。Bug跟蹤工具也能夠有助于工作流,因?yàn)榭梢詫ug分配給編程人員,然后給測(cè)試人員重新檢查,然后標(biāo)記為待部署,并且在部署之后,標(biāo)記為已部署。

覆蓋率

當(dāng)我們討論軟件測(cè)試領(lǐng)域的覆蓋率時(shí),我們實(shí)際在探討兩個(gè)領(lǐng)域的問(wèn)題。

第一個(gè)領(lǐng)域是代碼覆蓋率,關(guān)注于被測(cè)試覆蓋的軟件的代碼百分比。代碼覆蓋率最常見(jiàn)的類(lèi)型是statement覆蓋率,它是在測(cè)試流程運(yùn)行過(guò)的statement的百分比——手動(dòng)測(cè)試,自動(dòng)測(cè)試或者兩者。

第二個(gè)領(lǐng)域是應(yīng)用程序覆蓋率,從另外的維度查看測(cè)試流程——通常是,被“覆蓋”的需求百分比。常見(jiàn)的應(yīng)用程序覆蓋率工具之一是一個(gè)可跟蹤的矩陣——一個(gè)列表,列出哪些測(cè)試覆蓋了哪些需求。通常來(lái)說(shuō),測(cè)試用例管理軟件記錄了所有計(jì)劃的測(cè)試,并且允許測(cè)試人員為某個(gè)給定版本將某個(gè)測(cè)試用例標(biāo)記成“已執(zhí)行”,這使得管理層可以了解多少百分比的測(cè)試已經(jīng)“被覆蓋”了。這是一種“質(zhì)量保證”,檢查測(cè)試流程,和管理控制一起來(lái)確保應(yīng)用程序的每個(gè)部分都被覆蓋了。

最后,這四種類(lèi)型的工具的每一種都能夠幫助軟件團(tuán)隊(duì)管理問(wèn)題和代碼變更。當(dāng)組合使用這些工具時(shí),團(tuán)隊(duì)就擁有了健壯的工具集能夠幫助其定位bug,調(diào)試代碼并且將團(tuán)隊(duì)從瑣事中解脫出來(lái),更多得去思考需要測(cè)試的領(lǐng)域。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)