軟件工程實(shí)踐_第1頁(yè)
軟件工程實(shí)踐_第2頁(yè)
軟件工程實(shí)踐_第3頁(yè)
軟件工程實(shí)踐_第4頁(yè)
軟件工程實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程實(shí)踐有人幫你是幸運(yùn),學(xué)會(huì)心懷歡喜與感恩。無人幫你是命運(yùn),學(xué)會(huì)坦然面對(duì)與承擔(dān)。人生的必修課是接受無常,人生的選修課是放下執(zhí)著。當(dāng)生命陷落的時(shí)候請(qǐng)記得,你必須跌到你從未經(jīng)歷過的谷底,才能站上你從未到達(dá)過的高峰。辛勤的蜜蜂永沒有時(shí)間的悲哀?!既R克黑天鵝頸部的羽毛是純黑的還油亮油亮的;背部的每一片羽毛中間是純黑,周圍顏色變淺,片片油亮的羽毛像魚鱗似的覆蓋著,尾部的羽毛翻著小波浪像禮服的裙邊,向出席晚宴的女明星。因?yàn)檫@件黑色禮服讓黑天鵝顯得既高貴又神秘。以澹泊明志,以擔(dān)當(dāng)辦事,以智能除惑,以無求交友,以勤奮學(xué)習(xí),以慎言防口,以勤儉生活,以宏愿立志,以熱心做人!

發(fā)生問題不要埋怨客觀,還要多從主觀上找原因。埋怨別人不了解自己的人,首先自己就不了解別人。埋怨組織領(lǐng)導(dǎo)不相信自己的人,首先是自己不相信組織領(lǐng)導(dǎo)。

看財(cái)物應(yīng)象流水,取之有道,用之有度,不做金錢奴隸;做人應(yīng)象稱桿,追求正直,超越平庸,憑良心處世!

做人切記三不要:一不要拿自己的錯(cuò)誤來懲罰自己;二不要拿別人的錯(cuò)誤來懲罰自己;三不要拿自己的錯(cuò)誤來懲罰別人!

做人牢記三點(diǎn):一、拿望遠(yuǎn)鏡看別人,拿放大鏡看自己;二、接受表?yè)P(yáng)要低下頭來,接受批評(píng)要抬起頭來;三、不要把善良看成愚蠢,不要把謙虛看成懦弱!帥氣不輕浮,平常不霸氣,善辯不糾纏,能言不多事,謹(jǐn)慎不畏縮,勇敢不粗魯,細(xì)致不小器,精明不計(jì)較,重情不自擾,失戀不失志!

做事失敗可以重來,做人失敗難以挽回。做事忌隨心所欲,做人須嚴(yán)謹(jǐn)慎重。一個(gè)人的智慧是他的朋友,一個(gè)人的謬誤是他的敵人。

活潑不放蕩,熱情不沖動(dòng),開放不瘋狂,好學(xué)不嫉妒,好強(qiáng)不逞強(qiáng),聰明不傲慢,出色不張揚(yáng)!

骨宜剛,氣宜柔,志宜大,膽宜小,心宜虛,言宜實(shí),慧宜增,福宜惜。做人要以禮義交際,以廉恥律己!

做事先做人,這是處事原則;立業(yè)先立德,這是做人原則。做事不做人,永遠(yuǎn)做不成事;做人不立德,永遠(yuǎn)做不成人!

自尊、自知、自制是做人最高境界。尊重自己、尊重別人、保持尊嚴(yán),對(duì)自己的行為負(fù)責(zé)是做人的基本素養(yǎng)!軟件工程實(shí)踐軟件工程實(shí)踐有人幫你是幸運(yùn),學(xué)會(huì)心懷歡喜與感恩。無人幫你是命運(yùn),學(xué)會(huì)坦然面對(duì)與承擔(dān)。人生的必修課是接受無常,人生的選修課是放下執(zhí)著。當(dāng)生命陷落的時(shí)候請(qǐng)記得,你必須跌到你從未經(jīng)歷過的谷底,才能站上你從未到達(dá)過的高峰。辛勤的蜜蜂永沒有時(shí)間的悲哀?!既R克黑天鵝頸部的羽毛是純黑的還油亮油亮的;背部的每一片羽毛中間是純黑,周圍顏色變淺,片片油亮的羽毛像魚鱗似的覆蓋著,尾部的羽毛翻著小波浪像禮服的裙邊,向出席晚宴的女明星。因?yàn)檫@件黑色禮服讓黑天鵝顯得既高貴又神秘。以澹泊明志,以擔(dān)當(dāng)辦事,以智能除惑,以無求交友,以勤奮學(xué)習(xí),以慎言防口,以勤儉生活,以宏愿立志,以熱心做人!

發(fā)生問題不要埋怨客觀,還要多從主觀上找原因。埋怨別人不了解自己的人,首先自己就不了解別人。埋怨組織領(lǐng)導(dǎo)不相信自己的人,首先是自己不相信組織領(lǐng)導(dǎo)。

看財(cái)物應(yīng)象流水,取之有道,用之有度,不做金錢奴隸;做人應(yīng)象稱桿,追求正直,超越平庸,憑良心處世!

做人切記三不要:一不要拿自己的錯(cuò)誤來懲罰自己;二不要拿別人的錯(cuò)誤來懲罰自己;三不要拿自己的錯(cuò)誤來懲罰別人!

