轉(zhuǎn)帖|對比評測|編輯:龔雪|2015-09-25 14:56:33.000|閱讀 190 次
概述:應(yīng)用測試工具幫助大家進(jìn)行更有效率的測試,用更少的時間做更多的測試。另外,這些工具幫忙減少重復(fù)操作—代替人工干預(yù)—并且完成人工無法完成的測試,比如使用對于測試和軟件開發(fā)企業(yè)而言通用的方式來補充或者編目,搜索并且組合信息。應(yīng)用測試幫助企業(yè)搶在客戶之前定位出產(chǎn)品所存在的問題。即使是一個小程序,所需測試的組合數(shù)量也會大得驚人。比如,一對嵌套循環(huán),就能生成成千上萬的不同的測試用例。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
應(yīng)用測試工具幫助大家進(jìn)行更有效率的測試,用更少的時間做更多的測試。另外,這些工具幫忙減少重復(fù)操作—代替人工干預(yù)—并且完成人工無法完成的測試,比如使用對于測試和軟件開發(fā)企業(yè)而言通用的方式來補充或者編目,搜索并且組合信息。應(yīng)用測試幫助企業(yè)搶在客戶之前定位出產(chǎn)品所存在的問題。即使是一個小程序,所需測試的組合數(shù)量也會大得驚人。比如,一對嵌套循環(huán),就能生成成千上萬的不同的測試用例。
應(yīng)用測試工具本身并不完成實際的測試工作。測試人員手工來完成測試,需要注意細(xì)節(jié),同時能夠基于收到的信息來區(qū)分出細(xì)微的不同之處和有意思的地方。可以編程來讓測試工具運行一系列操作并且檢查期待結(jié)果。這些工具可以幫助有經(jīng)驗的測試人員擴大測試范圍。本文探討測試工具的四大類型:自動化、基礎(chǔ)架構(gòu)和支持、bug跟蹤,以及覆蓋率。
在討論應(yīng)用測試工具的主流類別之前,了解質(zhì)量保證(QA)和測試的區(qū)別很重要,能夠幫助更好得理解這些工具應(yīng)該做什么以及不應(yīng)該做什么。質(zhì)量保證是為了保證構(gòu)建過程是正確的。測試確保構(gòu)建出正確的東西。質(zhì)量保證意味著確保正確遵循了質(zhì)量流程的每一個步驟,并且順序也是正確的,從而避免問題的產(chǎn)生,每次都能得到相同的產(chǎn)品。測試主要是指在制造流程走完之后來檢查產(chǎn)品的所有部分是否正確。這兩者之間有明顯區(qū)別,用來完成這兩部分功能的工具也差異很大。
QA確保沒有需求就不會創(chuàng)造任何代碼;并且在最終測試開始之前確保所有代碼都已經(jīng)被審核——并且被批準(zhǔn);同時確保計劃運行的測試都會運行或者已經(jīng)運行過了。各個公司定義其工作流程模型,擁有QA職責(zé)的人要么檢查所有步驟,要么可能在完成之后審核每個步驟,來確保團隊完成了每一步并且檢查了正確的東西。
如果軟件QA工具確保產(chǎn)品被正確得構(gòu)建,應(yīng)用測試工具則幫助確保團隊構(gòu)建了正確的產(chǎn)品。因為每個軟件變更請求都各不相同,軟件QA注定要失敗——工具可以幫助確保需求文檔存在,但是不能確保該需求被完美實現(xiàn)了。
應(yīng)用程序測試工具能夠在軟件構(gòu)建的過程中,幫助軟件團隊確定軟件的實際狀態(tài)。我們一起看看測試工具的四大主流類型。
應(yīng)用測試工具最廣為人知的就是自動化工具,它們嘗試來取代人力 ——讓電腦完成點擊并檢查。測試自動化最常見的類型就是用戶界面驅(qū)動的,用戶記錄一系列操作及其預(yù)期結(jié)果。用戶界面自動化的兩大常見類型是記錄/回放這里一個工具記錄下交互操作并且隨后將這些操作自動化,期望得到相同的結(jié)果—并且是關(guān)鍵詞驅(qū)動的—這里用戶界面的元素,比如文本框和submit按鈕,都被用名稱來指代。關(guān)鍵詞驅(qū)動的測試通常在某個編程語言里創(chuàng)建,但是不一定非得如此;可以在電子表格里記錄元素標(biāo)識符,命令,輸入和預(yù)期結(jié)果。
自動化工具執(zhí)行一系列計劃好的場景,期望得到的預(yù)期結(jié)果,并且要么檢查特定的屏幕區(qū)域—在記錄/回放里—要么僅僅檢查工具被告知的檢查步驟—在關(guān)鍵字驅(qū)動領(lǐng)域。計算機永遠(yuǎn)不可能說“這看起來有點奇怪”,永遠(yuǎn)不會探索或者被某個測試激發(fā)出新的想法。計算機也無法注意到某個“錯誤”實際上是需求的改變。相反,測試自動化工具會記錄每一次失敗,測試人員需要去查看失敗,分析出這不是個bug,并且“修復(fù)”測試本身。這會帶來維護的重?fù)?dān)。測試自動化只能自動化測試的執(zhí)行和評估。
這一類測試的另一個術(shù)語是,Michael Bolton和James Bach稱之為,檢查——可以通過算法計算出是pass還是fail的決策規(guī)則。計算機可以做這樣的工作,并且可以做得很好。在代碼級別運行檢查的自動化—單元測試—或者在用戶界面級別,都能深遠(yuǎn)改進(jìn)質(zhì)量,并且在有人使用軟件之前就迅速地發(fā)現(xiàn)明顯的錯誤。
測試自動化假定應(yīng)用的最新版本已經(jīng)安裝在計算機或者Web服務(wù)器之上。它仍然需要編譯和安裝,自動化測試需要啟動,并且需要通知某些人去檢查結(jié)果。所有這些任務(wù)都屬于支持——這些也能夠自動化。持續(xù)集成工具就是支持類工具,可以檢測到新代碼的check-in,從而開始構(gòu)建build,創(chuàng)建一個新的虛擬Web服務(wù)器—或者更新某個staging服務(wù)器—將新代碼交付到目標(biāo)機器上,運行自動化來測試程序,檢查結(jié)果并且用郵件將失敗信息發(fā)送給相關(guān)團隊。
支持包括測試人員使用的能幫助他們更快速或者做更多測試的工具。產(chǎn)生隨機姓名作為輸入,或者廣義的測試數(shù)據(jù)的軟件,以及創(chuàng)建屏幕截圖和視頻的軟件都屬于這一類別。這一類型的軟件用來記錄測試人員需要做的使用各種字段的所有交互,模擬移動設(shè)備和所需的開發(fā)環(huán)境,以及彈出窗口來記錄備份。
對于很簡單的軟件而言,可以使用便利貼或者電子表格來跟蹤bug報告。但是當(dāng)軟件更為復(fù)雜時,這就會變得很難用,公司就需要使用為解決此類問題而設(shè)計的專業(yè)軟件。通常來說,專業(yè)的bug跟蹤工具會報告bug的嚴(yán)重程度,優(yōu)先級,發(fā)現(xiàn)問題的時間,確切的重現(xiàn)步驟,修復(fù)問題的人,問題在哪個build上被修復(fù),以及提供搜索和標(biāo)簽的機制來幫助使用者找到某個defect。這些工具不僅僅能夠幫助編程人員和項目經(jīng)理;客戶服務(wù)和已有用戶也可以使用這些工具來查找某個問題是不是已知問題,是否已經(jīng)計劃修復(fù),升級某個已知問題,并且匯報非已知問題。Bug跟蹤工具也能夠有助于工作流,因為可以將bug分配給編程人員,然后給測試人員重新檢查,然后標(biāo)記為待部署,并且在部署之后,標(biāo)記為已部署。
當(dāng)我們討論軟件測試領(lǐng)域的覆蓋率時,我們實際在探討兩個領(lǐng)域的問題。
第一個領(lǐng)域是代碼覆蓋率,關(guān)注于被測試覆蓋的軟件的代碼百分比。代碼覆蓋率最常見的類型是statement覆蓋率,它是在測試流程運行過的statement的百分比——手動測試,自動測試或者兩者。
第二個領(lǐng)域是應(yīng)用程序覆蓋率,從另外的維度查看測試流程——通常是,被“覆蓋”的需求百分比。常見的應(yīng)用程序覆蓋率工具之一是一個可跟蹤的矩陣——一個列表,列出哪些測試覆蓋了哪些需求。通常來說,測試用例管理軟件記錄了所有計劃的測試,并且允許測試人員為某個給定版本將某個測試用例標(biāo)記成“已執(zhí)行”,這使得管理層可以了解多少百分比的測試已經(jīng)“被覆蓋”了。這是一種“質(zhì)量保證”,檢查測試流程,和管理控制一起來確保應(yīng)用程序的每個部分都被覆蓋了。
最后,這四種類型的工具的每一種都能夠幫助軟件團隊管理問題和代碼變更。當(dāng)組合使用這些工具時,團隊就擁有了健壯的工具集能夠幫助其定位bug,調(diào)試代碼并且將團隊從瑣事中解脫出來,更多得去思考需要測試的領(lǐng)域。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn