計算機軟件及應用Ch2-軟件測試概念-48課件_第1頁
計算機軟件及應用Ch2-軟件測試概念-48課件_第2頁
計算機軟件及應用Ch2-軟件測試概念-48課件_第3頁
計算機軟件及應用Ch2-軟件測試概念-48課件_第4頁
計算機軟件及應用Ch2-軟件測試概念-48課件_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件測試與質量保證Ch.2軟件測試的基本概念和方法第一章回顧軟件特點軟件開發(fā)的模型原型模型改進的V模型增量模型和迭代模型XP模型

極限編程…測試的重要性2023/7/192第二章軟件測試的基本概念和方法2.1軟件質量就是客戶的滿意度2.2軟件缺陷(Bug)是什么2.3軟件測試的基本方法2.4軟件測試的分類和階段2.5軟件測試的工作范疇2023/7/193軟件質量的內涵軟件質量是客戶滿意度的體現(xiàn)客戶+

質+量?2023/7/194質量(Quality)質量是系統(tǒng)、部件或過程滿足明確需求客戶或用戶需要或期望的程度不同IEEE<<StandardGlossaryofSoftwareEngineeringTerminology>>軟件質量:軟件產(chǎn)品具有滿足

規(guī)定的或隱含要求能力要求有

關的特征與特征總和(ISO8492)

軟件質量:軟件產(chǎn)品滿足

使用要求的程度

2023/7/195軟件質量范圍-3AAccountability(可說明性)–用戶可以基于產(chǎn)品或服務的描述和定義進行使用.

(例如:

市場需求說明書,功能設計說明書.)Availability(有效性)–產(chǎn)品或服務對于99.999%客戶總是有效的(例如:性能測試和恢復測試)Accessibility(易用性)–對于用戶,產(chǎn)品或服務非常容易使用并且一定是非常有用的功能.(例如:確認測試和用戶可用性測試)

2023/7/196高質量的軟件應該是相對的無產(chǎn)品缺陷(BugFree)或只有極少量的缺陷,它能夠準時遞交給用戶并且所用的費用都是在預算內的并且滿足客戶需求,是可維護的。但是,有關質量的好壞最終評價依賴于用戶的反饋?!翱蛻簟睆V義定義

:內在的定義:下一個環(huán)節(jié)/工序的接收者,更廣的服務的對象,周圍有任何聯(lián)系或影響的團隊、人。

軟件的設計者,程序的檢測者,項目管理者,品質管理人員

…-廣泛的定義:最終用戶,客戶管理,2023/7/197軟件質量不同的視點

先驗論觀點:質量是產(chǎn)品一種可以認識但不可定義的性質。

用戶觀點:質量是產(chǎn)品滿足使用目的之程度。

制造者的觀點:質量是產(chǎn)品性能和規(guī)格要求的符合度。

產(chǎn)品觀點:質量是聯(lián)結產(chǎn)品固有性能的紐帶。

基于價值觀點:質量依賴于顧客愿意付給產(chǎn)品報酬的數(shù)量。2023/7/198高質量軟件標準體系產(chǎn)品質量:是人們實踐產(chǎn)物的屬性和行為,是可以認識,可以科學地描述的,并且可以通過一些方法和人類活動,來改進質量。質量模型:McCall模型,Boehm模型,ISO9126模型過程質量:

軟件能力成熟度模型

CMM(CapabilityMaturityModel).國際標準過程模型

ISO9000軟件過程改進和能力決斷

SPICE(SoftwareProcessImprovementandCapabilitydEtermination)

商業(yè)過程中有關的質量內容:培訓、成品制作、宣傳、發(fā)布日起、客戶、風險、成本、業(yè)務等

2023/7/199產(chǎn)品質量的標準-功能性

Functionality-可用性

Usability(簡單安裝;輕松使用;友好界面)-可靠性

Reliability(用戶使用的根本)-性能

Performance-容量

Capacity-可測量性

Scalability-可維護性

Servicemanageability-兼容性

Compatibility-可擴展性

Extensibility2023/7/1910軟件質量特征(ISO9126)功能:與一組功能及其指定性質有關的一組屬性,這里的功能是滿足明確或隱含的需求的那些功能??煽浚涸谝?guī)定的一段時間和條件下,與軟件維持其性能水平的能力有關的一組屬性。易用:由一組規(guī)定或潛在的用戶為使用軟件所需作的努力和所作的評價有關的一組屬性。效率:與在規(guī)定條件下軟件的性能水平與所使用資源量之間關系有關的一組屬性??删S護:與進行指定的修改所需的努力有關的一組屬性??梢浦玻号c軟件從一個環(huán)境轉移到另一個環(huán)境的能力有關的一組屬性。

其中每一個質量特征都分別與若干子特征相對應。2023/7/1911Boehm軟件質量模型闡述性互用性數(shù)據(jù)公開性正確性可靠性效率完整性可用性可維護性可測試性靈活性可移植性重復性連貫性容錯性執(zhí)行效率/儲存效率存取控制/存取檢查可訓練溝通良好簡單性易操作的工具自我操作性擴展性一般性模塊性軟件系統(tǒng)獨立性機器獨立性通訊公開性正確性可操作性2023/7/1912McCall模型設備獨立性易更改可靠性效率總體效用易用性可維護性可測試性人體工程學可移植性易懂性精確性完整性完全性可說明性