做人牢記三點(diǎn):一、拿望遠(yuǎn)鏡看別人,拿放大鏡看自己;二、接受表?yè)P(yáng)要低下頭來,接受批評(píng)要抬起頭來;三、不要把善良看成愚蠢,不要把謙虛看成懦弱!帥氣不輕浮,平常不霸氣,善辯不糾纏,能言不多事,謹(jǐn)慎不畏縮,勇敢不粗魯,細(xì)致不小器,精明不計(jì)較,重情不自擾,失戀不失志!

做事失敗可以重來,做人失敗難以挽回。做事忌隨心所欲,做人須嚴(yán)謹(jǐn)慎重。一個(gè)人的智慧是他的朋友,一個(gè)人的謬誤是他的敵人。

活潑不放蕩,熱情不沖動(dòng),開放不瘋狂,好學(xué)不嫉妒,好強(qiáng)不逞強(qiáng),聰明不傲慢,出色不張揚(yáng)!

骨宜剛,氣宜柔,志宜大,膽宜小,心宜虛,言宜實(shí),慧宜增,福宜惜。做人要以禮義交際,以廉恥律己!

做事先做人,這是處事原則;立業(yè)先立德,這是做人原則。做事不做人,永遠(yuǎn)做不成事;做人不立德,永遠(yuǎn)做不成人!

自尊、自知、自制是做人最高境界。尊重自己、尊重別人、保持尊嚴(yán),對(duì)自己的行為負(fù)責(zé)是做人的基本素養(yǎng)!第八講軟件測(cè)試內(nèi)容和目的測(cè)試的目的和策略測(cè)試的活動(dòng)測(cè)試的產(chǎn)品測(cè)試的方法和度量要求測(cè)試用例構(gòu)造技術(shù)測(cè)試的目標(biāo)Myers測(cè)試是一個(gè)為了尋找錯(cuò)誤而運(yùn)行的過程一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例一個(gè)成功的測(cè)試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試IEEE由人工或自動(dòng)方法來執(zhí)行或評(píng)價(jià)系統(tǒng)或系統(tǒng)部件的過程,以驗(yàn)證它是否滿足規(guī)定的需求;或識(shí)別出期望的結(jié)果和實(shí)際結(jié)果之間有無差別。Myers軟件測(cè)試十原則程序員應(yīng)避免測(cè)試自己編制的程序測(cè)試用例的設(shè)計(jì)必須包括預(yù)期的輸出結(jié)果測(cè)試用例應(yīng)包括有效的和期望的輸入情況,也要包括無效的和不期望的輸入情況徹底檢查每個(gè)測(cè)試結(jié)果只檢查程序是否做了它應(yīng)該做的事僅僅完成了測(cè)試工作的一半,另一半則是要檢查程序是否做了它不該做的事避免不可重復(fù)的即興測(cè)試,保留全部測(cè)試用例一段程序中存在錯(cuò)誤的概率與在這段程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比測(cè)試是一項(xiàng)非常復(fù)雜、創(chuàng)造性的和需要高度智慧的挑戰(zhàn)性任務(wù)不要為了便于測(cè)試擅自修改程序測(cè)試工作必須有明確的目標(biāo)測(cè)試的原則(DAVIE)所有的測(cè)試都應(yīng)追溯到需求應(yīng)該在測(cè)試工作真正開始前的較長(zhǎng)時(shí)間就進(jìn)行測(cè)試計(jì)劃Pareto(20-80)原則應(yīng)用于軟件測(cè)試測(cè)試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!备F舉測(cè)試是不可能的為了達(dá)到最佳效果,應(yīng)該由獨(dú)立的第三方來構(gòu)造測(cè)試測(cè)試策略途徑測(cè)試開始于模塊層,然后延伸到整個(gè)基于計(jì)算機(jī)的系統(tǒng)集合中不同的測(cè)試技術(shù)適用于不同的時(shí)間點(diǎn)測(cè)試是由軟件的開發(fā)人員和(對(duì)大型系統(tǒng)來說)獨(dú)立的測(cè)試組來管理的測(cè)試和調(diào)試是不同的活動(dòng),但是調(diào)試必須能夠適應(yīng)任何的測(cè)試策略測(cè)試完成準(zhǔn)則資源耗盡采用的測(cè)試方法滿足某種測(cè)試充分性要求滿足覆蓋率等可度量的測(cè)試要求一段時(shí)期沒有發(fā)現(xiàn)問題且所有發(fā)現(xiàn)問題均已解決通過測(cè)試評(píng)估出軟件達(dá)到要求的可靠度測(cè)試發(fā)現(xiàn)頻率和趨勢(shì)達(dá)到預(yù)先計(jì)劃的限度之下(限度根據(jù)要求、經(jīng)驗(yàn)和歷史數(shù)據(jù)得到)在一段時(shí)期沒有出現(xiàn)等級(jí)高的問題測(cè)試概圖階段活動(dòng)單元集成合格性系統(tǒng)技術(shù)方法靜態(tài)測(cè)試靜態(tài)分析代碼審查動(dòng)態(tài)測(cè)試白盒測(cè)試白盒測(cè)試用例技術(shù)黑盒測(cè)試黑盒測(cè)試用例技術(shù)V模型系統(tǒng)需求軟件需求概要設(shè)計(jì)詳細(xì)設(shè)計(jì)單元測(cè)試集成測(cè)試編碼合格性測(cè)試系統(tǒng)測(cè)試詳細(xì)設(shè)計(jì)概要設(shè)計(jì)軟件需求系統(tǒng)需求軟件任務(wù)編譯后的單元測(cè)試后的單元集成的軟件測(cè)試后的軟件交付軟件驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證與確認(rèn)驗(yàn)證與確認(rèn)J.McDermid于1994年在“軟件工程師參考手冊(cè)”中提出測(cè)試活動(dòng)單元測(cè)試(UNIT)集成測(cè)試(INTERGRATION)合格性測(cè)試(QUALIFICATION)系統(tǒng)測(cè)試(SYSTEM)單元測(cè)試對(duì)軟件單元進(jìn)行測(cè)試,確實(shí)保證它作為一個(gè)單元能正常地工作單元測(cè)試的目的是驗(yàn)證單元滿足功能、性能和接口等的要求單元測(cè)試采用的技術(shù):靜態(tài)分析、代碼審查、白盒動(dòng)態(tài)測(cè)試測(cè)試的充分性由各種測(cè)試覆蓋率來度量單元?jiǎng)討B(tài)測(cè)試的內(nèi)容主要針對(duì)下列模塊的五個(gè)基本特性進(jìn)行:模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行路徑出錯(cuò)處理路徑影響以上各點(diǎn)的邊界條件單元測(cè)試用例的要求1)用指定值、異常值和極限值驗(yàn)證全部計(jì)算;2)驗(yàn)證全部輸入數(shù)據(jù)的各種選擇;3)驗(yàn)證全部輸出數(shù)據(jù)的各種選擇和格式;4)每個(gè)單元的全部可執(zhí)行語句至少執(zhí)行一次;5)在每個(gè)分支點(diǎn)進(jìn)行選擇的測(cè)試。單元測(cè)試用例的內(nèi)容1)指明被驗(yàn)證的需求或功能;2)解釋測(cè)試如何進(jìn)行,說明驗(yàn)證代碼與單元設(shè)計(jì)一致的準(zhǔn)則和技術(shù),以驗(yàn)證接口滿足需求;3)指明測(cè)試使用的支持軟件,如測(cè)試工具、驅(qū)動(dòng)模塊、樁模塊、動(dòng)態(tài)路徑分析工具等;4)說明全部輸入數(shù)據(jù)和(或)驅(qū)動(dòng)程序等;5)說明預(yù)期的輸出,包括數(shù)據(jù)值或其它可以驗(yàn)證的結(jié)果;6)通過準(zhǔn)則。

