有效軟件測(cè)試50條建議_第1頁(yè)
有效軟件測(cè)試50條建議_第2頁(yè)
有效軟件測(cè)試50條建議_第3頁(yè)
有效軟件測(cè)試50條建議_第4頁(yè)
有效軟件測(cè)試50條建議_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

有效軟件測(cè)試50條建議王偉

2009-02-18前言

本書提供了一些實(shí)踐經(jīng)驗(yàn)和關(guān)鍵理念,組織可以利用這些實(shí)踐和理念成功地實(shí)現(xiàn)有效的測(cè)試工作.本書的目的是為讀者提供各種經(jīng)過(guò)精心挑選的技術(shù)和建議,軟件從業(yè)人員能夠直接用它們來(lái)改進(jìn)產(chǎn)品,同時(shí)也能避免損失慘重的過(guò)失和疏忽.本書詳述了50條最好的軟件測(cè)試實(shí)踐,分為10部分進(jìn)行講述,這10部分大致和軟件生命周期的各個(gè)階段相對(duì)應(yīng).第一條軟件人員及早介入測(cè)試人員需要徹底地了解產(chǎn)品,只有這樣他們才能設(shè)計(jì)出更出色和更全面的測(cè)試計(jì)劃.測(cè)試設(shè)計(jì),測(cè)試過(guò)程和測(cè)試用例.測(cè)試組及早介入,就可以避免在項(xiàng)目生命周期中的后續(xù)階段對(duì)產(chǎn)品的功能行為不理解.測(cè)試組及早介入,還可以了解到應(yīng)用程序的哪些方面對(duì)最終用戶來(lái)說(shuō)最關(guān)鍵以及哪些元素的風(fēng)險(xiǎn)最大,這樣測(cè)試組就可以首先把精力集中在應(yīng)用程序中最重要的部分,避免對(duì)不經(jīng)常使用的部分過(guò)度測(cè)試對(duì)重要部分又測(cè)試不充分測(cè)試人員所要掌握的不僅僅只是軟件的”輸入和輸出”,他們還需要掌握更深入的知識(shí),而這種知識(shí)只有了解撰寫產(chǎn)品功能說(shuō)明書的思考過(guò)程才能獲得,這種理解不僅能夠提高測(cè)試人員開發(fā)的測(cè)試過(guò)程的質(zhì)量和深度,而且測(cè)試人員也可以針對(duì)需求提出反饋意見在生命周期中發(fā)現(xiàn)缺陷越早,那么修正缺陷的代價(jià)就越小階段相應(yīng)的糾正代價(jià)系統(tǒng)定義概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試發(fā)行以后5152555105155225505100第二條:驗(yàn)證需求

