軟件測試--1概述_第1頁
軟件測試--1概述_第2頁
軟件測試--1概述_第3頁
軟件測試--1概述_第4頁
軟件測試--1概述_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試 -概述主題 涂磊 2012.7.5課程目標v了解軟件測試工程師的職業(yè)要求及特點v掌握軟件測試的基本概念 v熟悉常用的軟件測試類型v熟悉軟件測試的基本工作過程v了解常用的軟件測試用例方法課程內(nèi)容v軟件測試背景v什么是軟件測試v軟件測試的基本工作過程v測試用例及其設計方法軟件的定義 公認的軟件定義由三部分組成: 1、運行中能提供所希望的功能和性能的指令集 (即程序)。 2、使程序能夠正確運行的數(shù)據(jù)結構。 3、描述整個程序研發(fā)過程、方法所用的文檔。軟件缺陷是什么? 軟件未達到產(chǎn)品說明書標明的功能。 軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤。 軟件功能超出產(chǎn)品說明書指明范圍。 軟件未達到產(chǎn)品說

2、明書雖未指出但應達到的目標。 軟件測試員認為軟件難以理解、不易使用、運行速度緩慢, 或者最終用戶認為不好。軟件缺陷的產(chǎn)生需求錯誤缺乏交流設計錯誤文檔缺乏缺陷軟件復雜開發(fā)編碼時間壓力Requirem ents5 6 %D esign2 7 %O ther1 0 %C ode7 %錯誤定位費用分析錯誤定位費用分析Requirem ents82%D esign13%O ther4%C ode1%James Martin:超過50%的缺陷由不完善的、不正確的、不準確的和/或不明確的需求所引起James Martin:80%以上的用于定位軟件錯誤的費用是基于軟件系統(tǒng)需求定義的錯誤軟件缺陷錯誤分析階段需求

3、設計編碼單元測試驗收測試交付后維護糾正費件缺陷的維護費用軟件測試貫穿整個項目周期概念方案開發(fā)驗證發(fā)布啟動啟動項目項目制定產(chǎn)品測試策略制定產(chǎn)品測試計劃持續(xù)跟蹤監(jiān)控產(chǎn)品測試計劃優(yōu)化產(chǎn)品測試計劃測試測試軟件測試人員應具備的能力1、探索精神:軟件測試人員不會害怕進入陌生環(huán)境。2、故障排除能手:軟件測試人員善于發(fā)現(xiàn)問題的癥結,喜歡猜謎。3、不懈努力:軟件測試人員總是不停嘗試。他們可能會碰到轉瞬即逝或者難以重建的軟件缺陷;他們不會心存僥幸,而是盡一切可能去尋找。4、創(chuàng)造性:想出富有創(chuàng)意甚至超常的手段來尋找軟件缺陷。5、追求完美:力求完美,但是知道某些目標無法企及時,不去苛求,而是

4、盡力接近目標。6、判斷準確:軟件測試人員要決定測試內(nèi)容、測試時間,以及看到的問題是否算作真正的缺陷。7、老練穩(wěn)重:軟件測試員不害怕壞消息。8、說服力:軟件測試員要善于表達觀點,表明軟件缺陷為何必須修復,并通過實際演示力陳述觀點。軟件測試人員職業(yè)發(fā)展方向課程內(nèi)容v軟件測試背景v什么是軟件測試v軟件測試的基本工作過程v測試用例及其設計方法軟件測試定義軟件測試(Software testing)是軟件生存期中的一個重要階段,是軟件質(zhì)量保證的關鍵步驟。通俗地講,軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼進行最終復審的活動。1983年IEEE提出的軟件工程術語中給軟件測試下的定義是

5、:“使用人工或自動的手段來運行或測定某個軟件系統(tǒng)或系統(tǒng)部件的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結果與實際結果之間的差別”。軟件測試的對象 軟件測試不等于程序測試,軟件測試貫穿于軟件定義和開發(fā)的整個期間。需求分析,概要設計,詳細設計,以及程序編碼等各個階段所得到的文檔,包括需求規(guī)格說明、概要設計規(guī)格說明、詳細設計規(guī)格說明以及源程序,都是軟件測試的對象。軟件測試=程序+文檔+數(shù)據(jù)軟件測試的目的 從用戶(測試人員或QC)的角度出發(fā),普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可接受該產(chǎn)品。 從軟件開發(fā)者的角度出發(fā),則希望測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗證該軟件