設備功效易操作性溝通良好自我操作性架構性簡明性易懂性可維護性模塊獨立性連續(xù)性2023/7/1913軟件過程質量軟件能力成熟度模型CMM(CapabilityMaturityModel).國際標準過程模型ISO9000軟件過程改進和能力決斷SPICE(SoftwareProcessImprovementandCapabilitydEtermination)2023/7/1914質量保證的策略主要分三個階段:

以檢測為重:產(chǎn)品制成之后進行檢測,只能判斷產(chǎn)品質量,不能提高產(chǎn)品質量。

以過程管理為重:把質量的保證工作重點放在過程管理上,對制造過程中的每一道工序都要進行質量控制。

以新產(chǎn)品開發(fā)為重:在新產(chǎn)品的開發(fā)設計階段,采取強有力的措施來消滅由于設計原因而產(chǎn)生的質量隱患。2023/7/1915全面質量管理(TQM)TQM=TotalQualityManagement全面質量管理TQM是為了能夠在最經(jīng)濟的水平上,并考慮到充分滿足用戶要求的條件下進行市場研究、設計、生產(chǎn)和服務,把企業(yè)內各部門研制質量、維持質量和提高質量的活動構成為一體的一種有效體系

TQM內容:

全員參與質量管理

全過程質量管理。

TQM的4個關鍵要素:關注客戶過程改進質量的人性化因素度量(即模型的測量和分析)2023/7/1916質量管理發(fā)展五個階段1900手工操作者專職檢驗員1920過程統(tǒng)計技術1931全面質量管理1960以顧客為中心階段時間20002023/7/19172.2軟件缺陷(Bug)是什么任何程序、系統(tǒng)中的問題,和產(chǎn)品設計書的不一致性,不能滿足用戶的需求

2023/7/1918Anyproblem/disfigurement/limitationinproductdesign&development

Featureorfunctioncan’tworkUnreasonabledesignPartlyrealizationinfunctionDataerrorRunerrorLimitationinfeaturesDifferencebetweenactualresultsandexpectedresultsUnfriendlyUI,LowperformanceOthers問題出在哪里?項目沒有被很好地理解;計劃不周,最終導致進度拖延。沒有充分的文檔資料。人與人的交流比寫程序困難得多。軟件可靠性缺少度量的標準,質量無法保證。軟件難以維護、不易升級。2023/7/1919解決問題的想法Bettermanagement管理Differentteamorganizations組織Betterlanguages&tools語言和工具Uniformcodingconventions編程慣例必須意識到:“軟件”

≠編程,它有自己的生命周期(lifecycle)。大型軟件系統(tǒng)的開發(fā)與其它工程項目如建造橋梁、制造飛機、輪船等的開發(fā)是同理的。2023/7/1920實踐證明:對軟件進行充分的測試 才能夠有效的保證軟件質量軟件測試對軟件產(chǎn)品進行充分測試,找出其中的缺陷(Bug),并進行修復(Fix)。2023/7/1921缺點(defect)偏差(variance)謬誤(fault)失?。╢ailure)問題(problem)矛盾(inconsistency)錯誤(error)毛?。╥ncident)異常(anomy)缺陷-Bug2023/7/1922軟件缺陷IEEE(1983)729軟件缺陷一個標準的定義:

從產(chǎn)品內部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護過程中所存在的錯誤、毛病等各種問題;

從外部看,軟件缺陷是系統(tǒng)所需要實現(xiàn)的某種功能的失效或違背。

軟件缺陷的主要類型/現(xiàn)象:

功能、特性沒有實現(xiàn)或部分實現(xiàn)

設計不合理,存在缺陷

實際結果和預期結果不一致

運行出錯,包括運行中斷、系統(tǒng)崩潰、界面混亂

數(shù)據(jù)結果不正確、精度不夠

用戶不能接受的其他問題,如存取時間過長、界面不美觀2023/7/1923軟件缺陷的產(chǎn)生

技術問題算法錯誤,語法錯誤,計算和精度問題,接口參數(shù)傳遞不匹配團隊工作誤解、溝通不充分軟件本身文檔錯誤、用戶使用場合(userscenario),時間上不協(xié)調、或不一致性所帶來的問題系統(tǒng)的自我恢復或數(shù)據(jù)的異地備份、災難性恢復等問題2023/7/1924軟件缺陷構成2023/7/1925軟件缺陷在不同階段的分布在真正的程序測試之前,通過審查、評審會可以發(fā)現(xiàn)更多的缺陷。規(guī)格說明書的缺陷會在需求分析審查、設計、編碼、測試等過程中會逐步發(fā)現(xiàn),而不能在需求分析一個階段發(fā)現(xiàn)2023/7/1926缺陷成本2023/7/19272.3軟件測試的基本方法根據(jù)G.J.Myers觀點--軟件測試的目:

軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程