下面是軟件測(cè)試人員在需求階段用來(lái)驗(yàn)證需求質(zhì)量的檢查列表,運(yùn)用這一檢查列表是及早發(fā)現(xiàn)需求中的缺陷的第一步:正確性:根據(jù)用戶的需要進(jìn)行檢查,例如:標(biāo)準(zhǔn)和規(guī)則描述得是否正確?需求是否準(zhǔn)確地反映了用戶的需要?在需求階段,最終用戶或者恰當(dāng)?shù)挠脩舸淼慕槿胧欠浅1匾模_性也可以給予標(biāo)準(zhǔn)進(jìn)行檢查,需求是否遵從某個(gè)標(biāo)準(zhǔn)?完整性:用于保證需求中沒有遺漏任何必須的元素,其目的是為了避免只是由于沒有人提出恰當(dāng)?shù)膯?wèn)題或者沒有人檢查所有相關(guān)的原始文檔而引起的需求遺漏。一致性:驗(yàn)證的是工作產(chǎn)品的內(nèi)部元素之間或者工作產(chǎn)品之間沒有內(nèi)部或者外部的矛盾,通過(guò)提出問(wèn)題,規(guī)格說(shuō)明書中是否清晰和準(zhǔn)確,例如:需求規(guī)格說(shuō)明書中的許多地方都使用了術(shù)語(yǔ)“觀察者”,而這一術(shù)語(yǔ)在不同位置根據(jù)上下文有著不同的含義,那么這樣給后面的設(shè)計(jì)和實(shí)現(xiàn)階段帶來(lái)的問(wèn)題,沒有清晰一致的需求定義,就無(wú)法確定需求的正確性??蓽y(cè)試性或可驗(yàn)證性:保證了測(cè)試一條需求的可能性,同時(shí)測(cè)試的結(jié)果是預(yù)先知道的并且能夠通過(guò)編程或者人工來(lái)加以驗(yàn)證。如果一條需求不能被測(cè)試,或者不能通過(guò)其他方法來(lái)驗(yàn)證,那么我們就必須注明這個(gè)事實(shí)以及相關(guān)的風(fēng)險(xiǎn),我們應(yīng)該盡可能調(diào)整需求以使它可以測(cè)試??尚行裕罕WC了需求可以在給定的預(yù)算,進(jìn)度表,技術(shù)和其他可用資源的情況下實(shí)現(xiàn)。必要性:驗(yàn)證規(guī)格說(shuō)明書中的每條需求是否都與系統(tǒng)有關(guān),為了檢查相關(guān)性或者必要性,測(cè)試人員需要對(duì)照系統(tǒng)的既定目標(biāo)來(lái)檢查需求,這條需求對(duì)實(shí)現(xiàn)系統(tǒng)目標(biāo)有價(jià)值嗎?去掉這條需求會(huì)影響系統(tǒng)實(shí)現(xiàn)它的目標(biāo)嗎?其他需求依賴這條需求嗎?有些與系統(tǒng)無(wú)關(guān)的需求并不是真正的需求,只是建議的解決方案。明確性:保證了需求的陳述使用了精確的和可測(cè)量的方法,下面的例子就是一個(gè)不明確的需求:“系統(tǒng)快速地響應(yīng)用戶的查詢請(qǐng)求”?!翱焖佟笔悄:暮椭饔^的,因此這條需求是不可測(cè)試的。可追溯性:保證了每條需求可以通過(guò)下面的方法來(lái)確定,那就是能夠找到所有引用它的系統(tǒng)部分,對(duì)于需求的任何變化,我們能確定系統(tǒng)中受這種變化影響的所有部份。第十二條:估計(jì)測(cè)試準(zhǔn)備和執(zhí)行所需的時(shí)間

為了獲得做好的效果,這里列出的方法必須根據(jù)組織的要求和規(guī)程進(jìn)行調(diào)整。