6、已正確地實現(xiàn)了用戶的要求,確立人們對軟件質(zhì)量的信心。 測試的目的就是發(fā)現(xiàn)軟件中的各種缺陷 以較少的用例、時間和人力找出軟件中的各種錯誤和缺陷,以確保軟件的質(zhì)量最終目的是確保軟件的功能符合用戶的需求,把盡可能多的問題在發(fā)布或交付前發(fā)現(xiàn)并改正:-確保軟件完成了它所承諾或公布的功能-確保軟件滿足性能的要求-確保軟件是健壯的和適應用戶環(huán)境的軟件測試的目的軟件測試的兩個重要原則Good-enough原則 Zero-bug & Good-enough 投入 & 產(chǎn)出Pareto原則(二八原則) 研發(fā)測試:80% BUG 系統(tǒng)測試:80% BUG 用戶使用:5% BUG軟件測試的原則 測試的目的在于發(fā)現(xiàn)錯誤

7、 ,應盡早地和不斷地進行測試 測試只能證明軟件存在缺陷,不能證明軟件不存在缺陷 測試不是為了證明程序是正確的,而是應從軟件包含有缺陷和故障這個假定去進行測試活動。 測試可以使軟件中缺陷降低到一定程度,而不是徹底消滅 充分注意測試中的群集現(xiàn)象經(jīng)驗表明,測試后程序中殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目成正比。 所有的測試都應可追溯到客戶需求 窮舉測試是不可能的 嚴格執(zhí)行測試計劃,排除測試的隨意性。 應當對每一個測試結果做全面檢查。 妥善保存測試計劃,測試用例,出錯統(tǒng)計和最終分析報告,為維護提供方便。軟件測試的分類名稱說明黑盒測試基于軟件需求,而不是基于軟件內(nèi)部設計和程序?qū)崿F(xiàn)的測試方式。白盒測試

8、基于軟件內(nèi)部設計和程序?qū)崿F(xiàn)的測試方式。單元測試主要測試軟件模塊的源代碼。一般由開發(fā)人員而非獨立測試人員來執(zhí)行,因為測試者需要懂得該單元的設計與程序?qū)崿F(xiàn),測試者可能需要編寫額外的測試驅(qū)動程序。集成測試將一些“構件”集成一起時,測試它們能否正常運行。這里“構件”可以是程序模塊、客戶機服務器程序等等。功能測試測試軟件的功能是否符合功能性需求,通常采用黑盒測試方式。一般由獨立測試人員執(zhí)行。系統(tǒng)測試測試軟件系統(tǒng)是否符合所有需求,包括功能性需求與非功能性需求。一般由獨立測試人員執(zhí)行,通常采用黑盒測試方式?;貧w測試指錯誤被修正后或軟件功能、環(huán)境發(fā)生變化后進行的重新測試?;貧w測試的困難在于不好確定哪些內(nèi)容應當

9、被重新測試。驗收測試由客戶或最終用戶執(zhí)行,測試軟件系統(tǒng)是否符合需求規(guī)格說明書。軟件測試的分類名稱說明負載測試測試軟件系統(tǒng)的最大負載,超出此負載軟件可能會失常。壓力測試概念上與負載測試相似,叫法不同。性能測試測試軟件在各種狀況下的性能,如在正?;蜃畲筘撦d下的狀況。易用性測試測試軟件是否易用,主觀性比較強。一般要根據(jù)很多用戶的測試反饋信息,才能評價易用性。安裝與反安裝測試測試軟件在“全部、部分、升級”等狀況下的安裝/反安裝過程?;謴蜏y試測試該系統(tǒng)從故障中恢復過來的能力。安全性測試測試該系統(tǒng)防止非法侵入的能力。兼容性測試測試該系統(tǒng)與其它軟件硬件兼容的能力。比較測試通過與同類產(chǎn)品比較,考察該系統(tǒng)的優(yōu)點

