軟體測試要學什麼(3)軟體測試流程詳解
軟體測試主要工作內容是驗證(verification)和確認(validation),下面分別給出其概念:
驗證(verification)是保證軟體正確地實現了一些特定功能的一系列活動, 即保證軟體以正確的方式來做了這個事件(Do it right)
1.確定軟體生存週期中的一個給定階段的產品是否達到前階段確立的需求的過程。
2.程式正確性的形式證明,即採用形式理論證明程式符合設計規約規定的過程。
3.評審、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或檔案等是否和規定的需求相一致進行判斷和提出報告。
確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟體的邏輯正確性。即保證軟體做了你所期望的事情。(Do the right thing)
1.靜態確認,不在計算機上實際執行程式,透過人工或程式分析來證明軟體的正確性。
2.動態確認,透過執行程式做分析,測試程式的動態行為,以證實軟體是否存在問題。
軟體測試的物件不僅僅是程式測試,軟體測試應該包括整個軟體開發期間各個階段所產生的文件,如需求規格說明、概要設計文件、詳細設計文件,當然軟體測試的主要物件還是源程式。
測試方法
等價類
1.定義
是把所有可能的輸入資料,即程式的輸入域劃分成若干部分(子集),然後從每一個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。
2.劃分等價類
等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的,併合理地假定:測試某等價類的代表值就等於對這一類其它值的測試,因此,可以把全部輸入資料合理劃分為若干等價類,在每一個等價類中取一個資料作為測試的輸入條件就可以用少量代表性的測試資料取得較好的測試結果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。
1)有效等價類
是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。
2)無效等價類
與有效等價類的定義恰巧相反。無效等價類指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。對於具體的問題,無效等價類至少應有一個,也可能有多個。
設計測試用例時,要同時考慮這兩種等價類。因為軟體不僅要能接收合理的資料,也要能經受意外的考驗,這樣的測試才能確保軟體具有更高的可靠性。
3.劃分等價類的標準
1)完備測試、避免冗餘;
2)劃分等價類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的並是整個集合;
3)並是整個集合:完備性;
4)子集互不相交:保證一種形式的無冗餘性;
5)同一類中標識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理對映到"相同的執行路徑"。
4.劃分等價類的方法
1)在輸入條件規定了取值範圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類。
如:輸入值是學生成績,範圍是0~100。
2)在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可確立一個有效等價類和一個無效等價類。
邊界值
1. 定義: 邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。
2. 與等價劃分的區別
1) 邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。
2) 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
3. 邊界值分析方法的考慮:
長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。
使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。
4. 常見的邊界值
1) 對16-bit 的整數而言 32767 和 -32768 是邊界
2) 螢幕上游標在最左上、最右下位置
3) 報表的第一行和最後一行
4) 陣列元素的第一個和最後一個
5) 迴圈的第 0 次、第 1 次和倒數第 2 次、最後一次
5. 邊界值分析
1) 邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在於劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。
例:測試計算平方根的函式
--輸入:實數
--輸出:實數
--規格說明:當輸入一個0或比0大的數的時候,返回其正平方根;當輸入一個小於0的數時,顯示錯誤資訊"平方根非法-輸入值小於0"並返回0;庫函式Print-Line可以用來輸出錯誤資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2639561/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試要學什麼(1)黑盒測試詳解教程
- 軟體測試要學什麼(4)軟體測試流程及常見測試點總結
- 軟體測試要學什麼(2)白盒測試詳解教程
- 軟體測試要學什麼(7)軟體測試常用工具
- 軟體測試要學什麼(5)效能測試大綱
- 軟體測試流程
- 軟體測試入門【1】什麼是軟體測試
- 軟體測評中心簡要分析:為什麼要進行軟體效能測試?
- 軟體測試之登入測試詳解
- 軟體測試的流程
- 軟體為什麼要進行安全測試?可做安全測試的軟體檢測公司安利
- 軟體測試包括什麼?
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試工作流程
- 軟體功能測試的測試流程有哪些?軟體測試公司排名分享
- 軟體測試學習網站有哪些?怎麼學軟體測試呢?學習網站
- 軟體測試中的黑盒測試是什麼?
- 什麼是敏捷軟體測試敏捷
- 軟體測試學習教程—軟體測試基本知識
- 軟體測試書籍-學軟體測試最好的書
- 軟體測試為什麼需要自動化測試框架?權威軟體測試公司分享框架
- 軟體測評中心▏軟體功能測試和非功能測試分別是什麼?
- 軟體壓力測試有哪些測試流程?軟體測試報告收費情況測試報告
- 為什麼要進行軟體測試需求分析?廣東權威的軟體測試公司有哪些?
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 軟體測試培訓需要學習什麼
- 軟體測試需要學習什麼技術?
- Parasoft軟體測試實踐:什麼是左移測試?
- 軟體測試中的白盒測試是什麼?
- 如何搭建良好的軟體測試環境?測試環境對軟體測試起到什麼作用?
- 軟體安全測試有哪些測試要點?軟體安全測試報告價格是多少?測試報告
- 軟體測試的流程有哪些?
- 【軟體測試】——介面測試
- 為什麼軟體測試外包更好?
- 軟體測試是幹什麼的
- 軟體測試——三、軟體測試的分類
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試