1.開發(fā)比例法:由于軟件工業(yè)關(guān)注的焦點(diǎn)是估計(jì)軟件開發(fā)的工作量,所以測(cè)試工作量的估計(jì)一般基于開發(fā)比例方法得到。產(chǎn)品類型開發(fā)人員的數(shù)量開發(fā)人員與測(cè)試人員的比例測(cè)試人員數(shù)量商業(yè)產(chǎn)品(大市場(chǎng))303:220商業(yè)產(chǎn)品(小市場(chǎng))303:110為單個(gè)客戶開發(fā)304:17政府(內(nèi)部)305:16企業(yè)(內(nèi)部)304:172.項(xiàng)目人員比例法利用整個(gè)項(xiàng)目計(jì)劃投入的人數(shù)(包括需求、配置、過(guò)程、開發(fā)和QA等各類人員)來(lái)計(jì)算測(cè)試組的規(guī)模。當(dāng)實(shí)施開發(fā)工作的人數(shù)頻繁變化或者難于確定數(shù)量時(shí),這種方法特別有價(jià)值。開發(fā)類型項(xiàng)目人員數(shù)量測(cè)試組大小因子測(cè)試人員數(shù)量商業(yè)產(chǎn)品(大市場(chǎng))5027%13商業(yè)產(chǎn)品(小市場(chǎng))5016%8為單個(gè)客戶開發(fā)5010%5政府(內(nèi)部)應(yīng)用程序開發(fā)5011%5企業(yè)(內(nèi)部)應(yīng)用程序開發(fā)5014%73.測(cè)試過(guò)程法計(jì)算方式:采用已經(jīng)完成的各種開發(fā)項(xiàng)目的歷史記錄,這些記錄中需要包含有關(guān)開發(fā)規(guī)模的度量值,即功能點(diǎn),使用的測(cè)試過(guò)程數(shù)量、“人/小時(shí)”為單位的測(cè)試工作量的測(cè)量結(jié)果。局限性:由于這種方法只考慮需要設(shè)計(jì)和執(zhí)行的測(cè)試過(guò)程的數(shù)量,而忽視了對(duì)測(cè)量測(cè)試工作量有影響的其他重要因素,所以這種方法在某種程度上是有局限性的,為了使估計(jì)更加全面準(zhǔn)確,這種方法只能和此處列出的其他方法配合使用。測(cè)試過(guò)程的數(shù)量因子人·小時(shí)的個(gè)數(shù)完成的時(shí)間跨度測(cè)試人員數(shù)量歷史記錄8606.1653009個(gè)月(1560小時(shí)/人)3.4新項(xiàng)目的估計(jì)11206.16690012個(gè)月(2080小時(shí)/人)3.34.任務(wù)規(guī)劃法這種估計(jì)測(cè)試工作所需工作量的方法需要回顧相似類型的測(cè)試工作在人/小時(shí)數(shù)方面的歷史數(shù)據(jù),這種方法和“測(cè)試過(guò)程法”的不同之處在于它關(guān)注的焦點(diǎn)是測(cè)試任務(wù)。測(cè)試過(guò)程的數(shù)量因子測(cè)試所需的人、小時(shí)數(shù)歷史記錄8606.165300新項(xiàng)目的估計(jì)11206.166900階段歷史數(shù)據(jù)占項(xiàng)目的百分比初步估計(jì)調(diào)整后的估計(jì)項(xiàng)目啟動(dòng)1402.6179179早期項(xiàng)目支持(需求分析等等)1202.2152152關(guān)于自動(dòng)測(cè)試決定901.7117—測(cè)試工具的選擇和評(píng)估1603207-引用測(cè)試工具2605345345任務(wù)規(guī)劃法中每個(gè)測(cè)試階段需要的時(shí)間(單位為小時(shí))制定測(cè)試計(jì)劃53010690690測(cè)試設(shè)計(jì)54010690690測(cè)試開發(fā)19803725532553測(cè)試執(zhí)行8701711731173測(cè)試管理和支持4709621621測(cè)試過(guò)程改進(jìn)1402.5173-項(xiàng)目總結(jié)5300100%69006403任務(wù)規(guī)劃法中每個(gè)測(cè)試階段需要的時(shí)間(單位為小時(shí))測(cè)試過(guò)程數(shù)量人·小時(shí)估計(jì)調(diào)整后的估計(jì)完成的時(shí)間跨度測(cè)試人員數(shù)量新項(xiàng)目的估計(jì)11205.71640312個(gè)月(2080人·小時(shí))3.1從人·小時(shí)估計(jì)得到的測(cè)試組規(guī)模第十六條了解系統(tǒng)架構(gòu)和基本組件全面了解系統(tǒng)架構(gòu)對(duì)測(cè)試工程師的幫助:·提高缺陷報(bào)告的質(zhì)量。測(cè)試過(guò)程一般依賴于需求,因此它會(huì)沿著一條相對(duì)固定的路徑經(jīng)過(guò)系統(tǒng)。當(dāng)在這條路徑上發(fā)生錯(cuò)誤的時(shí)候,如果測(cè)試人員能夠在缺陷報(bào)告中反映與系統(tǒng)架構(gòu)相關(guān)的一些信息,那么系統(tǒng)的開發(fā)人員勢(shì)必會(huì)極大地從中受益;提高進(jìn)行探索性測(cè)試的能力。如果某項(xiàng)測(cè)試失敗了,測(cè)試人員通常需要進(jìn)行一些集中測(cè)試,也許是通過(guò)修改原始的測(cè)試場(chǎng)景來(lái)確定應(yīng)用程序的“斷裂點(diǎn)”(導(dǎo)致系統(tǒng)崩潰的因素),在尋找鍛煉點(diǎn)的過(guò)程中,測(cè)試人員可以進(jìn)行更有用的和更有針對(duì)性的測(cè)試,如果對(duì)基本組件的了解能夠獲取足夠的有關(guān)問(wèn)題的信息時(shí),完全可以跳過(guò)多余的測(cè)試工作;增加測(cè)試的精確度。第十七條確認(rèn)系統(tǒng)的可測(cè)試性在應(yīng)用程序的架構(gòu)最初形成的過(guò)程中,測(cè)試人員就應(yīng)該有機(jī)會(huì)提出以下問(wèn)題:怎樣才能通過(guò)系統(tǒng)內(nèi)的一條路徑來(lái)跟蹤輸入。例如:如果某個(gè)功能導(dǎo)致了一個(gè)其他服務(wù)器上任務(wù)啟動(dòng),那么如果測(cè)試人員可以通過(guò)一種方法來(lái)驗(yàn)證遠(yuǎn)程任務(wù)確實(shí)按照要求啟動(dòng)了,這會(huì)大有好處,如果建議的架構(gòu)使得跟蹤這類交互非常困難,那么可能就需要重新考慮系統(tǒng)架構(gòu),也許需要使用一個(gè)更可靠,可測(cè)試性更好的架構(gòu)。當(dāng)應(yīng)用程序的架構(gòu)還只是停留在文檔上而沒有付諸實(shí)施時(shí),對(duì)架構(gòu)可測(cè)試性的研究可以極大地減少隨后的測(cè)試工作中可能出現(xiàn)的意外,如果不能確定系統(tǒng)架構(gòu)的一方面或多方面的問(wèn)題是否會(huì)對(duì)測(cè)試工作造成影響,那么測(cè)試俎應(yīng)該堅(jiān)持用一個(gè)原型來(lái)使測(cè)試人員實(shí)驗(yàn)各種測(cè)試技術(shù),從這種實(shí)驗(yàn)得到的反饋信息能夠確保采用這種方式開發(fā)的應(yīng)用程序,其質(zhì)量是可以進(jìn)行驗(yàn)證的。第十八條:使用日志增加系統(tǒng)的可測(cè)試性增加應(yīng)用程序可測(cè)試性最常用的方法就是實(shí)施日志機(jī)制即跟蹤機(jī)制,這種機(jī)制提供的信息有:組件正在做什么(包括它們正在操作的數(shù)據(jù)),應(yīng)用程序的狀態(tài)或者應(yīng)用程序運(yùn)行中遇到的錯(cuò)誤,在執(zhí)行測(cè)試過(guò)程期間,測(cè)試工程師可以利用這些信息來(lái)跟蹤處理流程,以及利用這些信息來(lái)對(duì)系統(tǒng)中發(fā)生的錯(cuò)誤進(jìn)行定位.一個(gè)形式良好的日志條目應(yīng)包括以下信息:類名和方法名。主機(jī)名和進(jìn)程ID.條目的時(shí)間戳(最好精確到毫秒)消息。在條目中最重要的內(nèi)容之一就是消息。它可以是有關(guān)應(yīng)用程序在某個(gè)時(shí)刻發(fā)生了什么事件的描述,也可以是有關(guān)執(zhí)行期間遇到的錯(cuò)誤的描述或是一個(gè)操作的結(jié)果碼。第二十六條在測(cè)試過(guò)程中避免包含限制和詳細(xì)的數(shù)據(jù)元素造成測(cè)試過(guò)程維護(hù)困難的主要原因是:測(cè)試用例中出現(xiàn)了非常底層的細(xì)節(jié)以及把數(shù)據(jù)綁定到特定場(chǎng)景的測(cè)試過(guò)程的硬編碼,為了是測(cè)試過(guò)程容易維護(hù),應(yīng)該把特定的測(cè)試數(shù)據(jù)輸入和相應(yīng)的預(yù)期輸出結(jié)果單獨(dú)放在一個(gè)場(chǎng)景文檔中,測(cè)試數(shù)據(jù)場(chǎng)景可以保存在數(shù)據(jù)表或者數(shù)據(jù)庫(kù)中,其中每行定義一個(gè)單獨(dú)的測(cè)試用例,這些場(chǎng)景可以被測(cè)試過(guò)程引用,同時(shí)引用的還有反映具體數(shù)據(jù)的、用于沒有測(cè)試過(guò)程的場(chǎng)景示例。下圖展示了一個(gè)數(shù)據(jù)表格形式的簡(jiǎn)單的測(cè)試數(shù)據(jù)場(chǎng)景用戶ID預(yù)期結(jié)果比允許的位數(shù)多一位--滿足其他所有限制拒絕比允許的位數(shù)少一位--滿足其他所有限制接受和允許的位數(shù)相同--滿足其他所有限制接受使用允許字符的組合--滿足其他所有限制接受使用不允許的字符拒絕使用零輸入拒絕使用空輸入拒絕第二十七條:運(yùn)用探索性測(cè)試

