《軟件測試技術(shù)與測試實訓(xùn)教程講座2第2章軟件測試的質(zhì)量要求v12學(xué)時》由會員分享,可在線閱讀,更多相關(guān)《軟件測試技術(shù)與測試實訓(xùn)教程講座2第2章軟件測試的質(zhì)量要求v12學(xué)時(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,200,6,年,5,月,1,日,中科院計算所培訓(xùn)中心,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,軟件測試技術(shù)與測試實訓(xùn)教程,黎連業(yè) 王華 李龍 黎照,北京:機械工業(yè)出版社,2012.05,第,2,講:,第,2,章 軟件測試的質(zhì)量要求,軟件測試是軟件工程的重要組成部分,測試工作的質(zhì)量直接影響軟件產(chǎn)品的生命力。軟件測試質(zhì)量的重點是測試成熟度模型、質(zhì)量要求和測試流程細(xì)則。本章重點討
2、論以下內(nèi)容:,軟件測試成熟度模型,;,軟件測試的質(zhì)量,;,軟件測試人員的職責(zé),軟件測試流程細(xì)則要求。,2,1,軟件測試成熟度模型,2,1,1,軟件測試成熟度模型,軟件測試成熟度模型有三個。這三個模型是:,TCMMTesting Capability Maturity Model,1996,年,,Testing Computer Software,會議上,Rodger,和,Susan Burgess,提出。,TSMTestability Support Model,1996,年,,David,Gelperin,和,Aldin,Hayashi,提出。,TMMTesting Maturity Mod
3、el,1996,年,,IIIene,Burnsein,等提出。,1,TCMM,軟件測試成熟度模型,TCMM,定義了,5,個級別,與,CMM,的級別設(shè)置完全一樣。,第一級:初始級;,第二級:可重復(fù)級;,第三級:已定義級;,第四級:受管理級;,第五級:優(yōu)化級。,2,TSM,軟件測試成熟度模型,TSM,有三個級別分別是:,第一級:弱(,Weak,)??蓽y性支持,很少測試問題被提及;,第二級:基本(,Basic,)??蓽y性支持,基本的測試問題被提及;,第三級:強(,strong,)。可測性支持,所有測試問題被提及。,TSM,定義了,6,個,KSA(Key,Support Area),,這,6,個,KS
4、A,是:,測試友好的基礎(chǔ)構(gòu)架;,顧及測試的項目計劃;,測試友好的產(chǎn)品信息;,顧及測試的軟件設(shè)計;,測試件;,測試環(huán)境設(shè)計。,TSM,從測試組織的外部而非內(nèi)部本身來考察測試的成熟性,這是他區(qū)別于另外兩個測試模型的地方。,3,TMM,軟件測試成熟度模型,TMM,(,Testing Maturity Model,)定義了,5,個級別。,第一級 初始級;,第二級 定義級;,第三級 集成級;,第四級 管理和測量級;,第五級 優(yōu)化預(yù)防缺陷和質(zhì)量控制級。,這三個模型是各有側(cè)重的關(guān)于測試的成熟度模型。而當(dāng)前流行的是,TMM,。,2,1,2 TMM,軟件測試成熟度模型簡要介紹,1,TMM,模型框架,TMM,定義
5、了五個成熟度等級,每個等級代表著一個成熟的測試過程。,TMM,模型框架如圖,2-1,所示。,2,每個等級的成熟度目標(biāo),每個等級的成熟度目標(biāo)如圖,2-2,所示。,初始級:,測試是一個混亂無序的過程,幾乎沒有定義并且與調(diào)試沒有區(qū)別。軟件開發(fā)過程中缺乏測試資源,工具以及訓(xùn)練有素的測試人員。測試是代碼完成后以隨意方式進行的。測試與調(diào)試相互交錯以找出軟件的缺陷。測試的目標(biāo)是表明軟件奏效。發(fā)行的軟件產(chǎn)品沒有質(zhì)量保證,缺乏資源、工具和合適的工作人員。,定義級:,TMM,的定義級中,測試己具備基本的測試技術(shù)和方法,軟件的測試與調(diào)試己經(jīng)明確地被區(qū)分開。,制訂測試與調(diào)試目標(biāo),啟動測試計劃過程,制度化基本的測試技術(shù)
6、和方法,集成級:,軟件測試的過程及質(zhì)量對軟件產(chǎn)品質(zhì)量有直接影響。由于測試往往是在時間緊,壓力大的情況下所完成的一系列復(fù)雜的活動,因此應(yīng)由訓(xùn)練有素的專業(yè)人員組成測試組。測試組要完成與測試有關(guān)的多種活動,包括負(fù)責(zé)制訂測試計劃,實施測試執(zhí)行,記錄測試結(jié)果,制訂與測試有關(guān)的標(biāo)準(zhǔn)和測試度量,建立鍘試數(shù)據(jù)庫,測試重用,測試跟蹤以及測試評價等。,制訂技術(shù)培訓(xùn)計劃,軟件生命周期測試,控制和監(jiān)視測試過程,管理和測量級:,在管理和測量級,測試活動是完全被管理的;有策劃、有指導(dǎo)、人員具備技能、有組織、可控制。管理層、測試者們定義、收集、分析和使用測試相關(guān)的度量數(shù)據(jù)。測試活動的定義正式擴展到整個生命周期中的審查活動,
7、同行評審和審查作為基于實現(xiàn)的測試活動的補充,它們被認(rèn)為是質(zhì)量控制程序,用以移除軟件產(chǎn)品的缺陷。,管理和測量級有,3,個要實現(xiàn)的成熟度目標(biāo),:,(1),建立組織范圍內(nèi)的評審程序,(2),建立測試過程的測量程序,(3),軟件質(zhì)量評價,優(yōu)化預(yù)防缺陷和質(zhì)量控制級:,測試首先要保證軟件產(chǎn)品滿足規(guī)格說明書、可靠,并對它的可靠性有一種確定的信心。其次,測試要處理缺陷和預(yù)防缺陷,這點通過收集和分析缺陷數(shù)據(jù)來實現(xiàn)。由于本級的測試活動可重復(fù)、已管理、已定義和己測量的,因此軟件組織能夠優(yōu)化調(diào)整和持續(xù)改進測試過程。測試過程的管理為持續(xù)改進產(chǎn)品質(zhì)量和過程質(zhì)量提供指導(dǎo),并提供必要的基礎(chǔ)設(shè)施。優(yōu)化,預(yù)防缺陷和質(zhì)量控制級有,
8、3,個要實現(xiàn)的成熟度目標(biāo),:,(,1,)應(yīng)用過程數(shù)據(jù)預(yù)防缺陷。這時的軟件組織能夠記錄軟件缺陷,分析缺陷模式,識別錯誤根源,制訂防止缺陷再次發(fā)生的計劃,提供跟蹤這種括動的辦法,并將這些活動貫穿于全組織的各個項目中。,(,2,)質(zhì)量控制在本級,軟件組織通過采用統(tǒng)計采樣技術(shù),測量組織的自信度,測量用戶對組織的信賴度以及設(shè)定軟件可靠性目標(biāo)來推進測試過程。,(3),優(yōu)化測試過程在測試成熟度的最高級,己能夠量化測試過程。,2,2,軟件測試的質(zhì)量,2.2.1,軟件質(zhì)量屬性,軟件質(zhì)量是許多質(zhì)量屬性的綜合體現(xiàn),人們通過改善軟件的各種質(zhì)量屬性而提高軟件的質(zhì)量。軟件的質(zhì)量屬性很多,軟件工程教科書以及,CMM,和,I
9、SO9001,都作了明確的介紹如正確性、精確性,健壯性、可靠性、容錯性、性能、易用性、安全性、可擴展性、可復(fù)用性、兼容性、可移植性、可測試性、可維護性、靈活性等。,軟件質(zhì)量屬性可分為兩大類:“功能性”與“非功能性”。,1.,功能性質(zhì)量因素,2.,非功能性質(zhì)量因素,2.2.2,軟件測試的質(zhì)量要求,軟件測試的質(zhì)量要求要重點注意如下,9,大點內(nèi)容。,1.,測試的產(chǎn)品要有產(chǎn)品描述,2.,功能,3.,可靠性,4.,易用性,5.,效率,6.,可維護性,7.,可移植性,8.,用戶文檔,9.,程序,2.2.3,軟件測試的質(zhì)量控制,軟件測試的質(zhì)量控制主要有制定測試計劃、測試說明書、測試用例,(,測試腳本,),、
10、測試數(shù)據(jù)、測試執(zhí)行、提交階段測試報告、缺陷報告、技術(shù)評審。要想成功完成軟件測試這項工作,必須首先建立測試計劃。測試包括劃分每個測試階段和測試重點,明確職責(zé),指明軟件質(zhì)量控制計劃中規(guī)定的每一個任務(wù)的負(fù)責(zé)單位或成員的責(zé)任。,設(shè)計測試用例,指導(dǎo)整個測試過程。對測試的各階段所需要的時間、人力及其它資源進行預(yù)估,測試范圍能分解應(yīng)盡量分解,針對每個測試任務(wù)仔細(xì)分析到位,盡量做到客觀、準(zhǔn)確、留有余地。,制定測試項目的輸入、輸出和質(zhì)量標(biāo)準(zhǔn),并和有關(guān)方面達成一致。建立變化處理的流程規(guī)則,識別出在整個測試階段中哪些是內(nèi)在的、不可避免的變化因素,如何進行控制。要重點檢查,:,(,1,)產(chǎn)品包的完整性,;,(,2,)
11、源代碼與執(zhí)行程序版本一致性,;,(,3,)使用文檔與執(zhí)行程序的一致性,;,(,4,)介質(zhì)的正確性。,做好軟件質(zhì)量的控制,就要加強軟件生命期各個階段的軟件質(zhì)量保證,需要做好如下幾方面的軟件管理工作:,(,1,)在軟件開發(fā)過程中,確保所開發(fā)軟件的質(zhì)量。與質(zhì)量有關(guān)的人員都要規(guī)定其職責(zé)和權(quán)限,使責(zé)任落實到人,保證產(chǎn)品質(zhì)量真正得到控制。,(,2,)組織技術(shù)評審:在軟件開發(fā)的每個階段結(jié)束后,都要組織評審,對質(zhì)量進行評價,可以及早地發(fā)現(xiàn)軟件開發(fā)過程中的可能引起軟件質(zhì)量問題的潛在錯誤。,(,3,)加強軟件測試:測試是質(zhì)量保證的重要手段。,(,4,)遵循軟件工程標(biāo)準(zhǔn)和工程規(guī)范,軟件規(guī)范則成為軟件技術(shù)評審的一項重
12、要內(nèi)容。,2,3,軟件測試人員的職責(zé),軟件測試人員的職責(zé)主要有,:,軟件測試人員的職責(zé)要求、軟件測試人員應(yīng)承擔(dān)的責(zé)任、測試人員要編寫測試需求、測試人員要編寫測試用例、測試人員實施測試、測試人員對單元測試的目標(biāo)、測試人員對集成測試的目標(biāo)、測試人員對系統(tǒng)測試的目標(biāo)。最終目的是確保交給用戶的軟件的功能符合用戶的需求,把盡可能多的問題在軟件交給用戶之前發(fā)現(xiàn)并改正。,2.3.1,軟件測試人員的職責(zé)要求,軟件測試人員的職責(zé)要求要重點注意如下,15,點內(nèi)容,:,測試人員應(yīng)清楚自己的工作職責(zé),并執(zhí)行其職責(zé)。,測試人員應(yīng)遵守公司制定的相關(guān)政策、流程文件中所規(guī)定的要求,按照公司的要求來架設(shè)測試。,測試人員有責(zé)任提
13、供好的建議,通過各種措施降低成本、簡化流程、提高產(chǎn)品質(zhì)量。,測試人員應(yīng)對測試數(shù)據(jù)進行監(jiān)控和分析,對于缺陷應(yīng)查明原因并提出對應(yīng)措施,確保軟件完成它所承諾的或公布的功能。,認(rèn)真填寫原始測試記錄,合理處理測試數(shù)據(jù),并及時上報分析結(jié)果,對自己所做的測試工作質(zhì)量負(fù)責(zé);,測試人員要對測試結(jié)果分析,通過測試,掌握軟件具有的能力、缺陷、局限等,對軟件質(zhì)量給出評價性的結(jié)論與意見。整理測試文檔,填寫軟件測試報告,編寫測試總結(jié),為軟件開發(fā)成果提供總結(jié)性意見。,參與項目的需求分析工作,進行系統(tǒng)性的測試分析,首要職責(zé)是找錯誤,找出潛在的錯誤,盡量想到所有可能出現(xiàn)的情況,不應(yīng)默認(rèn)假定不會發(fā)現(xiàn)錯誤。,負(fù)責(zé)項目的規(guī)范驗證、正
14、確性、可用性、邊界條件、性能、安全性、兼容性、軟件配置;,在執(zhí)行任何具體測試任務(wù)前,都要在項目組內(nèi)對于責(zé)任和目標(biāo)達成共識,以免帶來后續(xù)工作的相互推諉。程序員是最經(jīng)常打交道的客戶是程序員,為了便于程序員報告程序的錯誤,盡量提供良好的軟件問題報告,以便程序員可以更快的修復(fù)軟件錯誤。,在編寫自動化測試腳本前,首先要確定哪些用例適合做自動化測試,因為自化測試不像人工測試,它不能那么智能,也沒有思維能力。,編制項目相應(yīng)的測試規(guī)范和測試用例,按照測試流程、計劃以及對產(chǎn)品特性的把握,溝通確認(rèn)測試的范圍、重點,考慮邏輯、數(shù)據(jù)完整性等要求,詳細(xì)規(guī)定測試的要求,策劃、編寫測試用例,根據(jù)測試反饋信息,對于沒有考慮到
15、的新問題,不斷添加測試用例。,從整體的測試角度可以分為單元測試、集成測試、系統(tǒng)測試、確認(rèn)測試。,測試人員應(yīng)當(dāng)徹底檢查每個測試的執(zhí)行結(jié)果。,測試人員要了解“用戶”如何使用軟件,并且確定“用戶”使用的時候不會遇到重要的,Bug,。,確認(rèn)軟件達到某種具體標(biāo)準(zhǔn),承諾完成測試的軟件沒有質(zhì)量問題。,2.3.2,軟件測試人員對發(fā)布軟件產(chǎn)品應(yīng)承擔(dān)的責(zé)任,經(jīng)過測試人員測試過的軟件產(chǎn)品,經(jīng)過客戶使用后,又發(fā)現(xiàn)了問題,原則說軟件測試人員應(yīng)承擔(dān)的責(zé)任,為什么,?,應(yīng)該承認(rèn)所有的測試都不可能時徹底的。但是,問題不是這么簡單,首先,確認(rèn)發(fā)現(xiàn)問題的原因。,如果發(fā)現(xiàn)的問題不是,系統(tǒng)需求說明書,、,系統(tǒng)概要設(shè)計說明書,、,系統(tǒng)
16、詳細(xì)設(shè)計說明書,中所規(guī)定的范圍要求,測試人員不應(yīng)承擔(dān)的責(zé)任,;,如果是規(guī)定的范圍要求,測試人員應(yīng)承擔(dān)的責(zé)任。,如果是由于用戶誤操作而造成的問題,由于誤操作,用戶在錄入數(shù)據(jù)時不成功,造成了用戶錄入的數(shù)據(jù)丟失,這屬于在數(shù)據(jù)庫設(shè)計上的數(shù)據(jù)安全保護問題,與整體的系統(tǒng)框架設(shè)計有關(guān)系,在進行測試用例設(shè)計時沒有考慮到、測試人員的疏忽或過錯導(dǎo)致該問題的出現(xiàn),評估人員負(fù),50%,的責(zé)任,開發(fā)人員負(fù),15%,的責(zé)任,測試人員應(yīng)承擔(dān),35%,的責(zé)任。,如果是由于測試遺漏而造成的問題,寫測試計劃的人要負(fù),70%,責(zé)任,測試人員要負(fù),30%,的責(zé)任。,如果是發(fā)現(xiàn)了,Bug,,卻不上報,Bug,,導(dǎo)致,Bug,最終在客戶那里發(fā)現(xiàn),測試人員要負(fù)全部責(zé)任。,軟件整個測試過程是規(guī)范的,有測試計劃,測試用例設(shè)計(,Checklist,);測試計劃、測試用例經(jīng)由,PM,(產(chǎn)品經(jīng)理)和,RD,(開發(fā)人員)認(rèn)同,要說責(zé)任,整個測試團隊都有責(zé)任。測試人員要進行通過不斷的總結(jié)和提高保證將來的工作中能做的更好。,2.3.3,測試人員要編寫測試需求,測試需求必須是可觀測、可測評的行為。在每個測試用例與測試需求之間不存在一對一的關(guān)系,測