測(cè)試概圖階段活動(dòng)單元集成合格性系統(tǒng)技術(shù)方法靜態(tài)測(cè)試靜態(tài)分析代碼審查動(dòng)態(tài)測(cè)試白盒測(cè)試白盒測(cè)試用例技術(shù)黑盒測(cè)試黑盒測(cè)試用例技術(shù)V模型系統(tǒng)需求軟件需求概要設(shè)計(jì)詳細(xì)設(shè)計(jì)單元測(cè)試集成測(cè)試編碼合格性測(cè)試系統(tǒng)測(cè)試詳細(xì)設(shè)計(jì)概要設(shè)計(jì)軟件需求系統(tǒng)需求軟件任務(wù)編譯后的單元測(cè)試后的單元集成的軟件測(cè)試后的軟件交付軟件驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證驗(yàn)證與確認(rèn)驗(yàn)證與確認(rèn)

J.McDermid于1994年在“軟件工程師參考手冊(cè)”中提出測(cè)試活動(dòng)單元測(cè)試(UNIT)集成測(cè)試(INTERGRATION)合格性測(cè)試(QUALIFICATION)系統(tǒng)測(cè)試(SYSTEM)單元測(cè)試對(duì)軟件單元進(jìn)行測(cè)試,確實(shí)保證它作為一個(gè)單元能正常地工作單元測(cè)試的目的是驗(yàn)證單元滿足功能、性能和接口等的要求單元測(cè)試采用的技術(shù):靜態(tài)分析、代碼審查、白盒動(dòng)態(tài)測(cè)試測(cè)試的充分性由各種測(cè)試覆蓋率來度量單元?jiǎng)討B(tài)測(cè)試的內(nèi)容主要針對(duì)下列模塊的五個(gè)基本特性進(jìn)行:模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行路徑出錯(cuò)處理路徑影響以上各點(diǎn)的邊界條件單元測(cè)試用例的要求1)用指定值、異常值和極限值驗(yàn)證全部計(jì)算;2)驗(yàn)證全部輸入數(shù)據(jù)的各種選擇;3)驗(yàn)證全部輸出數(shù)據(jù)的各種選擇和格式;4)每個(gè)單元的全部可執(zhí)行語句至少執(zhí)行一次;5)在每個(gè)分支點(diǎn)進(jìn)行選擇的測(cè)試。單元測(cè)試用例的內(nèi)容1)指明被驗(yàn)證的需求或功能;2)解釋測(cè)試如何進(jìn)行,說明驗(yàn)證代碼與單元設(shè)計(jì)一致的準(zhǔn)則和技術(shù),以驗(yàn)證接口滿足需求;3)指明測(cè)試使用的支持軟件,如測(cè)試工具、驅(qū)動(dòng)模塊、樁模塊、動(dòng)態(tài)路徑分析工具等;4)說明全部輸入數(shù)據(jù)和(或)驅(qū)動(dòng)程序等;5)說明預(yù)期的輸出,包括數(shù)據(jù)值或其它可以驗(yàn)證的結(jié)果;6)通過準(zhǔn)則。