重要性:在測(cè)試周期中,無(wú)論多長(zhǎng)的時(shí)間都不足以對(duì)測(cè)試過(guò)程所有可能的測(cè)試場(chǎng)景,變化和組合進(jìn)行文檔化,因此所有的測(cè)試工作都需要探索性的測(cè)試.在發(fā)現(xiàn)缺陷的過(guò)程中,需要探索和研究缺陷與應(yīng)用程序其他部分之間的關(guān)系,使測(cè)試生命周期中能夠覆蓋最重要的問(wèn)題,探索性測(cè)試是一種很有價(jià)值的測(cè)試技術(shù).它能使測(cè)試工作更加圓滿.建議:由于探索性測(cè)試的指導(dǎo)思想是具體問(wèn)題具體分析,所有它們是不能預(yù)先規(guī)劃的.但是為了實(shí)現(xiàn)測(cè)試的可重復(fù)性,可重用性以及達(dá)到足夠的測(cè)試覆蓋率,在執(zhí)行前或者執(zhí)行后把探索性測(cè)試文檔化,并且把他們加入回歸測(cè)試中絕對(duì)是一個(gè)好辦法.第四十七條明確定義測(cè)試執(zhí)行周期的開始和結(jié)束不管是哪個(gè)測(cè)試階段,為軟件測(cè)試執(zhí)行周期定義入口標(biāo)準(zhǔn)(測(cè)試開始時(shí)間)和出口標(biāo)準(zhǔn)(測(cè)試完成時(shí)間)都是非常重要的。入口標(biāo)準(zhǔn):所有的單元測(cè)試和集成測(cè)試已經(jīng)成功完成;軟件的生成(編譯)過(guò)程沒有任何錯(cuò)誤。配套文檔已經(jīng)完成。缺陷已經(jīng)修正并且準(zhǔn)備重新測(cè)試。源代碼已經(jīng)存儲(chǔ)在版本控制系統(tǒng)中。軟件出口標(biāo)準(zhǔn):已經(jīng)執(zhí)行了用來(lái)確定系統(tǒng)滿足指定的功能性和非功能性需求的測(cè)試過(guò)程。在測(cè)試結(jié)果中記錄的所有的1級(jí),2級(jí)(導(dǎo)致運(yùn)行中斷的,緊急的)軟件問(wèn)題都已經(jīng)解決,同時(shí)90%的3級(jí)問(wèn)題也已經(jīng)解決。報(bào)告的所有1級(jí)和2級(jí)(導(dǎo)致運(yùn)行中斷的,緊急的)軟件問(wèn)題都已經(jīng)解決,同時(shí)90%的3級(jí)問(wèn)題也已經(jīng)解決。注:軟件發(fā)布時(shí)允許存在已知的低優(yōu)先級(jí)缺陷(當(dāng)然也會(huì)有若干未知缺陷)其他的度量也必須作為出口標(biāo)準(zhǔn)的一部分進(jìn)行評(píng)估:在回歸測(cè)試中,缺陷修正工作破壞以前運(yùn)轉(zhuǎn)正常功能的頻率有多高?缺陷修正失敗的頻率有高?隨著測(cè)試階段的繼續(xù),新缺陷的發(fā)現(xiàn)率其走勢(shì)如何?隨著測(cè)試工作的進(jìn)行,缺陷發(fā)現(xiàn)率應(yīng)該呈下降的趨勢(shì)。第五十條追蹤測(cè)試工作的執(zhí)行度量項(xiàng)度量值作用測(cè)試過(guò)程執(zhí)行狀況(%)已經(jīng)執(zhí)行的測(cè)試過(guò)程數(shù)量、測(cè)試過(guò)程總數(shù)反映測(cè)試工作的進(jìn)度缺陷持續(xù)時(shí)間從發(fā)現(xiàn)缺陷到改正缺陷的時(shí)間跨度用于驗(yàn)證缺陷是否及時(shí)地解決,如果此時(shí)間跨度比較長(zhǎng),可能會(huì)影響測(cè)試組在計(jì)劃的截至期限到來(lái)之前完成測(cè)試的能力缺陷糾正到返測(cè)的時(shí)間從缺陷被修正并且在新版本中發(fā)布的時(shí)間到缺陷被返測(cè)的時(shí)間跨度如果改正的缺陷不能得到充分而及時(shí)的返測(cè),那么可能會(huì)延緩進(jìn)度缺陷趨勢(shì)分析在測(cè)試生命周期內(nèi),隨著測(cè)試工作的進(jìn)行,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論