一個好的測試能夠在第一時間發(fā)現(xiàn)程序中存在的錯誤

一個好的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。軟件測試是質量控制的重要手段,保證客戶拿到或用戶使用高質量的軟件產(chǎn)品2023/7/1928軟件測試誤區(qū)

誤區(qū)一:如果發(fā)布出去的軟件有質量問題,都是軟件測試人員的錯誤區(qū)二:軟件測試技術要求不高,至少比編程容易多了誤區(qū)三:有時間就多測試一些,來不及就少測試一些誤區(qū)四:軟件測試是測試人員的事,與開發(fā)人員無關誤區(qū)五:根據(jù)軟件開發(fā)瀑布模型,軟件測試是開發(fā)后期的一個階段2023/7/1929軟件測試的原則所有測試的標準都是建立在用戶需求之上。軟件測試必須基于“質量第一”的思想去開展各項工作,當時間和質量沖突時,時間要服從質量。事先定義好產(chǎn)品的質量標準,只有有了質量標準,才能根據(jù)測試的結果,對產(chǎn)品的質量進行分析和評估。軟件項目一啟動,軟件測試也就是開始,而不是等程序寫完,才開始進行測試。窮舉測試是不可能的。甚至一個大小適度的程序,其路徑排列的數(shù)量也非常大,因此,在測試中不可能運行路徑的每一種組合。2023/7/1930軟件測試的原則(2)第三方進行測試會更客觀,更有效。軟件測試計劃是做好軟件測試工作的前提。測試用例是設計出來的,不是寫出來的,所以要根據(jù)測試的目的,采用相應的方法去設計測試用例,從而提高測試的效率,更多地發(fā)現(xiàn)錯誤,提高程序的可靠性。對發(fā)現(xiàn)錯誤較多的程序段,應進行更深入的測試。一般來說,一段程序中已發(fā)現(xiàn)的錯誤數(shù)越多,其中存在的錯誤概率也就越大。重視文檔,妥善保存一切測試過程文檔(測試計劃、測試用例、測試報告等)2023/7/1931軟件測試的原則(3)

應當把“盡早和不斷地測試”作為測試人員的座右銘

回歸測試的關聯(lián)性一定要引起充分的注意,修改一個錯誤而引起更多錯誤出現(xiàn)的現(xiàn)象并不少見

測試應從“小規(guī)?!遍_始,逐步轉向“大規(guī)模”。

不可將測試用例置之度外,排除隨意性。

必須徹底檢查每一個測試結果。

一定要注意測試中的錯誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習慣有很大的關系

對測試錯誤結果一定要有一個確認的過程。2023/7/1932測試方法

黑盒子和白盒子

靜態(tài)的和動態(tài)的

文檔、代碼審查

數(shù)據(jù)輸入邊界條件法

等價劃分、數(shù)據(jù)流程圖

狀態(tài)變換圖

邏輯路徑法2023/7/1933黑盒子和白盒子功能測試數(shù)據(jù)驅動測試結構測試邏輯驅動測試

客戶需求事件驅動輸入輸出2023/7/1934靜態(tài)的和動態(tài)的主持人作者記錄員列席人員內審員技術專業(yè)人員用戶代表不正式正式互審

走讀審查會議運行程序2023/7/1935自動測試和手工測試手工模擬用戶操作2023/7/1936驗證和確認(V&V)

Verification:Arewebuildingtheproductright?是否正確地構造了軟件?即是否正確地做事,驗證開發(fā)過程是否遵守已定義好的內容。驗證產(chǎn)品滿足規(guī)格設計說明書的一致性Validation:Arewebuildingtherightproduct?

是否構造了正是用戶所需要的軟件?即是否正在做正確的事。驗證產(chǎn)品所實現(xiàn)的功能是否滿足用戶的需求2023/7/19372.4軟件測試的分類和階段開發(fā)生命周期...

維護需求定義應用定義應用開發(fā)

修訂

建立

建立測試生命周期...執(zhí)行.執(zhí)行執(zhí)行.測試計劃缺陷跟蹤測試開發(fā)測試設計評估2023/7/1938軟件測試分類方法目標/特性單元測試系統(tǒng)測試驗收測試性能測試強壯性測試功能測試白盒測試黑盒測試測試階段或層次適用性測試可靠性測試集成測試安全性測試2023/7/1939軟件測試階段階段輸入

輸出

需求分析需求定義,市場分析文檔,相關技術文檔市場需求分析會議記要,功能設計,技術設計設計審查市場需求文檔,技術設計文檔測試計劃,測試用例功能驗證代碼完成文件包,功能詳細設計說明書最終技術文檔完整測試用例,完備的測試計劃,缺陷報告,功能驗證測試報告系統(tǒng)測試代碼修改后的文件包完整測試用例,完備的測試計劃缺陷報告缺陷狀態(tài)報告項目階段報告確認測試代碼凍結文件包確認測試用例缺陷狀態(tài)報告缺陷報告審查版本審查版本發(fā)布代碼發(fā)布文件包測試計劃檢查清單當前版本已知問題的清單版

溫馨提示

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

評論

0/150

提交評論