單元測(cè)試執(zhí)行環(huán)境驅(qū)動(dòng)模塊被測(cè)單元樁模塊B樁模塊C樁模塊A集成測(cè)試依據(jù)軟件設(shè)計(jì)確定的軟件結(jié)構(gòu),按照軟件集成“工序”,把各個(gè)軟件單元逐步集成為完整的軟件系統(tǒng),并不斷發(fā)現(xiàn)和排除錯(cuò)誤,以保證聯(lián)接、集成的正確性。

集成測(cè)試的內(nèi)容1)軟件單元的接口測(cè)試;2)軟件部件的功能、性能測(cè)試;3)全面數(shù)據(jù)結(jié)構(gòu)測(cè)試;4)必要的運(yùn)行時(shí)間、存貯空間、計(jì)算精度測(cè)試;5)邊界條件和非法輸入的測(cè)試。

集成測(cè)試的要求1)必須對(duì)有調(diào)用關(guān)系的軟件單元之間的所有調(diào)用進(jìn)行測(cè)試,驗(yàn)證每個(gè)調(diào)用接口的完整性和一致性;2)應(yīng)對(duì)軟件進(jìn)行正確處理的能力的經(jīng)受錯(cuò)誤影響的能力進(jìn)行測(cè)試;3)應(yīng)測(cè)試在各種外部輸入下,從外部接口采集和(或)發(fā)送數(shù)據(jù)的能力,包括對(duì)正確數(shù)據(jù)及狀態(tài)的處理,對(duì)接口錯(cuò)誤、數(shù)據(jù)錯(cuò)誤、協(xié)議錯(cuò)誤的識(shí)別及處理。

集成測(cè)試的通過準(zhǔn)則1)軟件單元無錯(cuò)誤地連接;2)滿足各項(xiàng)功能、性能要求;3)對(duì)錯(cuò)誤的輸入有正確處理的能力;4)對(duì)測(cè)試中的異常有合理解釋;5)人機(jī)界面、對(duì)外接口正確無誤;軟件集成策略1)非增量方式先測(cè)試好每一個(gè)軟件單元,然后一次組裝在一起再測(cè)試整個(gè)程序。2)增量方式逐步把下一個(gè)要被組裝的軟件單元或部件,同已測(cè)好的軟件部件結(jié)合起來測(cè)試。增量方式主要包括自頂向下、自底向上、自頂向下與自底向上相結(jié)合等方法。集成方式非增量方式

BigBang增量方式自頂向下方法自底向上方法“三明治”方法增量和非增量方式的優(yōu)缺點(diǎn)增量方式的優(yōu)點(diǎn):a.增量方式占用人工較少。b.增量方式可以較早地發(fā)現(xiàn)模塊接口錯(cuò)誤。c.增量方式容易排錯(cuò)。d.增量方式測(cè)試效果好,比較徹底。非增量方式的優(yōu)點(diǎn):a.非增量方式占用機(jī)器時(shí)間較少。b.非增量方式有利于并行開發(fā)。非增量方式有一種很直接、原始的組裝方式,它把所有通過單元測(cè)試的模塊一古腦兒地全部集成在一起,直接組裝成軟件系統(tǒng),并對(duì)它進(jìn)行測(cè)試。這種被貶義地稱作大爆炸(BigBang)的組裝方式,目前仍在許多場(chǎng)合使用。

人們期望它可以帶來方便、快捷的組裝效果。這種方法遭到廣大測(cè)試專家的批評(píng),普遍認(rèn)為它會(huì)引起混亂,且難以確定錯(cuò)誤源的位置。自頂向下方法自頂向下集成法是一個(gè)模塊一個(gè)模塊地組裝軟件的方法。按照控制的結(jié)構(gòu),從主控模塊(主程序)開始,向下地逐個(gè)把模塊連接起來。集成的方式有兩種:深度優(yōu)先組裝法及寬度優(yōu)先組裝法。深度優(yōu)先法是先把結(jié)構(gòu)中的一條主要的控制路經(jīng)上的全部模塊逐步組裝起來。然后再連接其它的控制路徑。寬度優(yōu)先法是從結(jié)構(gòu)的頂層開始逐層往下組裝。自頂向下集成的過程步驟1)主控模塊用作為測(cè)試驅(qū)動(dòng)器。直接附屬于主控模塊的各模塊全都用樁模塊代替。2)按照所選的組裝法(即深度優(yōu)先或?qū)挾葍?yōu)先)每次用一個(gè)真模塊取代一個(gè)附屬的樁模塊。3)當(dāng)裝入每個(gè)真模塊時(shí)都要進(jìn)行測(cè)試。4)作完每一組測(cè)試后又再用一個(gè)真模塊代替另一個(gè)樁模塊。5)可以進(jìn)行回復(fù)測(cè)試(即重新再作過去作過的全部或部分測(cè)試),以便肯定沒有新的錯(cuò)誤發(fā)生。自底向上方法自底向上集成測(cè)試方法是從軟件結(jié)構(gòu)中最底層的、最基本的軟件單元開始進(jìn)行集成和測(cè)試。由于在逐步向上組裝過程中下層模塊總是存在的,也就是說不再需要樁模塊了,但卻需要調(diào)用這些模塊開展工作的驅(qū)動(dòng)模塊。自底向上集成的過程步驟1)低層的模塊組成簇,以執(zhí)行某個(gè)特定的軟件子功能。2)編寫一個(gè)驅(qū)動(dòng)模塊作為測(cè)試的控制程序,和被測(cè)試的簇連在一起,負(fù)責(zé)安排測(cè)試用例的輸入及輸出。3)對(duì)簇進(jìn)行測(cè)試。4)拆去各個(gè)小簇的驅(qū)動(dòng)模塊,把幾個(gè)小簇合并成大簇,再重復(fù)做2、3及4步。