10、、缺點。Alpha 測試一種先期的用戶測試,此時系統(tǒng)剛剛開發(fā)完成。Beta測試一種后期的用戶測試,此時系統(tǒng)已經(jīng)通過內(nèi)部測試,大部分錯誤已經(jīng)改正,即將正式發(fā)行。軟件測試的分類和比較 測試方式n白盒測試:關心軟件內(nèi)部設計和程序?qū)崿F(xiàn),主要測試依據(jù)是設計文檔n黑盒測試:不關心軟件內(nèi)部,只關心輸入輸出,主要測試依據(jù)是需求文檔(SRS) 軟件測試的分類和比較測試方式特征依據(jù)測試人員測試驅(qū)動程序黑盒測試只關心軟件的外部表現(xiàn),不關心內(nèi)部設計與實現(xiàn)。又叫做功能測試或數(shù)據(jù)驅(qū)動測試。軟件需求任何人(包括開發(fā)人員、獨立測試人員和用戶)一般無需編寫額外的測試驅(qū)動程序白盒測試關注軟件的內(nèi)部設計與實現(xiàn),要跟蹤源代碼的運行。

11、又叫結構測試或邏輯驅(qū)動測試。設計文檔由開發(fā)人員兼任測試人員的角色需要編寫額外的測試驅(qū)動程序 測試階段 單元測試、集成測試、系統(tǒng)測試、驗收測試。是“從小到大”、“由內(nèi)至外”、“循序漸進”的測試過程,體現(xiàn)了“分而治之”的思想。 單元測試的粒度最小,一般由開發(fā)小組采用白盒方式來測試,主要測試單元是否符合“設計”。 集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既要驗證“設計”又要驗證“需求”。 系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。 驗收測試與系統(tǒng)測試非常相似,主要區(qū)別是測試人員不同,驗收測

12、試由用戶執(zhí)行。 軟件測試的分類和比較軟件測試的內(nèi)容測試內(nèi)容n接口與路徑測試。 n功能測試、健壯性測試、性能測試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝/反安裝測試 測試階段 主要依據(jù) 測試人員、測試方式 主要測試內(nèi)容 單元測試單元測試系統(tǒng)設計文檔系統(tǒng)設計文檔由開發(fā)小組執(zhí)行白盒測由開發(fā)小組執(zhí)行白盒測試試 接口測試、路徑測試接口測試、路徑測試 集成測試集成測試系統(tǒng)設計文檔系統(tǒng)設計文檔需求文檔需求文檔由開發(fā)小組執(zhí)行白盒測由開發(fā)小組執(zhí)行白盒測試和黑盒測試試和黑盒測試 接口測試、路徑測試接口測試、路徑測試功能測試、性能測試功能測試、性能測試 系統(tǒng)測試系統(tǒng)測試需求文檔需求文檔由獨立測試小組執(zhí)

13、行黑由獨立測試小組執(zhí)行黑盒測試盒測試 功能測試、健壯性測試、性能測功能測試、健壯性測試、性能測試、用戶界面測試、安全性測試、試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝壓力測試、可靠性測試、安裝/ /反安裝測試反安裝測試 驗收測試驗收測試需求文檔需求文檔由用戶執(zhí)行黑盒測試由用戶執(zhí)行黑盒測試 課程內(nèi)容v軟件測試背景v什么是軟件測試v軟件測試的基本過程v測試用例及其設計方法用戶需求用戶需求軟件需求軟件需求概要概要設計設計詳細設計詳細設計編碼實現(xiàn)編碼實現(xiàn)單元測試單元測試集成測試集成測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試準備計劃驗證驗證準備計劃驗證驗證準備計劃驗證驗證軟件測試的V模型軟件需求

