freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件測試及軟件質(zhì)量控制(已修改)

2025-05-28 20:21 本頁面
 

【正文】 1 軟件測試及軟件質(zhì)量控制 第六章 2 軟件系統(tǒng)的開發(fā)過程中 , 軟件測試占據(jù)著重要地位 。 盡管人們采取了多種保證軟件質(zhì)量的措施 ,由于軟件系統(tǒng)的客觀復(fù)雜性 , 人們的主觀認(rèn)識不可能完全符合客觀實際 , 完美無缺 , 每個階段的技術(shù)審查也不可能毫無遺漏地查出和糾正所有的設(shè)計和分析上的錯誤 , 在軟件生命周期的各個階段 , 都不可避免地會產(chǎn)生差錯 , 這些差錯遲早會在軟件的生產(chǎn)和使用過程中暴露出來 。 3 軟件工程實踐的經(jīng)驗表明 , 發(fā)現(xiàn)軟件的時刻越晚 ,改正這些錯誤所花費的代價也越高 , 如果在軟件投入使用之前沒有發(fā)現(xiàn)和糾正軟件的大部分錯誤 , 人們付出的代價會更高 , 往往會造成惡劣的后果 。 從廣義上來說 , 軟件測試工作散布在軟件生命周期的各個開發(fā)階段 , 人們認(rèn)識到 , 軟件測試是保證軟件質(zhì)量的主要手段 , 各階段的評審工作和驗證工作 ,均是廣義概念上的測試工作 。 而主要的測試是在編碼和測試這兩個階段進行的 。 因此 , 狹義的軟件測試就是程序測試 。 4 軟件測試基本概念 , 被軟件工程領(lǐng)域認(rèn)可: ( 1) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程; ( 2) 好的測試方案極有可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤; ( 3) 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤 。 5 軟件測試基本概念 這些規(guī)則 , 實際上是軟件測試的狹義概念 ——程序測試 。 狹義的軟件測試:測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程 。 是根據(jù)軟件開發(fā)的各個階段的說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例 ( 有輸入數(shù)據(jù)及預(yù)期的結(jié)果 ) , 并利用這些測試用例執(zhí)行程序及發(fā)現(xiàn)錯誤的過程 。 6 軟件測試基本概念 廣義的軟件測試是對軟件計劃 、 軟件系統(tǒng)分析 、軟件設(shè)計 、 軟件編碼進行的查錯活動 , 包括代碼執(zhí)行和人工審查活動 , 測試的目的是找出軟件生命周期的各個階段的錯誤 , 有利于以后進行修改和糾正 。 但測試本身不修正錯誤 , 調(diào)試才會修正錯誤 。 即找錯的活動是測試;分析錯誤的性質(zhì)與位置 , 進行糾錯的活動是調(diào)試 , 保證算法的正確實現(xiàn) 。 軟件測試與程序測試都是查找錯誤的活動 , 差別在于查找錯誤的范圍不同 。 7 軟件測試基本概念 由于測試的目標(biāo)是暴露程序的錯誤 , 從心理學(xué)角度看 , 由設(shè)計者自己進行測試是不恰當(dāng)?shù)?, 設(shè)計小組和測試小組應(yīng)該分別設(shè)立 , 有利于進行客觀和公正的軟件測試 。 測試是有限的 , 由于通常的測試過程不可能窮盡一切情況 , 即使經(jīng)過了嚴(yán)格的測試之后 , 仍然可能存在沒有被發(fā)現(xiàn)的錯誤隱藏在程序中 , 不能證明程序中沒有錯誤 。 8 軟件測試基本概念 因此 , 測試僅僅有可能找出程序的錯誤 , 測試不能證明程序是正確的 。 軟件工程中所有其它階段都是 “ 建設(shè)性 ” 的 , 軟件工程師力圖從抽象概念出發(fā) , 逐步設(shè)計出具體的軟件系統(tǒng) , 而測試人員的工作表面上看卻是 “ 破壞性 ” 的 , 竭力證明軟件中含有錯誤 , 不能按預(yù)定要求正確工作 。 凡是進行對比的方式均可理解為測試驗證 。 9 軟件測試的對象 軟件測試應(yīng)該貫穿于軟件生命期的各個階段 , 各階段的工作是相互銜接 、 相互影響的 , 前一階段發(fā)生的問題自然要影響到下一階段的工作 。 為了把握各個環(huán)節(jié)的正確性 , 人們需要進行各種確認(rèn)和驗證工作 。 軟件確認(rèn)是廣義上的軟件測試 , 它是企圖證明軟件在一個給定的外部環(huán)境中軟件的邏輯正確性的一系列活動和過程 , 如需求說明書的確認(rèn) 、 程序的確認(rèn)等 。 10 軟件測試的對象 ? 程序的確認(rèn)又分為靜態(tài)確認(rèn)與動態(tài)確認(rèn) 。 靜態(tài)確認(rèn)一般不在計算機上執(zhí)行程序 , 而是通過程序正確性證明 、 靜態(tài)分析或人工分析來確認(rèn)程序的正確性; 動態(tài)確認(rèn)主要通過動態(tài)分析和動態(tài)測試 , 用執(zhí)行程序的過程來檢查執(zhí)行的狀態(tài) , 確認(rèn)程序是否有問題; 11 軟件測試的對象 正確性證明主要是企圖繞過復(fù)雜的測試 , 直接證明程序的正確性 。 ? 如程序的輸入輸出斷言法 。 設(shè)程序段為 S, 其前斷言為 P, 后斷言為 R。 如果執(zhí)行 S以前 P為真 , 則執(zhí)行 S后 R也為真 , 則證明 S是正確的 , 記為 {P}S{R}。 12 軟件測試的對象 任何程序總可以分成 S S … Sn個結(jié)點 ,對應(yīng)的斷言為 R R … 、 Rn, 起初 R1為輸入斷言 ,R2為輸出斷言 , 也是下一個輸入斷言 , … Rn為最后的輸出斷言 , 我們總可以 , 將 S S … Sn逐個證明 , 自頂向下或自底向上都可證明程序的正確性 , 該分支已發(fā)展為計算機代數(shù)學(xué); 13 軟件測試的對象 軟件驗證也屬于廣義上的軟件測試 , 它試圖證明在軟件生命期的各個階段 、 各階段的邏輯協(xié)調(diào)性 、 完備性和正確性 。 包括系統(tǒng)分析員理解用戶要求的正確性 、 表達(dá)的正確性 、 設(shè)計人員對需求規(guī)格說明理解的正確性 、 設(shè)計與設(shè)計表達(dá)的正確性 、 程序編碼的正確性和運行軟件程序時輸入的正確性 、 運行結(jié)果的正確性等 , 運行結(jié)果與用戶預(yù)期的結(jié)果是否一致等 , 這說明任何一個環(huán)節(jié)上發(fā)生了問題都可能在軟件測試中表現(xiàn)出來 。 14 測試信息流 將測試的過程用數(shù)據(jù)流圖表示,可得測試信息流如圖 61所示。 ( 至軟件配置 ) 軟件配置 1 測試結(jié)果 2 錯誤 3 修正的軟件 測試配置 測試結(jié)果 測試工具 測試 評價 調(diào)試 正確 預(yù)測結(jié)果 出錯率 4 數(shù)據(jù) 可靠性 分析 圖 61 測試信息流 15 測試信息流 : ( 1) 軟件配置:包括軟件開發(fā)文檔 ( 用戶文檔 、需求規(guī)格說明 、 軟件設(shè)計說明 、 源程序代碼 ) 、 目標(biāo)執(zhí)行程序 、 數(shù)據(jù)結(jié)構(gòu); ( 2) 測試配置:包括測試計劃 、 測試用例 、 測試驅(qū)動程序等;實際上在整個軟件開發(fā)過程中 , 測試配置只是軟件配置的一個子集; 16 ( 3) 測試工具:為提高軟件測試效率 , 使用測試工具為測試工作服務(wù);如:測試數(shù)據(jù)自動生成程序 , 靜態(tài)分析程序 、 動態(tài)分析程序 、 測試結(jié)果分析程序及標(biāo)準(zhǔn)例程測試數(shù)據(jù)庫等 。 測試信息流 17 測試之后,對所有測試結(jié)果進行分析,將實際測試的結(jié)果與預(yù)期的結(jié)果進行比較。如果發(fā)現(xiàn)出錯的數(shù)據(jù),則意味著軟件有錯誤,需要糾錯,應(yīng)進行調(diào)試,確定錯誤的位置和出錯的性質(zhì),改正這些錯誤,同時修正相關(guān)文檔。修正過的文檔一般需經(jīng)過再次測試,直到通過測試為止。 測試信息流 18 通過收集和分析測試結(jié)果的有關(guān)數(shù)據(jù) , 可以建立軟件評估的可靠性模型 。 如果經(jīng)常出現(xiàn)需要修改設(shè)計的嚴(yán)重錯誤 , 那么軟件的質(zhì)量和可靠性就值得懷疑 , 同時也表明需要進一步測試 。 相反 , 如果軟件功能能夠正確完成 , 出現(xiàn)的錯誤易于修改 , 那么就可能有兩種評價: 測試信息流 19 ? 一種是軟件的質(zhì)量和可靠性達(dá)到可以接受的程度 。 ? 另一種是所做的測試還
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1