這樣在軟件結(jié)構(gòu)上逐步向上組裝?!叭髦巍狈椒ㄗ皂斚蛳聹y(cè)試的主要優(yōu)點(diǎn)是能較早顯示出整個(gè)程序的輪廓。主要缺點(diǎn)是,當(dāng)測(cè)試上層模塊時(shí)使用樁模塊較多,很難模擬出真實(shí)模塊的全部功能,使部分測(cè)試內(nèi)容被迫推遲,直至換上真實(shí)模塊后再補(bǔ)充測(cè)試。自底向上測(cè)試從下層模塊開始,設(shè)計(jì)測(cè)試用例比較容易,但是在測(cè)試的早期不能顯示出程序的輪廓。針對(duì)自頂向下、自底向上方法各自的優(yōu)點(diǎn)和不足,人們提出了自頂向下和自底向上相結(jié)合,從兩頭向中間逼近的混合式組裝方法,被形象稱之為“三明治”方法。“三明治”方法的步驟步驟:1)對(duì)上層模塊采取自頂向下測(cè)試;2)對(duì)關(guān)鍵模塊或子系統(tǒng)采取自底向上測(cè)試?;旌鲜降摹叭髦巍狈椒?,綜合了自頂向下、自底向上兩種方法的長(zhǎng)處,揚(yáng)了長(zhǎng)避了短。例如,對(duì)關(guān)鍵模塊采取自底向上測(cè)試,就可能把輸入輸出模塊提前組裝進(jìn)程序,使設(shè)計(jì)測(cè)試用例變得較為容易;或者使具有重要功能的模塊早點(diǎn)與有關(guān)的模塊相連,以便及早暴露可能存在的問題。除關(guān)鍵模塊及少數(shù)與之相關(guān)的模塊外,對(duì)其余模塊尤其是上層模塊仍采取自頂向下的測(cè)試方法,以便收到較早顯示程序總體輪廓的效果。合格性測(cè)試根據(jù)軟件需求規(guī)格說明中定義的全部功能、性能、可靠性等需求,測(cè)試整個(gè)軟件是否達(dá)到要求。合格性測(cè)試內(nèi)容功能測(cè)試性能測(cè)試資源和余量測(cè)試邊界測(cè)試操作測(cè)試外部接口測(cè)試強(qiáng)度測(cè)試可靠性測(cè)試安全性測(cè)試恢復(fù)性測(cè)試安裝性測(cè)試移植性測(cè)試保密性測(cè)試回歸測(cè)試功能測(cè)試根據(jù)功能需求進(jìn)行測(cè)試,以確認(rèn)軟件與軟件功能需求的一致功能測(cè)試應(yīng)達(dá)到以下要求:a.每一個(gè)軟件功能都必須被測(cè)試用例或被認(rèn)可的異常所覆蓋(或由于異常情況的出現(xiàn)而未達(dá)到期望的覆蓋,但該異常已被測(cè)試者認(rèn)識(shí)到,并進(jìn)行了處理);b.用一系列合理的數(shù)據(jù)類型和數(shù)據(jù)值運(yùn)行,測(cè)試軟件在正常、超負(fù)荷、飽和和其它“最壞”情況下的結(jié)果;c.用假想的數(shù)據(jù)類型和數(shù)據(jù)值運(yùn)行,以測(cè)試軟件排斥不規(guī)則(非法)輸入的能力。性能測(cè)試對(duì)軟件是否與所需定量的性能需求一致進(jìn)行確認(rèn)。包括:a.軟件在獲得定量結(jié)果時(shí)計(jì)算的精確性;b.有時(shí)間要求的軟件,其實(shí)際的運(yùn)行時(shí)間;c.軟件完成功能所能處理的數(shù)據(jù)量;d.軟件各部分的協(xié)調(diào)性;e.其它性能指標(biāo)。

資源和余量測(cè)試測(cè)試是否符合軟件需求規(guī)格說明中提出的處理時(shí)間、儲(chǔ)存空間和內(nèi)存、輸入/輸出通道等資源使用的要求,并在設(shè)計(jì)中為這些資源留出了余量。通常情況下,應(yīng)保證在儲(chǔ)存空間和內(nèi)存,輸入/輸出通道,以及處理時(shí)間的占用上至少有20%的余量。邊界測(cè)試測(cè)試軟件在輸入域和(或)輸出域、數(shù)據(jù)結(jié)構(gòu)、狀態(tài)轉(zhuǎn)換、過程參數(shù)、功能界限等邊界點(diǎn)或端點(diǎn)情況下的運(yùn)行狀態(tài)。

操作測(cè)試操作測(cè)試包括對(duì)用戶接口、人機(jī)接口和人機(jī)交互要求的所有測(cè)試。應(yīng)以常規(guī)操作、非常規(guī)操作、誤操作、快速操作等情況來檢驗(yàn)界面的可靠性。操作測(cè)試工作還包括對(duì)照軟件使用說明,逐條進(jìn)行相應(yīng)的操作,以檢測(cè)軟件使用說明的完整性、正確性、與軟件程序的一致性。外部接口測(cè)試確認(rèn)軟件與其外部接口要求的一致性。測(cè)試內(nèi)容:a.測(cè)試所有外部接口,檢測(cè)接口信息的格式和內(nèi)容。b.對(duì)每一個(gè)外部輸入/輸出接口應(yīng)進(jìn)行正常和異常情況測(cè)試。如果軟件不能在運(yùn)行環(huán)境中測(cè)試,則有必要使用模擬程序或其它測(cè)試工具。