14、文檔系統(tǒng)測試計劃集成測試計劃單元測試報告集成測試報告系統(tǒng)測試報告驗收測試報告螺旋式測試過程Plan /Analysis計劃計劃/分析分析Design設計設計Coding編碼編碼Test/Deliver測試測試/交付交付Test Case Design測試用例設計測試用例設計Test Development測試開發(fā)、環(huán)境測試開發(fā)、環(huán)境搭建搭建Test Planning測試測試計劃計劃Test Execution/Evaluation測試執(zhí)行測試執(zhí)行/評估評估一個規(guī)范化的軟件測試過程包括以下基本的測試活動-擬定軟件測試計劃、方案-設計和生成測試用例、準備測試數(shù)據(jù)-執(zhí)行測試,記錄原始數(shù)據(jù),對缺陷進行

15、管理-生成軟件測試報告、缺陷的統(tǒng)計和報表軟件測試過程與整個軟件開發(fā)過程基本上是平行進行的一個開發(fā)機構還應當制定軟件測試規(guī)程,按照軟件工程的規(guī)范,定義各項活動的目標和詳細過程 軟件測試基本過程軟件測試基本過程 測試報告填寫 確定測試要求 制定測試計劃 雙方確定測試計劃 有修改 確認過過 制定測試方案 安排項目進度 培訓測試人員 建立測試環(huán)境 編寫測試用例 執(zhí)行測試計劃 檢測并在數(shù)據(jù)庫中記錄缺陷 未完成 回歸測試 完成 向用戶提交缺陷列表 測試報告填寫 開發(fā)人員修正錯誤 客 戶 是 否 課程內(nèi)容v 軟件測試背景v什么是軟件測試v軟件測試的基本工作過程v測試用例及其設計方法為什么需要測試用例 所謂的

16、測試用例就是將軟件測試的行為活動,做一個科學化的組織歸納。軟件測試是有組織性、步驟性和計劃性的,而設計軟件測試用例的目的,就是為了能將軟件測試的行為轉換為可管理的模式。 軟件測試是軟件質(zhì)量管理中最實際的行動,同時也是耗時最多的一項?;跁r間因素的考慮,軟件測試行為必須能夠加以量化,才能進一步讓管理階層掌握所需要的測試過程,而測試用例就是將測試行為具體量化的方法之一。什么是測試用例為達到最佳的測試效果或高效的揭露隱藏的錯誤而精心設計的少量測試數(shù)據(jù),稱之為測試用例。內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預期結果、測試腳本等,并形成文檔。 測試用例是為特定的目的而設計的一組測試輸入、執(zhí)行條

17、件和預期的結果我們不可能進行窮舉測試,為了節(jié)省時間和資源、提高測試效率,必須要從數(shù)量極大的可用測試數(shù)據(jù)中精心挑選出具有代表性或特殊性的測試數(shù)據(jù)來進行測試。一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。測試用例是執(zhí)行的最小實體測試用例的基本要素目的 前提條件 輸入數(shù)據(jù)或動作 期望的響應 各種環(huán)境設置 對應的需求測試用例的代表性: 能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、 邊界的和越界的以及極限的輸入數(shù)據(jù)、操作和環(huán)境設置等。測試結果的可判定性: 即測試執(zhí)行結果的正確性是可判定的,每一個測試用例都應有相應的期望結果。測試結果的可再現(xiàn)性: 即對同樣的測試用例,系統(tǒng)的執(zhí)行結果應當是相同的。

18、測試用例的基本準則黑盒測試用例的設計方法名稱說明等價類分析法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例;包括有效等價、無效等價等邊界值分析法邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,其測試用例來自等價類的邊界。包括數(shù)值的邊界值、字符邊界值、其他邊界值等。場景法現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結果就形成事件流。這種在軟件設計方面的思想也可以引入到軟件測試中,可以比較生動地描繪出事件觸發(fā)時的情景,有利于測試設計者設計測試用例,同時使測試用例更容易理解和執(zhí)行名稱說明錯誤推測法基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。判定表驅(qū)動法判定表是分析和表達多邏輯條件下執(zhí)行不同操作的情況的工具。由條件樁、動作樁、條件項、動作項組成正交試驗設計法正交實驗設計法是通過正交試驗

溫馨提示

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

評論

0/150

提交評論