版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件測試方法和技術(shù)主講:田小霞教學(xué)重點:1、軟件測試根底理論2、軟件測試過程3、軟件質(zhì)量的概念及質(zhì)量保證體系教學(xué)難點:1、軟件測試的意義2、軟件質(zhì)量保證和軟件測試的關(guān)系第一章測試概述1.1軟件測試背景1.2軟件測試根底理論1.3軟件開發(fā)過程1.4軟件測試過程1.5軟件質(zhì)量保證概要1.6軟件測試職業(yè)1.1軟件測試背景1.1.1軟件缺陷與故障案例軟件缺陷的定義軟件缺陷的特征1.1.2軟件缺陷產(chǎn)生的原因軟件缺陷與故障1、軟件缺陷和軟件故障案例案例1美國迪斯尼公司的獅子王游戲軟件bug兼容性問題案例2美國航天局火星登陸事故系統(tǒng)測試銜接問題案例3跨世紀(jì)“千年蟲〞問題案例4愛國者導(dǎo)彈防御系統(tǒng)炸死自家人系統(tǒng)時鐘誤差積累案例5英特爾奔騰浮點除法上述所有實例中的軟件問題在軟件工程或軟件測試中都被稱為軟件缺陷或軟件故障。軟件缺陷與故障〔續(xù)〕2、軟件缺陷的定義〔1〕軟件未到達(dá)產(chǎn)品說明書中已經(jīng)標(biāo)明的功能;〔2〕軟件出現(xiàn)了產(chǎn)品說明書中指明不會出現(xiàn)的錯誤;〔3〕軟件未到達(dá)產(chǎn)品說明書中雖未指出但應(yīng)當(dāng)?shù)竭_(dá)的目標(biāo);〔4〕軟件功能超出了產(chǎn)品說明書中指明的范圍;〔5〕軟件測試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶認(rèn)為該軟件使用效果不良。軟件缺陷與故障〔續(xù)〕3、軟件缺陷的特征“看不到〞——軟件的特殊性決定了缺陷不易看到“看到但是抓不到〞——發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在軟件缺陷產(chǎn)生的原因〔P28〕
軟件缺陷的主要類型/現(xiàn)象:功能、特性沒有實現(xiàn)或局部實現(xiàn)設(shè)計不合理,存在缺陷實際結(jié)果和預(yù)期結(jié)果不一致運(yùn)行出錯,包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂數(shù)據(jù)結(jié)果不正確、精度不夠用戶不能接受的其他問題,如存取時間過長、界面不美觀其他10%軟件產(chǎn)品說明書(需求)56%編寫代碼7%設(shè)計27%圖1-1軟件缺陷產(chǎn)生的原因分布1.2軟件測試根底理論1.2.1軟件測試的定義1.2.2軟件測試的根本理論1.2.3軟件測試和缺陷修復(fù)的代價1.2.4軟件測試技術(shù)概要1.2.1軟件測試的定義1、軟件測試的定義幾個觀點:測試是為了證明程序有錯,而不是證明程序無錯誤;
一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;
一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。狹義定義:程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。廣義定義:將測試延伸到需求評審、設(shè)計審查活動中去,這種延伸后的軟件測試,被認(rèn)為是一種軟件測試的廣義概念。軟件測試的定義為:軟件測試是貫穿整個軟件開發(fā)生命周期、對軟件產(chǎn)品〔包括階段性產(chǎn)品〕進(jìn)行驗證和確認(rèn)的活動過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題——與用戶需求、預(yù)先定義的不一致性。軟件測試的定義〔續(xù)〕2、軟件測試的根本問題軟件生命周期:一個軟件生命周期包括制定方案、需求分析定義、軟件設(shè)計、程序編碼、軟件測試、軟件運(yùn)行、軟件維護(hù)、軟件停用等8個階段。軟件測試的對象:——軟件測試不等于程序測試?!浖y試貫串于軟件定義和開發(fā)的整個過程?!浖_發(fā)過程中所產(chǎn)生的需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序都是軟件測試的對象。軟件測試的定義〔續(xù)〕2、軟件測試的根本問題〔續(xù)〕軟件測試在軟件生命周期中橫跨兩個階段:第一個階段:單元測試階段,即在每個模塊編寫出以后所做的必要測試。第二個階段:綜合測試階段,即在完成單元測試后進(jìn)行的測試,如集成測試、系統(tǒng)測試、驗收測試。軟件測試涉及的關(guān)鍵問題包括四個方面:〔1〕測試由誰來執(zhí)行?!?〕測試什么?!?〕什么時候進(jìn)行測試?!?〕怎樣進(jìn)行測試。1.2.2軟件測試的根本理論
1、軟件測試的目的發(fā)現(xiàn)軟件缺陷發(fā)現(xiàn)軟件缺陷,盡可能早一些發(fā)現(xiàn)軟件缺陷,盡可能早一些,并確保其得以修復(fù)注意:測試無法說明錯誤不存在,只能說明軟件錯誤已出現(xiàn)。2、軟件測試的原那么〔1〕盡早地和及時地測試;〔2〕測試用例應(yīng)當(dāng)由測試數(shù)據(jù)和與之對應(yīng)的預(yù)期結(jié)果這兩局部組成;〔3〕在程序提交測試后,應(yīng)當(dāng)由專門的測試人員進(jìn)行測試;〔4〕測試用例應(yīng)包括合理的輸入條件和不合理的輸入條件;〔5〕嚴(yán)格執(zhí)行測試方案,排除測試的隨意性;〔6〕充分注意測試當(dāng)中的群表達(dá)象;〔7〕應(yīng)對每一個測試結(jié)果做全面的檢查;〔8〕保存測試方案、測試用例、出錯統(tǒng)計和最終分析報告,為維護(hù)工作提供充分的資料。3、測試在開發(fā)各階段的作用工程規(guī)劃階段:負(fù)責(zé)從單元測試到系統(tǒng)測試的整個測試階段的監(jiān)控。需求分析階段:確定測試需求分析、系統(tǒng)測試方案的制定、評審后成為管理工程。詳細(xì)設(shè)計和概要設(shè)計階段:確保集成測試方案和單元測試方案完成。編碼階段:由開發(fā)人員進(jìn)行自己負(fù)責(zé)局部的測試代碼。在工程較大時,由專人進(jìn)行編碼階段的測試任務(wù)。測試階段:依據(jù)測試代碼進(jìn)行測試,并提交相應(yīng)的測試狀態(tài)報告和測試結(jié)束報告。圖1-2完整的開發(fā)流程項目規(guī)劃項目需求分析項目概要分析項目詳細(xì)分析代碼編寫測試代碼編寫測試需求分析系統(tǒng)測試計劃集成測試計劃單元測試計劃產(chǎn)品發(fā)布系統(tǒng)測試集成測試單元測試4、完整的軟件開發(fā)流程1.2.3軟件測試和缺陷修復(fù)的代價軟件在從需求、設(shè)計、編碼、測試一直到交付用戶公開使用后的過程中,都有可能產(chǎn)生和發(fā)現(xiàn)缺陷。隨著整個開發(fā)過程的時間推移,更正缺陷或修復(fù)問題的費(fèi)用呈幾何級數(shù)增長。
圖1-3軟件缺陷在不同階段發(fā)現(xiàn)時修復(fù)的費(fèi)用示意圖020406080100編制說明書設(shè)計階段編寫代碼測試發(fā)布1、軟件測試技術(shù)按照軟件測試用例的設(shè)計方法而論,軟件測試可分為白盒測試法和黑盒測試法;按照軟件測試是否執(zhí)行程序而論,軟件測試又可以分為靜態(tài)測試和動態(tài)測試;按照軟件設(shè)計方法是否采用面向?qū)ο笤O(shè)計技術(shù)而論,軟件測試又可以分為傳統(tǒng)測試方法和面向?qū)ο鬁y試方法;按照網(wǎng)絡(luò)環(huán)境下C/S應(yīng)用結(jié)構(gòu)的特定環(huán)境而論,軟件測試又有其相應(yīng)的方法。這些都是軟件測試具體的測試方法。1.2.4軟件測試技術(shù)概要2、軟件測試的策略:就是測試將按照什么樣的思路和方式進(jìn)行。通常,軟件測試要經(jīng)過單元測試、集成測試、功能測試、確認(rèn)測試、系統(tǒng)測試以及驗收測試。單元測試單元測試集中在檢查軟件設(shè)計的最小單位—模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。集成測試集成測試是將模塊按照設(shè)計要求組裝起來同時進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如數(shù)據(jù)穿過接口時可能喪失;一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。功能測試是基于產(chǎn)品功能說明書,是在產(chǎn)品所具有的功能,從用戶角度來進(jìn)行功能驗證,以確認(rèn)每個功能是否能正常使用。確認(rèn)測試確認(rèn)測試的目的是向未來的用戶說明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)根本排除了,接著就應(yīng)該進(jìn)一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。系統(tǒng)測試軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他局部配套運(yùn)行,進(jìn)行系統(tǒng)測試。包括恢復(fù)測試、平安測試、強(qiáng)度測試和性能測試等。驗收測試驗收測試是向未來的用戶說明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)根本排除了,接著就應(yīng)該進(jìn)一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。經(jīng)驗收后,將軟件提交用戶。3、軟件測試技術(shù)的開展趨勢:〔1〕軟件驗證技術(shù)〔2〕靜態(tài)測試分析技術(shù)〔3〕測試數(shù)據(jù)的選擇——主要對測試用例進(jìn)行選擇通常從下面幾個方面評價測試用例的質(zhì)量:檢測軟件缺陷的有效性、測試用例的可重用性、測試用例的經(jīng)濟(jì)性、測試用例的可維護(hù)性〔4〕集成化測試——研究如何實現(xiàn)軟件測試的自動化過程以及相關(guān)的一系列內(nèi)容。1.3軟件開發(fā)過程1.3.1軟件產(chǎn)品的組成1.3.2軟件開發(fā)工程組1.3.3軟件開發(fā)根本過程1.3.4軟件開發(fā)模型1.3.1軟件產(chǎn)品的組成1、軟件產(chǎn)品需要各種開發(fā)投入
圖1-4獲得軟件產(chǎn)品的工作示意圖產(chǎn)品說明書、產(chǎn)品審查、設(shè)計文檔、進(jìn)度方案、上一版本信息反響、商業(yè)競爭對手的同類軟件產(chǎn)品情況、客戶調(diào)查、易用性數(shù)據(jù)、觀察與感受說明書開發(fā)過程軟件產(chǎn)品的組成〔續(xù)〕2、客戶需求客戶需求包括對客戶調(diào)查所收集的詳細(xì)信息、以前軟件的使用情況及存在的問題、競爭對手的軟件產(chǎn)品信息等等。通過分析客戶需求,可以確定將要開發(fā)的軟件產(chǎn)品應(yīng)該具有哪些功能。3、產(chǎn)品說明產(chǎn)品說明書的作用就是對客戶需求信息進(jìn)行綜合描述,并包括用戶沒有提出、但軟件產(chǎn)品本身必須要實現(xiàn)的要求,從而針對產(chǎn)品進(jìn)行定義并確定其功能。軟件產(chǎn)品的組成〔續(xù)〕4、設(shè)計文檔構(gòu)架。即產(chǎn)生描述軟件整體設(shè)計的文檔,包括軟件所有主要局部的描述以及相互間的交互方式。數(shù)據(jù)流示意圖。表示數(shù)據(jù)在程序中如何流動的正規(guī)示意圖。通常由圓圈和線條組成,所以也稱為泡泡圖。狀態(tài)變化示意圖。將軟件分解為根本狀態(tài)或者條件的另一種正規(guī)示意圖,表示不同狀態(tài)之間的變化的方式。流程圖。用圖形描述程序邏輯的最常用方式之一。根據(jù)詳細(xì)的流程圖編寫程序代碼簡單方便。注釋代碼。代碼注釋是便于維護(hù)代碼的程序員掌握代碼的內(nèi)容和執(zhí)行方式。軟件產(chǎn)品的組成〔續(xù)〕5、測試文檔一般測試文檔所包含的內(nèi)容:測試方案。描述用于驗證軟件是否符合產(chǎn)品說明書和客戶需求的整體方案。測試用例。依據(jù)測試的工程,并描述驗證軟件的詳細(xì)步驟。軟件測試報告。描述依據(jù)測試用例找出的問題,通常提交測試報告。歸納、統(tǒng)計和總結(jié)。采用圖表、表格和報告等形式來描述整個測試過程。軟件產(chǎn)品的組成〔續(xù)〕6、開發(fā)進(jìn)度表系統(tǒng)最終交付日期已經(jīng)確定,軟件開發(fā)部門必須在規(guī)定期限內(nèi)完成系統(tǒng)最終交付日期只確定了大致的年限,最后交付日期由軟件開發(fā)部門確定Gantt圖中橫坐標(biāo)表示時間,縱坐標(biāo)表示任務(wù),圖中的水平線段表示對一個任務(wù)的進(jìn)度安排,線段的起點和鐘點對應(yīng)在橫坐標(biāo)上的時間分別表示該任務(wù)的開始時間和結(jié)束時間,線段的長度表示完成該任務(wù)所需的時間。7、軟件產(chǎn)品組成局部〔1〕程序代碼〔2〕幫助文件〔3〕用戶手冊〔4〕樣本和例如〔5〕標(biāo)簽6〕產(chǎn)品支持信息〔7〕圖表和標(biāo)志〔8〕錯誤信息〔9〕廣告與宣傳材料〔10〕軟件的安裝〔11〕軟件說明文件〔12〕測試錯誤提示信息1.3.2軟件開發(fā)工程組工程管理經(jīng)理:全程負(fù)責(zé)整個軟件工程的開發(fā)。系統(tǒng)設(shè)計師:設(shè)計整個系統(tǒng)構(gòu)架或軟件構(gòu)思。程序員:負(fù)責(zé)設(shè)計、編寫程序,并修改軟件中的缺陷。軟件測試員/測試師:負(fù)責(zé)找出并報告軟件產(chǎn)品的問題,與開發(fā)組密切合作,進(jìn)行測試并報揭發(fā)現(xiàn)的問題。技術(shù)制作、用戶助手、用戶培訓(xùn)員、手冊編寫和文件檔案專員:負(fù)責(zé)編寫軟件產(chǎn)品附帶的文件和聯(lián)機(jī)文檔。結(jié)構(gòu)管理和制作人員:負(fù)責(zé)將程序員編寫的全部文檔資料合并成一個軟件包。軟件開發(fā)根本過程軟件開發(fā)的根本過程可以分為需求分析、設(shè)計、編碼、測試和維護(hù)階段,即通常所說的“傳統(tǒng)生命周期〞,也就是“瀑布模型〞。圖1-5軟件開發(fā)根本過程需求分析:根據(jù)客戶的要求,清楚了解客戶需求中的產(chǎn)品功能、特性、性能、界面和具體規(guī)格等,然后進(jìn)行分析,確定軟件產(chǎn)品所能到達(dá)的目標(biāo)。設(shè)計:根據(jù)需求分析的結(jié)果,考慮如何在邏輯、程序上去實現(xiàn)所定義的產(chǎn)品功能、特性等,可以分為概要設(shè)計和詳細(xì)設(shè)計,也可分為數(shù)據(jù)結(jié)構(gòu)設(shè)計、軟件體系結(jié)構(gòu)設(shè)計、應(yīng)用接口設(shè)計、模塊設(shè)計、界面設(shè)計等。編程:將設(shè)計轉(zhuǎn)換成計算機(jī)可讀的形式。測試:對設(shè)計、編程進(jìn)行驗證和用戶需求確認(rèn)的過程。維護(hù):維持軟件運(yùn)行,修改軟件缺陷、增強(qiáng)已有功能、增加功能、升級等。軟件開發(fā)模型1. 瀑布模型2. 原型模型3. 快速應(yīng)用開發(fā)(RAD)模型4. 改進(jìn)的V模型5. 螺旋模型6. 增量模型和迭代模型瀑布法瀑布模式是將軟件生命周期的各項活動,規(guī)定為按照固定順序相連的假設(shè)干個階段性工作,形如瀑布流水,最終得到軟件產(chǎn)品。優(yōu)點:易于理解;調(diào)研開發(fā)的階段性;強(qiáng)調(diào)早期方案及需求調(diào)查;確定何時能夠交付產(chǎn)品及何時進(jìn)行評審與測試。缺點:需求調(diào)查分析只進(jìn)行一次,不能適應(yīng)需求變化;順序的開發(fā)流程,使得開發(fā)中的經(jīng)驗教訓(xùn)不能反響到該工程的開發(fā)中去;不能反映出軟件開發(fā)過程的反復(fù)與迭代性;沒有包含任何類型的風(fēng)險評估;開發(fā)中出現(xiàn)的問題直到開發(fā)后期才能夠顯露,因此失去及早糾正的時機(jī)。問題定義分析研究需求分析軟件設(shè)計編碼測試維護(hù)定義階段開發(fā)階段維護(hù)階段圖1-6瀑布開發(fā)模式快速原型法
根據(jù)客戶需求在較短的時間內(nèi)解決用戶最迫切解決的問題,完成可演示的產(chǎn)品。這個產(chǎn)品只實現(xiàn)最重要功能,在得到用戶的更加明確的需求之后,原型將丟棄。需求分析原型開發(fā)原型評價最終設(shè)計系統(tǒng)實現(xiàn)用戶反饋圖1-6快速原型開發(fā)模式快速應(yīng)用開發(fā)(RAD)模型〔P6〕圖1-7RAD開發(fā)模式V模型〔P7〕圖1-8V型開發(fā)模式螺旋模式法螺旋模式是瀑布模式與邊寫邊改演化模式相結(jié)合,并參加風(fēng)險評估所建立的軟件開發(fā)模式。主要思想是在開始時不必詳細(xì)定義所有細(xì)節(jié),而是從小開始,定義重要功能,盡量實現(xiàn),接受客戶反響,進(jìn)入下一階段,并重復(fù)上述過程,直到獲得最終產(chǎn)品。每一螺旋〔開發(fā)階段〕包括5個步驟:①確定目標(biāo),選擇方案和限制條件。②對方案風(fēng)險進(jìn)行評估,并能解決風(fēng)險。③進(jìn)行本階段的開發(fā)和測試。④方案下一階段。⑤確定進(jìn)入下階段的方法。優(yōu)點:嚴(yán)格的全過程風(fēng)險管理;強(qiáng)調(diào)各開發(fā)階段的質(zhì)量;提供時機(jī)評估工程是否有價值繼續(xù)下去。圖1-9螺旋開發(fā)模式詳細(xì)設(shè)計風(fēng)險分析評估方案累計成本提交線制定計劃原型1原型2原型3可運(yùn)行原型風(fēng)險分析風(fēng)險分析需求計劃開發(fā)計劃集成與測試軟件需求軟件產(chǎn)品設(shè)計需求確定設(shè)計確定實現(xiàn)編碼單元測試集成測試驗收測試階段開發(fā)模型圖1-10軟件分階段開發(fā)示意圖增量和迭代模型增量開發(fā)迭代開發(fā)圖1-11軟件分階段增量和迭代示意圖小結(jié)1、對于軟件缺陷的精確定義,通常有以下5條描述: 軟件未到達(dá)產(chǎn)品說明書的功能 軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤 軟件功能超出產(chǎn)品說明書指明范圍 軟件未到達(dá)產(chǎn)品說明書雖未指出但應(yīng)到達(dá)的目標(biāo) 軟件測試員認(rèn)為難以理解、不易使用、運(yùn)行速度緩慢、或者最終用戶認(rèn)為不好2、軟件缺陷第一大原因就是軟件產(chǎn)品規(guī)格說明書,第二大原因是軟件設(shè)計,第三個原因才是編寫代碼和其它原因;前兩個原因至少占了80%以上。3、軟件測試的定義:軟件測試是貫穿整個軟件開發(fā)生命周期、對軟件產(chǎn)品〔包括階段性產(chǎn)品〕進(jìn)行驗證和確認(rèn)的活動過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題——與用戶需求、預(yù)先定義的不一致性。4、軟件測試要經(jīng)過單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試和驗收測試?;貞涇浖|(zhì)量就是客戶的滿意度軟件缺陷(Bug)是什么軟件測試的根本方法 -白盒/黑盒,靜態(tài)/動態(tài),自動化/手工,…軟件測試的分類和階段 -單元、集成、系統(tǒng)〔性能、適用性、兼容性…〕、驗收測試軟件測試的工作范疇 -策略、方案、設(shè)計、執(zhí)行、報告、評估…回憶軟件開發(fā)的模型軟件質(zhì)量就是客戶的滿意度軟件缺陷(Bug)是什么軟件測試的根本方法 -白盒/黑盒,靜態(tài)/動態(tài),自動化/手工,…軟件測試的分類和階段 -單元、集成、系統(tǒng)〔性能、適用性、兼容性…〕、驗收測試1.4軟件測試過程1.4.1測試策略1.4.2制定測試方案1.4.3測試執(zhí)行過程1.4.4測試過程管理理念1、測試策略的概念測試策略通常是描述測試工程的總體方法和目標(biāo)。描述目前在進(jìn)行哪一階段的測試〔如單元測試、集成測試、系統(tǒng)測試〕以及每個階段內(nèi)進(jìn)行的測試種類〔如功能測試、性能測試、壓力測試等〕,以確定合理的測試方案使得測試更有效。2、影響測試策略的因素測試完成的標(biāo)準(zhǔn)標(biāo)準(zhǔn)的上下對策略確定有著重要的影響。比方該軟件的應(yīng)該用場合為軍用,這將對軟件的可靠性、平安性要求非常高,但如果是用于小型商場的收費(fèi)系統(tǒng)由于是內(nèi)部使用,主要考慮其計算的準(zhǔn)確與精度及復(fù)雜統(tǒng)計與報表生成等方面準(zhǔn)確性與易用性。資源狀況 參與測試的人、測試中所需要的軟件平臺〔如操作系統(tǒng)甚至?xí)婕暗降谌降囊恍?yīng)用軟件〕及測試可能用到的相關(guān)硬件設(shè)備〔如計算機(jī),網(wǎng)絡(luò)硬件其它外設(shè)等〕3、制定測試策略全面細(xì)致地了解產(chǎn)品的工程信息:應(yīng)用領(lǐng)域,測試范圍,市場需求,產(chǎn)品的特點和主要功能,技術(shù)架構(gòu)基于模塊、功能、整體、系統(tǒng)、版本、壓力、性能、配置和安裝等各個因素對產(chǎn)品的影響,公正客觀地開展測試方案根據(jù)程序的重要性和一旦發(fā)生故障將造成的損失,來確定它的測試等級和測試重點認(rèn)真研究測試策略,以便能使用盡可能少的有效測試用例,發(fā)現(xiàn)盡可能多的程序錯誤,因為一次完整的軟件測試過后,如果程序中遺漏的錯誤過多并且很嚴(yán)重,那么說明本次測試是失敗的,是缺乏的;而測試缺乏意味著讓用戶承擔(dān)隱藏錯誤帶來的危險.同時反過來說,如果過度測試,那么又會浪費(fèi)許多珍貴的資源.找到一個最正確平衡點。通過/失敗的標(biāo)準(zhǔn)單個的測試通過/失敗
測試用例全部產(chǎn)品測試通過/失敗
每個階段的通過/失敗階段通過/失敗的標(biāo)準(zhǔn)
項目經(jīng)理和測試組長已經(jīng)全部按計劃到位?所有相關(guān)的信息已經(jīng)傳達(dá)到QA?QA.開始了測試設(shè)計?需求階段設(shè)計審查所有設(shè)計中及文檔中的問題都已經(jīng)被解決?技術(shù)設(shè)計和測試設(shè)計已經(jīng)結(jié)束?最高優(yōu)先級的功能要求已經(jīng)實現(xiàn)?新功能已經(jīng)實現(xiàn)?所有的功能是按照設(shè)計來實現(xiàn)的?代碼完成?功能驗證確認(rèn)測試回歸測試完成與否?是不是完全按測試計劃完成了所有的測試?沒有嚴(yán)重的缺陷?達(dá)到產(chǎn)品發(fā)布的標(biāo)準(zhǔn)?測試環(huán)境的檢查?所有嚴(yán)重問題是不是都已測出?功能測試,壓力測試,安全測試,兼容性測試,易用性測試是否都已完成?有沒有阻礙產(chǎn)品發(fā)布的缺陷?系統(tǒng)測試測試方案內(nèi)容構(gòu)成測試方案制定的第一步就是將軟件分解較小而且相對獨立的功能模塊,寫成測試需求。測試需求有很多分類方法,最普通的一種就是按照功能分類:測試需求是測試設(shè)計和開發(fā)測試用例的根底,分解功能模塊可以更好地進(jìn)行設(shè)計;詳細(xì)的測試需求是用來衡量測試覆蓋率的重要指標(biāo);測試需求包括各種測試實際和開發(fā)以及所需資源。一個測試方案應(yīng)包括:產(chǎn)品根本情況、測試需求說明、測試策略和記錄、測試資源配置、方案表、問題跟蹤報告、測試方案的評審、結(jié)果等。制定測試方案一個測試方案應(yīng)包括:產(chǎn)品根本情況、測試需求說明、測試策略和記錄、測試資源配置、方案表、問題跟蹤報告、測試方案的評審、結(jié)果等。1、制定方案本階段的主要工作內(nèi)容——對需求規(guī)格說明書的仔細(xì)研究——將要測試的產(chǎn)品分解成可獨立測試的單元——為每個測試單元確定采用的測試技術(shù)——為測試的下一個階段及其活動制定方案制定方案包括:〔1〕概要測試方案〔2〕詳細(xì)測試方案制定測試方案〔續(xù)〕2、測試用例測試用例是軟件測試的依據(jù),包括測試工程、測試步驟、測試完成的標(biāo)準(zhǔn)。測試用例的本質(zhì)——從測試的角度對被測對象的功能和各種特性的細(xì)化和展開。測試用例的好處——保證測試功能不被遺漏,也不被重復(fù)測試——合理安排測試人員——使得軟件測試不依賴于個人制定測試方案〔續(xù)〕3、軟件測試報告軟件測試報告是軟件測試過程中最重要的文檔,它的內(nèi)容包括:記錄問題發(fā)生的環(huán)境——如:各種資源的配置情況記錄問題的再現(xiàn)步驟記錄問題性質(zhì)的說明記錄問題的處理進(jìn)程——問題處理進(jìn)程從一定角度上反映測試的進(jìn)程和被測軟件的質(zhì)量狀況以及改善過程。測試方案標(biāo)準(zhǔn)格式-116componentsofTestPlan(IEEE,1983)Testplanidentifier〔測試方案標(biāo)識)Instruction(引言〕TestItems〔定義或主題詞)Featurestobetested〔需要被測試的功能)Featuresnottobetested(無需被測試的功能)Approach(方法和途徑〕Itemspass/failcriteria〔測試通過、失敗的標(biāo)準(zhǔn))Suspensioncriteriaandresumptionrequirements〔延遲的標(biāo)準(zhǔn)和再恢復(fù)的要求)Testdeliverables(測試交付的內(nèi)容)TestingTasks(測試任務(wù)16componentsofTestPlan(IEEE,1983)Environmentalneeds〔必備的環(huán)境)Responsibilities(職責(zé))Staffingandtrainingneeds(人員和必需的培訓(xùn))Schedule(時間進(jìn)度表)Riskandcontingencies(風(fēng)險和相關(guān)費(fèi)用〕Approvals〔批準(zhǔn))測試執(zhí)行過程1、測試執(zhí)行過程的三個階段〔1〕初測期——測試主要功能和關(guān)鍵的執(zhí)行路徑,排除主要障礙?!?〕細(xì)測期——依據(jù)測試方案和測試用例、測試用例,逐一測試大大小小的功能、方方面面的特性、性能、用戶界面、兼容性、可用性等等;預(yù)期可發(fā)現(xiàn)大量不同性質(zhì)、不同嚴(yán)重程度的錯誤和問題?!?〕回歸測試期——系統(tǒng)已到達(dá)穩(wěn)定,在一輪測試中發(fā)現(xiàn)的錯誤已十分有限;復(fù)查錯誤的糾正情況,確認(rèn)未引發(fā)任何新的錯誤時,終結(jié)回歸測試。測試執(zhí)行過程〔續(xù)〕初測期功能凍結(jié)代碼凍結(jié)回歸測試期細(xì)測期02040608010012014016012345678910111213141516171819出錯數(shù)時間圖1-15三個測試期階段圖示測試執(zhí)行過程〔續(xù)〕2、集成測試過程中的兩個重要里程碑在集成測試過程中的兩個重要的里程碑是功能凍結(jié)和代碼凍結(jié)確實定。這兩個里程碑界定出回歸測試期的起止界限。功能凍結(jié)(Function/FeatureFreeze)——經(jīng)過測試,符合設(shè)計要求,確認(rèn)系統(tǒng)功能和其他特性均不再做任何改變。代碼凍結(jié)(CodeFreeze)——理論上,在無錯誤時凍結(jié)程序代碼,但實際上,代碼凍結(jié)只標(biāo)志系統(tǒng)的當(dāng)前版本的質(zhì)量已到達(dá)預(yù)期的要求,凍結(jié)程序的源代碼,不再對其做任何修改。這個里程碑是設(shè)置在軟件通過最終回歸測試之后。1.4.4測試過程管理盡早測試全面測試全過程測試獨立的、迭代的測試1.5軟件質(zhì)量保證概要1.5.1軟件質(zhì)量保證1.5.2軟件能力成熟度模型1.5.3ISO9000標(biāo)準(zhǔn)簡介1.5.4建立軟件測試管理和評判體系軟件質(zhì)量保證〔SQA〕SQA概述SQA活動SQS與軟件測試的關(guān)系什么是SQA?軟件質(zhì)量保證是通過對軟件產(chǎn)品和活動有方案的進(jìn)行評審和審計來驗證軟件是否符合標(biāo)準(zhǔn)的系統(tǒng)工程活動.確保SQA活動要自始至有方案的進(jìn)行審查軟件產(chǎn)品和活動是否遵守適用的標(biāo)準(zhǔn)、規(guī)程和要求并得到客觀驗證。SQA的活動和結(jié)果要保證全員參與,溝通順暢。逐級解決不符合問題SQA活動提出軟件質(zhì)量需求確定開發(fā)方案階段審測試管理文擋化管理驗證產(chǎn)品與相應(yīng)文擋和標(biāo)準(zhǔn)一致建立測量機(jī)制記錄并生成報告SQA活動的影響因素知識結(jié)構(gòu):專業(yè)的技術(shù),例如質(zhì)量管理與控制知識、統(tǒng)計學(xué)知識等。經(jīng)驗依據(jù):如果沒有這些標(biāo)準(zhǔn),就無法準(zhǔn)確地判斷開發(fā)活動中的問題,容易引發(fā)不必要的爭論,因此組織應(yīng)當(dāng)建立文檔化的開發(fā)標(biāo)準(zhǔn)和規(guī)程。全員參與:全員參與至關(guān)重要,高層管理者必須重視軟件質(zhì)量保證活動。把握重點:一定要抓住問題的重點與本質(zhì),盡可能防止陷入對細(xì)節(jié)的爭論之中。SQA與軟件測試的關(guān)系
SQA是管理工作、審查對象是流程、強(qiáng)調(diào)以預(yù)防為主測試是技術(shù)工作、測試對象是產(chǎn)品、主要是以事后檢查SQA指導(dǎo)測試、監(jiān)控測試測試為SQA提供依據(jù)軟件能力成熟度模型軟件能力成熟度模型(CMM,CapabilityMaturityModel):——是軟件行業(yè)標(biāo)準(zhǔn)模型,用來定義和評價軟件企業(yè)開發(fā)過程的成熟度,提供如何做才能夠提高軟件質(zhì)量的指導(dǎo)。CMM的根本原理:——CMM將軟件組織的過程能力成熟度分為5個級別,每一個級別定義一組過程能力目標(biāo),并描述要到達(dá)這些目標(biāo)應(yīng)該采取的各種實踐活動。CMM的主要作用:——提供了一個軟件過程改進(jìn)的框架。根據(jù)CMM模型,軟件開發(fā)者〔機(jī)構(gòu)或組織〕能夠大幅度的提高按方案、高效率、低本錢的提交有質(zhì)量保證的軟件產(chǎn)品的能力。軟件能力成熟度模型〔續(xù)〕1、CMM的根本過程概念過程:為到達(dá)目的而執(zhí)行的所有步驟的系列。軟件過程:開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一組活動、方法、實踐和改革。軟件過程結(jié)構(gòu):對組織標(biāo)準(zhǔn)軟件過程的一種高級別描述,它描述組織標(biāo)準(zhǔn)軟件過程內(nèi)部的過程元素之間的順序、接口、內(nèi)部依賴等關(guān)系,以及與外部過程之間的接口和依賴關(guān)系。軟件過程元素:用于描述軟件過程的根本元素,每一個過程元素包含一組定義的、有限的、封閉的相關(guān)任務(wù)。軟件過程定義:CMM中過程定義的根本概念是定義組織的標(biāo)準(zhǔn)軟件過程。軟件能力成熟度模型〔續(xù)〕2、CMM的5個分級標(biāo)準(zhǔn)優(yōu)化級(5)已管理級(4)已定義級(3)可重復(fù)級(2)初始級(1)標(biāo)準(zhǔn)一致的過程不斷改進(jìn)過程可預(yù)測的過程有紀(jì)律的過程圖1-16軟件過程成熟度的5個等級軟件能力成熟度模型〔續(xù)〕CMM的分級結(jié)構(gòu)和其主要特征:初始級:其特點是軟件過程無秩序,有時甚至是混亂的??芍貜?fù)級:已建立了根本的工程管理過程,可用于對本錢、進(jìn)度和功能特性進(jìn)行跟蹤。已定義級:用于管理的、工程的軟件過程均已實現(xiàn)文檔化、標(biāo)準(zhǔn)化,并形成了整個軟件組織的標(biāo)準(zhǔn)軟件過程。管理級:軟件過程和產(chǎn)品質(zhì)量有詳細(xì)的度量標(biāo)準(zhǔn),軟件過程和產(chǎn)品質(zhì)量得到了定量的認(rèn)證和控制。優(yōu)化級:通過對來自過程、新概念和新技術(shù)等方面各種有用信息的定量分析,能夠不斷地、持續(xù)性地對過程進(jìn)行改進(jìn)。軟件能力成熟度模型〔續(xù)〕除第一級外,CMM的每一級是按照完全相同的內(nèi)部結(jié)構(gòu)構(gòu)成的。成熟度等級為頂層,不同的成熟度等級反映了軟件組織的軟件過程能力和該組織可能實現(xiàn)預(yù)期的程度。在每個成熟度級別中〔第1級除外〕,包含了實現(xiàn)這一級目標(biāo)的假設(shè)干關(guān)鍵過程域(KPA)。每一級的每個關(guān)鍵過程域進(jìn)一步包含假設(shè)干關(guān)鍵實踐(KeyPractice,KP)。無論哪一個KPA,其實踐都統(tǒng)一按5個公共特性進(jìn)行組織,即每一個KPA都包含5類KP,使整個軟件過程改進(jìn)工作自上而下形成一種有規(guī)律的步驟。軟件能力成熟度模型〔續(xù)〕關(guān)鍵過程域:是指一系列相互關(guān)聯(lián)的操作活動,這些活動反映了一個軟件組織改進(jìn)軟件過程時必須集中力量改進(jìn)的幾個方面。目標(biāo):是指某個關(guān)鍵過程域中的關(guān)鍵實踐,它表示每一個關(guān)鍵過程域的范圍、邊界和意圖。公共特性:為了完成關(guān)鍵過程域中的實踐活動,CMM將其活動分為具有公共特性的5個局部,包括執(zhí)行約定、執(zhí)行能力、實施活動、度量和分析以及驗收實施。這些局部的特性有效地指定了一個關(guān)鍵區(qū)域的實現(xiàn)范圍、結(jié)構(gòu)要求和實施內(nèi)容。關(guān)鍵實踐:關(guān)鍵實踐就是一些主要實踐活動。每個關(guān)鍵過程域最終由關(guān)鍵實踐所組成,通過實現(xiàn)這些關(guān)鍵實踐來到達(dá)關(guān)鍵過程域的目標(biāo)。ISO9000標(biāo)準(zhǔn)簡介ISO9000標(biāo)準(zhǔn)——是為制造行業(yè)制定的質(zhì)量管理和質(zhì)量評判的一系列標(biāo)準(zhǔn)——定義了一套根本達(dá)標(biāo)的做法,有助于企業(yè)能夠一致地交付符合客戶質(zhì)量要求的產(chǎn)品〔或效勞〕ISO9000標(biāo)準(zhǔn)的目標(biāo)——在于開發(fā)過程,而不是產(chǎn)品——關(guān)心的是進(jìn)行工作的組織方式,而不是工作成果ISO9000只決定過程的要求是什么,而不管如何到達(dá)。即:ISO9000指出要做什么,但不指出怎樣做。ISO9000標(biāo)準(zhǔn)簡介〔續(xù)〕1、ISO9000標(biāo)準(zhǔn)的構(gòu)成2000版的ISO9000系列標(biāo)準(zhǔn)主要由以下標(biāo)準(zhǔn)構(gòu)成:ISO9000:2000?質(zhì)量管理體系:根底和術(shù)語?ISO9000:2000?質(zhì)量管理體系:要求?ISO9000:2000?質(zhì)量管理體系:業(yè)績改進(jìn)指南?2、ISO9000標(biāo)準(zhǔn)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025陜西建筑安全員知識題庫及答案
- 2025年重慶市安全員-B證(項目經(jīng)理)考試題庫
- 2025年江西省建筑安全員《A證》考試題庫
- 【大學(xué)課件】工程倫理
- 【大學(xué)課件】工程建設(shè)監(jiān)理概論
- 《答謝中書書》課件1
- 物業(yè)客服培訓(xùn)課件
- 單位管理制度展示選集人員管理十篇
- 2025年中國航空貨物運(yùn)輸保險行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報告
- 單位管理制度收錄大合集【職員管理篇】
- 人教版四年級上冊豎式計算300題及答案
- 鄉(xiāng)鎮(zhèn)權(quán)責(zé)清單
- 湖北省部分學(xué)校2023-2024學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(解析版)
- 《活著》讀書分享課件
- 醫(yī)院醫(yī)療糾紛防范與處理實施辦法(試行)
- 《稀土礦石選礦》課件
- 家具行業(yè)招商方案
- 七年級第一學(xué)期地理知識點復(fù)習(xí)提綱(滬教版)
- 2023-2024年全球及中國藍(lán)莓產(chǎn)業(yè)研究報告
- 視頻監(jiān)控系統(tǒng)用戶操作手冊
- 關(guān)于化工企業(yè)崗位人才及職業(yè)能力需求的調(diào)研
評論
0/150
提交評論