強(qiáng)度測(cè)試強(qiáng)度測(cè)試是在預(yù)先規(guī)定的一段時(shí)間內(nèi),在軟件設(shè)計(jì)的極限狀態(tài)下,進(jìn)而在超設(shè)計(jì)能力的狀態(tài)下,運(yùn)行軟件以測(cè)試軟件的所有功能??梢栽试S在飽和點(diǎn)上性能降級(jí),但必須保證仍能順利運(yùn)行??煽啃詼y(cè)試軟件可靠性測(cè)試是以能獲得可用來評(píng)估軟件可靠性的數(shù)據(jù)為目的的一種軟件測(cè)試。例如,基于軟件運(yùn)行剖面設(shè)計(jì)軟件測(cè)試用例,并用這些測(cè)試用例按出現(xiàn)概率進(jìn)行隨機(jī)輸入以模擬軟件真實(shí)運(yùn)行狀態(tài),運(yùn)行軟件以獲得失效數(shù)據(jù),進(jìn)而給出軟件的可靠性度量,這就是一種軟件可靠性測(cè)試。軟件運(yùn)行剖面是指:1)軟件運(yùn)行期間執(zhí)行各個(gè)任務(wù)的事件和各事件相應(yīng)概率的集合。2)系統(tǒng)使用條件的一種定義,系統(tǒng)輸入值用其按時(shí)間或在可能輸入范圍中以概率分布來定義。

安全性測(cè)試針對(duì)程序中危險(xiǎn)防止和危險(xiǎn)處理設(shè)施進(jìn)行的測(cè)試,以驗(yàn)證其是否有效。安全性測(cè)試應(yīng)包括下面的工作:a.全面檢驗(yàn)軟件在軟件需求規(guī)格說明中規(guī)定的防止危險(xiǎn)狀態(tài)措施的有效性和在每一個(gè)危險(xiǎn)狀態(tài)下的反應(yīng);b.對(duì)軟件設(shè)計(jì)中用于提高安全性的結(jié)構(gòu)、算法、容錯(cuò)、冗余、中斷處理等方案,進(jìn)行針對(duì)性測(cè)試;c.在異常條件下測(cè)試軟件,以表明不會(huì)因可能的單個(gè)或多個(gè)輸入錯(cuò)誤而導(dǎo)致不安全狀態(tài)。d.用錯(cuò)誤的安全性關(guān)鍵操作進(jìn)行測(cè)試,以驗(yàn)證系統(tǒng)對(duì)這些操作錯(cuò)誤的反應(yīng);e.對(duì)安全性關(guān)鍵的軟件單元和軟件部件,要單獨(dú)進(jìn)行加強(qiáng)的測(cè)試,以確認(rèn)其滿足安全性需求?;謴?fù)性測(cè)試對(duì)有恢復(fù)或重置(RESET)功能的軟件,應(yīng)專門對(duì)每一類導(dǎo)致恢復(fù)或重置的情況進(jìn)行測(cè)試,以確認(rèn)恢復(fù)或重置功能。安裝性測(cè)試按規(guī)程進(jìn)行安裝正確性測(cè)試,包括參數(shù)裝訂、程序加載等。移植性測(cè)試在所有要求的移植環(huán)境中運(yùn)行軟件以驗(yàn)證軟件的移植性。保密性測(cè)試驗(yàn)證軟件是否提供了軟件需求規(guī)格說明中規(guī)定的保密機(jī)制,使軟件的機(jī)密性、完整性和有效性不被破壞?;貧w測(cè)試回歸測(cè)試是一種選擇性重新測(cè)試,目的是檢測(cè)系統(tǒng)或系統(tǒng)組成部分在修改期間產(chǎn)生的缺陷,用于驗(yàn)證已進(jìn)行的修改并未引起不希望的有害效果,或確認(rèn)修改后的系統(tǒng)或系統(tǒng)組成部分仍滿足規(guī)定的要求。Alpha測(cè)試和Beta測(cè)試開發(fā)者想預(yù)見用戶的使用過程是不可能的對(duì)于通用軟件產(chǎn)品,讓每個(gè)用戶都進(jìn)行接收(驗(yàn)收)測(cè)試是不切實(shí)際的采用Alpha測(cè)試和Beta測(cè)試來發(fā)現(xiàn)只有最終用戶才能發(fā)現(xiàn)的問題Alpha測(cè)試:由一個(gè)用戶在開發(fā)者的場(chǎng)所、在開發(fā)者指導(dǎo)下進(jìn)行測(cè)試Beta測(cè)試:由最終用戶在一個(gè)或多個(gè)用戶場(chǎng)所單獨(dú)地進(jìn)行測(cè)試系統(tǒng)測(cè)試軟件與與系統(tǒng)中其它的軟、硬件對(duì)接并測(cè)試其接口的過程系統(tǒng)測(cè)試的目的,是在真實(shí)的系統(tǒng)工作環(huán)境下檢驗(yàn)軟件是否能與系統(tǒng)正確連接,,并確認(rèn)軟件是否與用戶需求(系統(tǒng)需求)一致系統(tǒng)測(cè)試內(nèi)容安裝性測(cè)試功能測(cè)試性能測(cè)試操作測(cè)試外部接口測(cè)試安全性測(cè)試:注意進(jìn)行硬件和軟件在各種故障模式下的測(cè)試;最壞配置情況下的測(cè)試;錯(cuò)誤操作情況下的測(cè)試;多機(jī)系統(tǒng)出現(xiàn)故障切換時(shí),系統(tǒng)的功能、性能連續(xù)平穩(wěn)性測(cè)試性能強(qiáng)度測(cè)試降級(jí)能力強(qiáng)度測(cè)試獨(dú)立(第三方)測(cè)試第三方指的是與軟件項(xiàng)目甲方、乙方相對(duì)獨(dú)立的其它機(jī)構(gòu)。進(jìn)行獨(dú)立測(cè)試的目的是進(jìn)一步加強(qiáng)軟件質(zhì)量保證工作,提高軟件的質(zhì)量,并對(duì)軟件產(chǎn)品進(jìn)行客觀評(píng)價(jià)。進(jìn)行第三方獨(dú)立測(cè)試通常有以下優(yōu)點(diǎn):1)發(fā)揮專業(yè)技術(shù)優(yōu)勢(shì);2)發(fā)揮獨(dú)立性優(yōu)勢(shì);3)進(jìn)一步促進(jìn)承辦方的工作。測(cè)試方法靜態(tài)測(cè)試靜態(tài)分析代碼審查代碼走查技術(shù)評(píng)審桌面檢查動(dòng)態(tài)測(cè)試白盒測(cè)試控制流覆蓋數(shù)據(jù)流覆蓋黑盒測(cè)試功能分解等價(jià)類劃分邊值分析因果圖隨機(jī)測(cè)試猜錯(cuò)法靜態(tài)測(cè)試代碼審查:小組集體閱讀討論檢查代碼代碼走查:小組集體用“腦”執(zhí)行并檢查代碼桌面檢查:由程序員閱讀自己編寫的程序技術(shù)評(píng)審:會(huì)議形式討論檢查代碼靜態(tài)分析:對(duì)代碼的機(jī)械性、程式化的特性分析方法,包括控制流分析、數(shù)據(jù)流分析、接口分析、表達(dá)式分析白盒測(cè)試與黑盒測(cè)試對(duì)比黑盒測(cè)試白盒測(cè)試優(yōu)點(diǎn)適用于各測(cè)試階段從產(chǎn)品功能角度測(cè)試容易入手生成測(cè)試數(shù)據(jù)可以構(gòu)成測(cè)試數(shù)據(jù)使特定程序部分得到測(cè)試有一定的充分性度量手段可獲得較多工具支持缺點(diǎn)某些代碼段得不到測(cè)試如果規(guī)格說明有誤則無法發(fā)現(xiàn)不易進(jìn)行充分性度量不易生成測(cè)試數(shù)據(jù)無法對(duì)未實(shí)現(xiàn)規(guī)格說明得部分測(cè)試工作量大,通常只用于單元測(cè)試,有引用局限性質(zhì)是一種確認(rèn)技術(shù),回答“我們?cè)跇?gòu)造一個(gè)正確得系統(tǒng)嗎?”是一種驗(yàn)證技術(shù),回答“我們?cè)谡_地構(gòu)造一個(gè)系統(tǒng)嗎?”白盒測(cè)試控制流測(cè)試語句覆蓋分支覆蓋條件覆蓋條件組合覆蓋路徑覆蓋數(shù)據(jù)流測(cè)試全定義使用路徑全使用路徑全定義路徑數(shù)據(jù)流異常狀態(tài)圖測(cè)試覆蓋率采用白盒法進(jìn)行測(cè)試時(shí),考慮的是測(cè)試用例對(duì)程序內(nèi)部邏輯的覆蓋程度。最徹底的白盒法是覆蓋程序中的每一條路徑,但這往往大到無法實(shí)現(xiàn)。因此采用其它一些標(biāo)準(zhǔn)來量度覆蓋的程度,并希望覆蓋程度盡可能高些。例子func(intA,B,X){if((A>1)&&(B=0)){X:=X/A};if((A=2)||(X>1)){X:=X+1};}A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced流圖符號(hào)語句覆蓋語句覆蓋:選擇足夠的測(cè)試用例,使得程序中每個(gè)語句至少都能被執(zhí)行一次。語句覆蓋率:已執(zhí)行的可執(zhí)行語句占程序中可執(zhí)行語句總數(shù)的百分比。語句覆蓋例取A=2,B=0,X=3A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced分支覆蓋分支覆蓋又稱判定覆蓋。分支覆蓋:執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判定都獲得一次“真”值和“假”值,或者說使得程序中的每一個(gè)分支至少都通過一次。分支覆蓋率:已取過“真”和“假”兩個(gè)值的判定占程序中所有條件判定個(gè)數(shù)的百分比。分支覆蓋例A=3,B=0,X=1沿路徑acd執(zhí)行A=2,B=1,X=3沿路徑abe執(zhí)行A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced條件覆蓋條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得判定中的每個(gè)子條件都獲得所有可能的結(jié)果。條件覆蓋例共有四個(gè)條件:A>1,B=0,A=2,X>1A=2,B=0,X=4沿路徑ace執(zhí)行A=1,B=1,X=1沿路徑abd執(zhí)行A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced分支/條件覆蓋分支/條件覆蓋:執(zhí)行足夠的測(cè)試用例,

使得判定中每個(gè)子條件取到各種可能的值,并使每個(gè)判定取到各種可能的結(jié)果。分支/條件覆蓋例做練習(xí)A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced條件組合覆蓋條件組合覆蓋:執(zhí)行足夠的測(cè)試用例,使得每個(gè)判定中各條件的所有可能的組合都出現(xiàn)一次。條件組合覆蓋例共有8種條件:①A>1,B=0②A>1,B≠0③A≤1,B=0④A≤1,B≠0⑤A=2,X>1⑥A=2,X≤1⑦A≠2,X>1⑧A≠2,X≤1A=2,B=0,X=4(①⑤)A=2,B=1,X=1(②⑥)A=1,B=0,X=2(③⑦)A=1,B=1,X=1(④⑧)A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced路徑覆蓋路徑覆蓋:執(zhí)行足夠的測(cè)試用例,使程序所有可能的路徑都獲得通過。路徑覆蓋例四條路徑:ace,abd,abe,acdA=2,B=0,X=3(ace)A=1,B=0,X=1(abd)A=2,B=1,X=1(abe)A=3,B=0,X=1(acd)A>1andB=0A>1andB=0X=X/AX=X/AYESYESNONOabced覆蓋率要求對(duì)單元測(cè)試來說,語句覆蓋和分支覆蓋是最基本的要求。由于程序中錯(cuò)誤(異常)處理工作的重要性以及其結(jié)構(gòu)相對(duì)簡(jiǎn)單,要求錯(cuò)誤處理要做到路徑覆蓋。對(duì)質(zhì)量要求高的軟件單元,可根據(jù)情況提出條件覆蓋、分支/條件覆蓋、條件組合覆蓋以及其它更高的覆蓋要求。控制流測(cè)試的測(cè)試用例生成經(jīng)驗(yàn)測(cè)試法通過研究程序選擇初始測(cè)試用例通過測(cè)試執(zhí)行和覆蓋率統(tǒng)計(jì)增加測(cè)試用例不斷運(yùn)行直至達(dá)到要求的測(cè)試覆蓋率與黑盒測(cè)試結(jié)合純粹白盒測(cè)試方法列出為實(shí)現(xiàn)覆蓋所需的全部路徑根據(jù)每個(gè)路徑設(shè)計(jì)測(cè)試用例注意測(cè)試零次循環(huán)、一次循環(huán)和最大次數(shù)循環(huán)黑盒測(cè)試功能分解等價(jià)類劃分邊值分析因果圖猜錯(cuò)法功能分解使用功能抽象的方法把程序分解為功能單元使用數(shù)據(jù)抽象的方法產(chǎn)生測(cè)試每個(gè)功能單元的數(shù)據(jù)注意測(cè)試功能序列組合和輸入數(shù)據(jù)組合等價(jià)類劃分將輸入數(shù)據(jù)域劃分各自具有典型代表意義的有限個(gè)等價(jià)類,從每個(gè)等價(jià)類中產(chǎn)生一些代表性測(cè)試用例輸入范圍的左、中、右各個(gè)離散類別不同的處理方式注意劃分有效等價(jià)類和無效等價(jià)類設(shè)計(jì)一些僅覆蓋一個(gè)等價(jià)類的測(cè)試用例邊值分析經(jīng)驗(yàn)表明,程序在邊界處的處理常常是關(guān)鍵的,也是容易發(fā)生錯(cuò)誤的使用正好等于、小于、大于邊界值的數(shù)據(jù)進(jìn)行測(cè)試,發(fā)現(xiàn)錯(cuò)誤的概率較大,這就是邊值分析技術(shù)使用原則:如果輸入條件規(guī)定了取值范圍或數(shù)據(jù)個(gè)數(shù),則可選擇正好等于邊界值、剛剛在邊界范圍內(nèi)和剛剛超越邊界外的值進(jìn)行測(cè)試針對(duì)規(guī)格說明的每個(gè)輸入條件,使用上述原則對(duì)于有序數(shù)列,選擇第一個(gè)和最后一個(gè)因果圖通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判斷表,然后為判斷表的每一列設(shè)計(jì)一個(gè)測(cè)試用例:分析規(guī)格說明,引出原因(輸入條件)和結(jié)果(輸出條件),并進(jìn)行標(biāo)識(shí)建立連接各個(gè)原因和各個(gè)結(jié)果的因果圖標(biāo)注不可能出現(xiàn)的原因和結(jié)果組合情況將因果圖轉(zhuǎn)換為決策表對(duì)每一列建立一個(gè)測(cè)試用例隨機(jī)測(cè)試從所有可能的輸入值中隨機(jī)選取測(cè)試輸入數(shù)據(jù)的方法使數(shù)據(jù)在規(guī)定的取值范圍內(nèi)并服從預(yù)期的概率分布基于運(yùn)行剖面的測(cè)試方法是可靠性測(cè)試的主要方法預(yù)期結(jié)果可以由人工或定性的方法確定是強(qiáng)度測(cè)試的有效手段猜錯(cuò)法列出所有可能有的錯(cuò)誤和易錯(cuò)情況表,基于該表設(shè)計(jì)測(cè)試用例有力的補(bǔ)充充分發(fā)揮敏銳、經(jīng)驗(yàn)等能力直

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論