文章目錄
- part Ⅰ
- 測試基礎
- 三種品質模型-“産品品質模型”分析
- 一級名額“功能性”
- 一級名額“可靠性”
- 一級名額“易用性”
- 一級名額“效率”
- 一級名額“可維護性”
- 一級名額“可移植性”
- 産品品質模型各名額間相關性
- 三種品質模型-“使用品質模型”分析
- 五種軟體測試的分類-按軟體的“不同階段”分類
- 五種分類方式
- 按不同階段分類
- 回歸測試
- 附:簡述“驗證”與“确認”的差別?
- 軟體測試的一組重要觀點-軟體錯誤的四種現象
- 軟體測試的一組重要觀點-軟體測試的成本
- 附:軟體測試的七條基本原則
- 軟體測試的一組重要觀點-軟體測試的一組“重要論斷”
- 黑盒測試
- 邊界值分析-基礎定義
- 三個點的定義
- “邊界值”定義
- 常見的幾類邊界
- 常見邊界的邊界值
- 四種黑盒測試技術
- 白盒測試
- 邏輯覆寫的6種方法-一組執行個體
- part Ⅱ
- 測試基礎
- 過程品質模型(生存周期)
- 生存周期基本過程
- 五種軟體測試的分類-按軟體的“不同階段”分類
- 五種分類方式
- 按不同階段分類
- 回歸測試
- 軟體測試的一組重要觀點-軟體錯誤的四種形式
- 軟體測試的一組重要觀點-軟體測試的一組“重要論斷”
- 缺陷管理-“缺陷管理資訊系統”的設計
- MIS設計的三個關鍵問題?
- 問題一:“缺陷”對象資料結構設計
- 問題二:“缺陷”對象狀态設計
- 問題三:針對“缺陷”對象的功能設計
- 黑盒測試
- 等價類劃分-等價類劃分的基本方法
- *基本思想
- *基本步驟
- *基本類型
- 基本方法
- 附:設計測試用例的基本原則
- 等價類劃分-練習題
- 小結
- 邊界值分析-練習題
- 白盒測試
- 邏輯覆寫的6種方法
- 性能測試
- 定義,場景,步驟,3道例題
- 其他測試
- 文檔測試
- 軟體品質保證
- 1.三名管理大師及他們的主要品質觀點
- 2.軟體品質保證基本概念
- ISO9000體系
- part Ⅲ
- 測試基礎
- 缺陷管理-“缺陷管理資訊系統”的設計
- MIS設計的三個關鍵問題?
- 問題一:“缺陷”對象資料結構設計
- 問題二:“缺陷”對象狀态設計
- 問題三:針對“缺陷”對象的功能設計
- 黑盒測試
- 等價類劃分-練習題
- 小結
- 因果圖-練習題
- 基本思想
- 白盒測試
- 提升程式“易測試性”方法-錯誤樁
- 性能測試
- LoadRunner11中文版-基礎教程
part Ⅰ
測試基礎
三種品質模型-“産品品質模型”分析
産品品質模型如圖所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yM3MDO1UzMyUTYzQmNmNGNzYzX3QTMzQTM3EzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
一級名額“功能性”
“功能性”名額是指:當軟體在指定條件下使用時,軟體産品提供滿足明确和隐含要求的功能的能力。
- 适合性。軟體産品為指定的任務和使用者目标提供一組合适的功能的能力
- 準确性。軟體産品提供具有所需精度的正确或相符的結果或效果的能力
- 互操作性。軟體産品與一個或更多的規定系統進行互動的能力
- 安全保密性。軟體産品保護資訊和資料的能力,以使未授權的人員或系統不能閱讀或修改這些資訊和資料,而不拒絕授權人員或系統對它們的通路。
一級名額“可靠性”
“可靠性”名額是指:在指定條件下使用時,軟體産品維持規定的性能級别的能力。
- 成熟性。軟體産品為避免由軟體中故障而導緻失效的能力。
- 容錯性。在軟體出現故障或者違反其指定接口的情況下,軟體産品維持規定的性能級别的能力。
- 易恢複性。在失效發生的情況下,軟體産品重建規定的性能級别并恢複受直接影響的資料的能力。
一級名額“易用性”
在指定條件下使用時,軟體産品被了解、學習、使用和吸引使用者的能力。
- 易了解性。軟體産品使使用者能了解軟體是否合适以及如何能将軟體用于特定的任務和使用條件的能力。
- 易學性。軟體産品使使用者能學會其應用的能力。
- 易操作性。軟體産品使使用者能操作和控制它的能力。
- 吸引性。軟體産品吸引使用者的能力。
一級名額“效率”
在規定條件下,相對于所用資源的數量,軟體産品可提供适當性能的能力。
- 時間特性。在規定條件下,軟體産品執行其功能時,提供适當的響應和處理時間以及吞吐率的能力。
- 資源利用性。在規定條件下,軟體産品執行其功能時,使用合适數量和類别的資源的能力。
一級名額“可維護性”
軟體産品可被修改的能力。修改可能包括修正、改進或軟體對環境、需求和功能規格說明變化的适應。
- 易分析性。軟體産品診斷軟體中的缺陷或失效原因或識别待修改部分的能力。
- 易改變性。軟體産品使指定的修改可以被實作的能力。
- 穩定性。軟體産品避免由于軟體修改而造成意外結果的能力。
- 易測試性。軟體産品使已修改軟體能被确認的能力。
一級名額“可移植性”
軟體産品從一種環境遷移到另外一種環境的能力。
- 适應性。軟體産品毋需采用額外的活動或手段就可适應不同指定環境的能力。
- 易安裝性。軟體産品在指定環境中被安裝的能力。
- 共存性。軟體産品在公共環境中同與其分享公共資源的其他獨立軟體共存的能力。
- 易替換性。軟體産品在同樣環境下,替代另一個相同用途的指定軟體産品的能力。
産品品質模型各名額間相關性
三種品質模型-“使用品質模型”分析
使用品質模型如圖所示:
- 有效性。軟體産品在指定的使用周境下,使使用者能正确和完全地達到規定目标的能力。
- 生産率。軟體産品在指定的使用周境下,使使用者為達到有效性而消耗适當數量的資源的能力。
- 安全性。軟體産品在指定使用周境下,達到對人類、業務、軟體、财産或環境造成損害的可接受的風險級别的能力。
- 滿意度。軟體産品在使用環境中,讓使用者感到滿意的程度。
五種軟體測試的分類-按軟體的“不同階段”分類
五種分類方式
- 按軟體的“不同狀态”分類
- 按軟體的“不同階段”分類
- 按軟體的“不同特性”分類
- 按軟體的“不同開發方式”分類(業界)
- 按測試的“不同方法”分類(學界)
按不同階段分類
- 單元測試:對程式員編寫完成的某個程式單元測試;
- 內建測試(組裝測試):将所有程式單元(子產品)進行有序的、遞增的組裝并測試。發現子產品間接口以及全局資料結構等問題。
- 确認測試:通過檢驗和提供客觀證據,證明軟體是否滿足《軟體需求說明書》中規定的需求。
- 系統測試:為确認是否達到原始目标,對內建的硬體和軟體系統進行的測試。檢查完整的程式系統能否和系統(硬體、外設、網絡和系統軟體、支援平台等)正确配置、連接配接、并滿足使用者需求。
- 驗收測試:按照項目任務書或合同、供需雙方約定的驗收依據檔案進行的對整個系統的測試與評審,決定是否接收或拒收系統。
回歸測試
回歸測試:重複以前的全部或部分的相同測試。
- 目的:軟體的改變可能是源于發現了錯誤并做了修改,也有可能是因為在內建或維護階段加入了新的子產品。回歸測試就是為确定修改和檢查修改是否損害了原有的正常功能。
- 重要性:回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中占有很大的工作量比重,軟體開發的各個階段都會進行多次回歸測試。在極端程式設計方法中,更是要求每天都進行若幹次回歸測試。
附:簡述“驗證”與“确認”的差別?
- 驗證:過程正确,符合設計規範
- 确認:結果正确,符合客戶要求
軟體測試的一組重要觀點-軟體錯誤的四種現象
- 軟體未達到産品說明書标明的功能
- 軟體不能正常運作
- 軟體未達到産品說明書雖未指出但應達到的目标
- 軟體測試員認為軟體難以了解、不易使用、運作速度緩慢,或者最終使用者認為不好
軟體測試的一組重要觀點-軟體測試的成本
- 測試在軟體開發中占有重要地位
-
測試成本占有開發成本的近一半
如:
附:軟體測試的七條基本原則
- 初心原則。所有軟體測試,都應追溯到使用者需求
- 從速原則。盡早地和不斷地進行軟體測試
- 折衷原則。完全測試是不可能的,測試需要終止條件(原因:輸入量太大;輸出結果太多;路徑組合太多)
- 不完備原則。測試無法顯示軟體潛在的缺陷
- 正比原則。測試後程式中殘存的錯誤數目與該程式中已經發現的錯誤數目成正比
- 回避原則。程式員應避免檢查自己的程式
- 設計原則。遵循PDCA規律,避免測試的随意性
軟體測試的一組重要觀點-軟體測試的一組“重要論斷”
- “零缺陷軟體”是不可能的,隻是一個可望不可及的目标;
- 完全測試程式是不可能的
- 測試隻能證明錯誤存在,不能證明錯誤不存在
- 測試應當循序漸進,不應企圖一次性測完
- 80-20原則:80%的錯誤聚集在20%的子產品中,經常出錯的子產品改錯後還會經常出錯
- 找到的軟體缺陷越多,說明軟體缺陷越多
- 并非所有軟體缺陷都能修複
- 需求說明書總是在不斷變化
- 測試資源是很有限的
- 軟體測試人員通常在項目組中不受歡迎
黑盒測試
黑盒測試(功能測試),又被稱為資料驅動測試、基于規格說明的測試或使用者測試
邊界值分析-基礎定義
三個點的定義
- 内點:在域範圍内的任意一個點;
- 上點:邊界上的點(無論開區間、閉區間)。
-
離點:離上點最近的一個點,且滿足:
1)如邊界封閉,則域範圍外離上點最近的點;
2)如邊界開放,則域範圍内離上點最近的點。
“邊界值”定義
邊界上的一組“上點”和“離點”分别構成了這個邊界域範圍的“内/外”邊界值。域的邊界被“夾”在上點與離點之間。
常見的幾類邊界
- 報表的第一行和最後一行
- 數組元素的第一個和最後一個;
- 循環的第0次、第1次、倒數第2次、最後1次等
- 2位元組的正整數邊界:65535;65536
常見邊界的邊界值
四種黑盒測試技術
-
等價類劃分法
關鍵1:如何劃分等價類
關鍵2:設計測試用例,覆寫等價類
-
邊界值分析法
關鍵1:用“單故障假設”逐一分解要素
關鍵2:對每個要素,尋找到它獨特的“邊界”
關鍵3:用“上點”、“離點”覆寫“邊界”
-
錯誤推測法
關鍵1:根據“經驗”,從“時間、人、技術”等 ,對錯誤進行“聚類”
關鍵2:根據所聚類型,增加一組測試用例
-
判定表驅動法
關鍵1:識别所有條件、動作,畫“判定表”
關鍵2:根據需求,填“判定表”,并規約
關鍵3:根據規約後的“判定表”設計測試用例
白盒測試
白盒測試(結構測試),又被稱為邏輯驅動測試、基于程式本身的測試或程式員測試
邏輯覆寫的6種方法-一組執行個體
part Ⅱ
測試基礎
過程品質模型(生存周期)
過程品質模型如圖所示:
生存周期基本過程
-
合同視圖
擷取-供應
-
工程試圖
開發
-
運作視圖
運作
- 維護
五種軟體測試的分類-按軟體的“不同階段”分類
五種分類方式
- 按軟體的“不同狀态”分類
- 按軟體的“不同階段”分類
- 按軟體的“不同特性”分類
- 按軟體的“不同開發方式”分類(業界)
- 按測試的“不同方法”分類(學界)
按不同階段分類
- 單元測試:對程式員編寫完成的某個程式單元測試;
- 內建測試(組裝測試):将所有程式單元(子產品)進行有序的、遞增的組裝并測試。發現子產品間接口以及全局資料結構等問題。
- 确認測試:通過檢驗和提供客觀證據,證明軟體是否滿足《軟體需求說明書》中規定的需求。
- 系統測試:為确認是否達到原始目标,對內建的硬體和軟體系統進行的測試。檢查完整的程式系統能否和系統(硬體、外設、網絡和系統軟體、支援平台等)正确配置、連接配接、并滿足使用者需求。
- 驗收測試:按照項目任務書或合同、供需雙方約定的驗收依據檔案進行的對整個系統的測試與評審,決定是否接收或拒收系統。
回歸測試
回歸測試:重複以前的全部或部分的相同測試。
- 目的:軟體的改變可能是源于發現了錯誤并做了修改,也有可能是因為在內建或維護階段加入了新的子產品。回歸測試就是為确定修改和檢查修改是否損害了原有的正常功能。
- 重要性:回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中占有很大的工作量比重,軟體開發的各個階段都會進行多次回歸測試。在極端程式設計方法中,更是要求每天都進行若幹次回歸測試。
軟體測試的一組重要觀點-軟體錯誤的四種形式
-
軟體錯誤
當程式沒有實作其最終使用者合理預期的功能要求時,就表現為軟體錯誤
-
軟體錯誤的四種形式
錯誤(error):在軟體生存周期内的不希望或不可接受的人為錯誤,其結果是導緻軟體缺陷的産生;
缺陷(defect):存在于軟體(文檔、資料、程式)之中的那些不希望或不可接受的偏差;
故障(fault):是一種動态行為,指在軟體運作過程中,出現的不希望或不可接受的内部狀态;
失效(failure):指在軟體運作時産生的,一種不希望或不可接受的外部行為結果。
軟體測試的一組重要觀點-軟體測試的一組“重要論斷”
- “零缺陷軟體”是不可能的,隻是一個可望不可及的目标;
- 完全測試程式是不可能的
- 測試隻能證明錯誤存在,不能證明錯誤不存在
- 測試應當循序漸進,不應企圖一次性測完
- 80-20原則:80%的錯誤聚集在20%的子產品中,經常出錯的子產品改錯後還會經常出錯
- 找到的軟體缺陷越多,說明軟體缺陷越多
- 并非所有軟體缺陷都能修複
- 需求說明書總是在不斷變化
- 測試資源是很有限的
- 軟體測試人員通常在項目組中不受歡迎
缺陷管理-“缺陷管理資訊系統”的設計
定義:缺陷管理是指對于測試人員發現的軟體缺陷,如何進行送出、确認、修複、驗證等管理過程的跟蹤管理。
MIS設計的三個關鍵問題?
問題一:“缺陷”對象資料結構設計
“核心屬性”是缺陷管理的資訊化基礎,包括:
缺陷引發後果的“嚴重性”、處理缺陷的“優先級”。
嚴重性和優先級的設計:
-
四種嚴重性
1.嚴重。系統崩潰、資料丢失、資料破壞(系統級、資料級)
例如:藍屏、當機、資料儲存異常、完整性限制被破壞
2.較嚴重。操作性錯誤、錯誤結果、遺漏功能(功能級)
例如:某菜單項功能無法使用、報表項統計錯誤、“下一步”無法進入指定環節
3.一般:錯别字、小問題(表現級)
例如:對必填框未作校驗
4.建議:不影響使用的“瑕疵”或有“更好的”實作(優化級)
例如:某圖檔顯示變形、界面不“橫平豎直”、關鍵内容顯示不完整
-
五種優先級
1.最高。立即修複,停止進一步測試
2.次高。在産品釋出之前必須修複
3.中等:如果時間允許應該修改
4.最低:可能會修改,但也能釋出
問題二:“缺陷”對象狀态設計
缺陷的“狀态”及“狀态之間的轉換關系”設計是“缺陷管理資訊系統”過程管理基礎。
通常,參考生命周期理論,缺陷對象可設定六種“狀态”:
“生死”狀态:New 、 Closed(由測試決定)
“确認”狀态:Open 、 Fixed(由開發決定)
“拒絕”狀态:Declined 、Deferred
-
六種常見的“錯誤狀态”及“轉換關系”
1.New(新資訊):測試中新報告的軟體bug
2.Closed(關閉):錯誤已被修複,并已經過驗證。
3.Open(打開):bug已被确認,并配置設定給相關的開發人員處理
4.Fixed(修正):bug已由開發人員修正完成,等待測試人員驗證
5.Declined(拒絕):測試人員或開發人員認為不是錯誤,拒絕修改
6.Deferred(延期):不在目前版本修複,在之後某個版本中修複
錯誤狀态轉換圖:
問題三:針對“缺陷”對象的功能設計
功能一:“缺陷”對象的基礎功能,增删改查;
功能二:系統角色定義和OA流轉功能;
功能三:常用統計、分析功能
黑盒測試
黑盒測試(功能測試),又被稱為資料驅動測試、基于規格說明的測試或使用者測試
等價類劃分-等價類劃分的基本方法
*基本思想
等價類劃分”的測試方法是把所有可能的輸入資料,即程式的輸入域劃分為若幹子集,然後從每一個子集中,選取少數具有代表性的資料作為測試用例。
它的一個基本假設是在劃分的子集中,每個輸入條件都是等效的(即等價類),如果其中一個輸入不能發現問題,那麼集合中其他輸入條件進行測試也不能發現錯誤。
由此可見,該方法的基本思想是用一組有限的資料代表近似無限的資料。
*基本步驟
根據程式的I/O特性,将程式的定義域劃分為有限個等價區段 ,即“等價類”;
根據每個等價類設計出“測試用例”。
*基本類型
有效等價類 — 對于程式的規格說明是合理的、有意義的輸入資料構成的集合。
無效等價類 — 對于程式的規格說明,是不合理的,是沒有意義的輸入資料構成的集合。
基本方法
附:設計測試用例的基本原則
- 為每個等價類編号;
- 一個測試用例,盡可能覆寫多個有效等價類
- 一個測試用例,隻能覆寫一個無效等價類。
等價類劃分-練習題
示例一:在某大學學籍管理資訊系統中,假設學生年齡的輸入範圍為16~40,則根據黑盒測試中的等價類劃分技術,下面劃分正确的是____
A:可劃分為2個有效等價類,2個無效等價類;
B:可劃分為1個有效等價類,2個無效等價類;
C:可劃分為2個有效等價類,1個無效等價類;
D:可劃分為1個有效等價類,1個無效等價類;
正确答案:B
示例二:某錄入界面有4個輸入項,要求分别如下:1)姓名,2-4個漢字;2)性别,男/女;3)年齡,16~40;4)學曆,博士/碩士/學士/其他。請用等價類劃分方法,對這個界面設計測試用例,預期結果略。
依據等價類劃分思想,本題計劃采用5個測試用例,進行等價類覆寫:
1.大,大,10,大大
2.大大,男,18,博士
3.大大大大大,女,42,碩士
4.大,大,10,學士
5.大,大,10,其他
示例三:在黑盒測試方法中,等價類劃分方法設計測試用例的步驟是:根據輸入條件把數目極多的輸入資料劃分成若幹個有效等價類和若幹個無效等價類;設計一個測試用例,使其覆寫_(1)尚未被覆寫的有效等價類,重複這一步,直至所有有效等價類均被覆寫。設計一個測試用例,使其覆寫(2)_尚未被覆寫的無效等價類,重複這一步,直至所有無效等價類均被覆寫.
A.1個; B.7個左右; C.一半;
D.盡可能少的; E.盡可能多的; F.全部.
正确答案:E,A
示例四:Nextdate()的等價類劃分測試用例設計。
提示:包括“普通、跨月、跨年”三種情況。
![]()
【軟體測試及品質保證】小結 1.03/08/2016 (1)
2.03/32/2016 (2)
3.03/31/2016 (3)
4.04/30/2016 (4)
5.02/29/2016 (5)
6.02/28/2015 (6)
7.13/28/2015 (7)
8.12/31/1999 (8-10)
9.12/31/0 (11)
示例五:三角形問題:
一個程式讀入三個整數,把這三個數值看作一個三角形的三條邊的長度值。這個程式要列印出資訊,說明“非三角形”、“不等邊三角形”、“等腰三角形”、“等邊三角形”。
提示:區分“是否為三角形的三條邊”、“是否等腰”、“是否等邊”三種情況
![]()
【軟體測試及品質保證】小結 ![]()
【軟體測試及品質保證】小結 依據“覆寫原則”,對測試用例化簡:删1(留11)删8-10(留13-15)
示例六(應用題):傭金問題。某商店銷售玩具槍支配件,包括槍機(45元/隻) ,槍托(30元/隻),槍管(25元/隻),為了刺激銷售業績,實施傭金計算公式如下:
1.銷售額≤1000元 傭金=銷售額*10%
2.1000<銷售額≤1800 傭金=100+(銷售額-1000)*15%
3.銷售額>1800 傭金=220+(銷售額-1800)*20%
現已開發“銷售業績計算程式”,輸入為某員工所售的槍機、槍托、槍管銷售數量,輸出為該員工的傭金數。請依據等價類方法,設計測試用例,檢驗該程式的有效性
分析:本程式輸出為“分段函數”,具有三段,之和覆寫數軸。是以,具有三個“有效等價”類,無“無效等價類”
1.用例1,輸入:5,5,5 預期輸出:50
2.用例2,輸入:15,15,15 預期輸出:175
3.用例3,輸入:25,25,25 預期輸出:360
思考:健壯性測試(Robustness Testing)又稱為容錯性測試,用于測試系統在錯誤輸入或出現故障時,是否能夠自動恢複或者忽略故障繼續運作。如考慮健壯性評價,則可以補充哪些“無效等價類”的測試用例?
小結
-
思考:
等價類劃分方法,是一種思維模式。對問題空間進行分類,并用測試用例進行“覆寫”驗證的思想。
- 建立這種思維模式,有利于迅速窺視一個系統的全貌和概要,從按摩器、相機等功能浏覽,到汽車、機床的試駕。有利于迅速找到一個系統的漏洞和弱點的漏洞(例如CCH)。
- 等價類劃分方法,具有“快速周遊”的性質,是涉獵學習一個系統或一台裝置的重要方法。
邊界值分析-練習題
常見邊界的邊界值
例題一:用邊界值分析法,假定X為整數,10<=X<=100,那麼X在測試中應該取__邊界值。
A:X=10,X=100
B:X=9,X=10,X=100,X=101
C:X=10,X=11,X=99,X=100
D:X=9,X=10,X=50,X=100
正确答案:B
例題二:每位密碼都要求為字元(包括大小寫字母)或“0”-“9”,請問其ASCII編碼的邊界是什麼?
在計算機軟體中,字元是很重要的表示元素,ASCII是最常見的編碼,編寫一段代碼,觀察1-255的ASCII符号
![]()
【軟體測試及品質保證】小結 正确答案:
CHR(64);CHR(65);CHR(90);CHR(91)
CHR(96);CHR(97);CHR(122);CHR(123)
CHR(47);CHR(48);CHR(57);CHR(58)
例題三:下面為C語言程式,邊界值問題可以定位在___。
Int data(3);
Int I;
For (i=1;i<=3;i++)
data(i)=100
A.Data(0)
B.Data(1)
C.Data(2)
D.Data(3)
正确答案:A
例題四:有一個二進制函數f(x,y),其中x取值【1,12】,y取值【1,31】
分析:依據“單故障假設”,即有兩個或兩個以上故障同時出現而導緻軟體失效的情況很少,也就是說,軟體失效基本上是由單故障引起的。是以,在邊界值分析法中,擷取兩元以上函數的測試用例方法,通常逐一針對每個變量設計其邊界,同時對其他變量固定為“中間值”,類似于求“偏導”。
正确答案:
測試用例共分兩組,8個
第一組:<0,15>,<1,15>,<12,15>,<13,15>
第二組:<6,0>,<6,1>,<6,31>,<6,32>
例題五:有一個三元函數f(x,y,z),其中,x取值【1900,2100】,y取值【1,12】,z取值【1,31】,請寫出該函數采用邊界值分析法設計的測試用例。
正确答案:
測試用例共分三組,12個
第一組:<1899,6,15>,<1900,6,15>,<2100,6,15>,<2101,6,15>
第二組:<2000,0,15>,<2000,1,15>,<2000,12,15>,<2000,13,15>
第三組:<2000,6,0>,<2000,6,1>,<2000,6,31>,<2000,6,32>
白盒測試
白盒測試(結構測試),又被稱為邏輯驅動測試、基于程式本身的測試或程式員測試
邏輯覆寫的6種方法
白盒測試通常采用覆寫法進行測試,即通過周遊程式結構設計測試用例。按照覆寫的程度,可以分為多種覆寫準則:
- 語句覆寫,SC(Statement Coverage)
- 判定覆寫,DC(Decision Coverage)
- 條件覆寫,CC(Condition Coverage)
- 條件/判定覆寫,CDC(Condition/Decision Coverage)
- 多條件覆寫,MCC(Multiple Condition Coverage)
- 路徑覆寫,PC(Path Coverage)
性能測試
定義,場景,步驟,3道例題
-
定義:
通過自動化的測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能名額進行測試。用于“能力規劃、能力驗證、缺陷發現、性能調優”,負載測試和壓力測試都屬于性能測試,兩者可以結合進行。
1.負載測試,确定在各種負載下系統的性能,目标是測試當負載逐漸增加時,系統性能名額的變化情況,結果為一條“曲線”
2.壓力測試,通過确定一個系統的瓶頸或者不能接受的性能點,來獲得系統能提供的最大服務級别的測試,結果為是一個門檻值(極限值)。
-
五種應用場景
1.涉及“複雜計算”,特别是一些人工智能分析
2.涉及“大量資料IO”(讀寫和通訊)
3.涉及“大量資料檢索”
4.具有“大量使用者”(多個并發使用者)
5.具有“有限資源”。軟體運作時,可用資源(特别是CPU和記憶體)很緊張,例如一些嵌入式系統軟體等;
-
測試步驟
1.目标。确定明确的測試目标
2.性能邊界。提取和确認系統瓶頸的因素和邊界
3.用例設計
4.腳本開發、執行。腳本開發、資料準備、測試執行
5.結果分析
例題一:什麼是性能測試,其應用領域分别是什麼?
性能測試,是通過自動化的測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能名額進行測試。
應用領域,包括四個:能力規劃、能力驗證、缺陷發現、性能調優。
例題二:1台用戶端有300客戶與300用戶端有300客戶對伺服器施壓,有什麼差別?
從4個角度進行分析:
1.用戶端角度。300個使用者在一個用戶端上,會占用客戶機更多的資源,而影響測試的結果。
2.客戶線程角度。線程之間可能發生幹擾,而産生一些異常。
3.帶寬角度。300個使用者在一個用戶端上,需要更大的帶寬。
4.IP位址角度。IP位址問題,可能需要使用IP Spoof來繞過伺服器對于單一IP位址最大連接配接數的限制。
例題三:典型的應用資料庫問題有哪些,解決辦法分别是什麼?
典型應用資料庫問題的三個類型:過量的資料庫調用、資料庫連接配接池問題、SQL語句及其索引或鎖定屬性問題。
1.過量的資料庫調用。增量減次,即增大每次從資料庫中擷取的資料量,避免應用程式反複回調資料庫;
2.資料庫連接配接池問題。及時關閉連接配接。仔細分析程式代碼,是否沒有close連接配接?或者遺漏了finally塊?或者盡管有close但并沒有成功或者調整連接配接池大小;
3.SQL語句及索引或鎖定問題。優化代碼。優化SQL語句及其索引或鎖定屬性。
其他測試
文檔測試
文檔測試是檢驗樣品使用者文檔的完整性、正确性、一緻性、易了解性、易浏覽性。
測試文檔通常情況下指軟體測試文檔,測試文檔是提供測試資訊的一組文檔,而并非單純地指文檔測試。
注意事項:
- 仔細閱讀,跟随每個步驟,檢查每個圖形,嘗試每個示例。
- 檢查文檔的編寫是否滿足文檔編寫的目的。
- 内容是否齊全、正确。
- 内容是否完善。
- 标記是否正确。
軟體品質保證
1.三名管理大師及他們的主要品質觀點
2.軟體品質保證基本概念
軟體品質保證(SQA-Software Quality Assurance)是建立一套有計劃,有系統的方法來向管理層保證拟定出的标準、步驟、實踐和方法能夠正确地被所有項目所采用。
國内軟體品質保證的“三種體系”:
方法一:國标《軟體生命周期》體系
方法二:ISO9000體系
方法三:CMM體系
ISO9000體系
ISO 9000 部分需要掌握的重點
- “标準”的基礎結構
- “四級檔案”的定義和層次結構
- “ISO9000”實施的流程
- 以“标準”的結構為指導 – “基類”
- 結合“本企業”具體情況,制定“本企業”的ISO9000操作檔案,共分為“四級檔案” – “執行個體化”,經确認後,授予“ISO9000”證書
-
每天,本企業依據“四級檔案”進行各種生産活動
監督機制
1.内省機制:内審。每年定期,由企業内部品質主管部門發起,檢查本企業對四級檔案的落實情況;
2.外部監督機制:外審(維持證書)。每年一次,由外部機構,檢查本企業對四級檔案的落實情況。
-
簡單闡述“ISO9000”提升品質的原因
采用ISO9000族标準,可以使品質管理規範化,品質活動程式化,實施ISO9000,要求建立檔案化的品質體系。品質體系要求各項活動的範圍和目的、做什麼、誰來做、何時做、何地做、如何做、采用什麼裝置和材料,如何對活動進行控制和記錄等都做出詳細的規定,做到工作有章可循,有章必循,違章必糾。
part Ⅲ
測試基礎
缺陷管理-“缺陷管理資訊系統”的設計
定義:缺陷管理是指對于測試人員發現的軟體缺陷,如何進行送出、确認、修複、驗證等管理過程的跟蹤管理。
MIS設計的三個關鍵問題?
問題一:“缺陷”對象資料結構設計
“核心屬性”是缺陷管理的資訊化基礎,包括:
缺陷引發後果的“嚴重性”、處理缺陷的“優先級”。
嚴重性和優先級的設計:
-
四種嚴重性
1.嚴重。系統崩潰、資料丢失、資料破壞(系統級、資料級)
例如:藍屏、當機、資料儲存異常、完整性限制被破壞
2.較嚴重。操作性錯誤、錯誤結果、遺漏功能(功能級)
例如:某菜單項功能無法使用、報表項統計錯誤、“下一步”無法進入指定環節
3.一般:錯别字、小問題(表現級)
例如:對必填框未作校驗
4.建議:不影響使用的“瑕疵”或有“更好的”實作(優化級)
例如:某圖檔顯示變形、界面不“橫平豎直”、關鍵内容顯示不完整
-
五種優先級
1.最高。立即修複,停止進一步測試
2.次高。在産品釋出之前必須修複
3.中等:如果時間允許應該修改
4.最低:可能會修改,但也能釋出
問題二:“缺陷”對象狀态設計
缺陷的“狀态”及“狀态之間的轉換關系”設計是“缺陷管理資訊系統”過程管理基礎。
通常,參考生命周期理論,缺陷對象可設定六種“狀态”:
“生死”狀态:New 、 Closed(由測試決定)
“确認”狀态:Open 、 Fixed(由開發決定)
“拒絕”狀态:Declined 、Deferred
-
六種常見的“錯誤狀态”及“轉換關系”
1.New(新資訊):測試中新報告的軟體bug
2.Closed(關閉):錯誤已被修複,并已經過驗證。
3.Open(打開):bug已被确認,并配置設定給相關的開發人員處理
4.Fixed(修正):bug已由開發人員修正完成,等待測試人員驗證
5.Declined(拒絕):測試人員或開發人員認為不是錯誤,拒絕修改
6.Deferred(延期):不在目前版本修複,在之後某個版本中修複
錯誤狀态轉換圖:
問題三:針對“缺陷”對象的功能設計
功能一:“缺陷”對象的基礎功能,增删改查;
功能二:系統角色定義和OA流轉功能;
功能三:常用統計、分析功能
-
MIS設計的三個關鍵問題?
問題一:“缺陷”對象資料結構設計
問題二:“缺陷”對象狀态設計
問題三:針對“缺陷”對象的功能設計
黑盒測試
黑盒測試(功能測試),又被稱為資料驅動測試、基于規格說明的測試或使用者測試
等價類劃分-練習題
示例一:在某大學學籍管理資訊系統中,假設學生年齡的輸入範圍為16~40,則根據黑盒測試中的等價類劃分技術,下面劃分正确的是____
A:可劃分為2個有效等價類,2個無效等價類;
B:可劃分為1個有效等價類,2個無效等價類;
C:可劃分為2個有效等價類,1個無效等價類;
D:可劃分為1個有效等價類,1個無效等價類;
正确答案:B
示例二:某錄入界面有4個輸入項,要求分别如下:1)姓名,2-4個漢字;2)性别,男/女;3)年齡,16~40;4)學曆,博士/碩士/學士/其他。請用等價類劃分方法,對這個界面設計測試用例,預期結果略。
依據等價類劃分思想,本題計劃采用5個測試用例,進行等價類覆寫:
1.大,大,10,大大
2.大大,男,18,博士
3.大大大大大,女,42,碩士
4.大,大,10,學士
5.大,大,10,其他
示例三:在黑盒測試方法中,等價類劃分方法設計測試用例的步驟是:根據輸入條件把數目極多的輸入資料劃分成若幹個有效等價類和若幹個無效等價類;設計一個測試用例,使其覆寫_(1)尚未被覆寫的有效等價類,重複這一步,直至所有有效等價類均被覆寫。設計一個測試用例,使其覆寫(2)_尚未被覆寫的無效等價類,重複這一步,直至所有無效等價類均被覆寫.
A.1個; B.7個左右; C.一半;
D.盡可能少的; E.盡可能多的; F.全部.
正确答案:E,A
示例四:Nextdate()的等價類劃分測試用例設計。
提示:包括“普通、跨月、跨年”三種情況。
![]()
【軟體測試及品質保證】小結 1.03/08/2016 (1)
2.03/32/2016 (2)
3.03/31/2016 (3)
4.04/30/2016 (4)
5.02/29/2016 (5)
6.02/28/2015 (6)
7.13/28/2015 (7)
8.12/31/1999 (8-10)
9.12/31/0 (11)
示例五:三角形問題:
一個程式讀入三個整數,把這三個數值看作一個三角形的三條邊的長度值。這個程式要列印出資訊,說明“非三角形”、“不等邊三角形”、“等腰三角形”、“等邊三角形”。
提示:區分“是否為三角形的三條邊”、“是否等腰”、“是否等邊”三種情況
![]()
【軟體測試及品質保證】小結 ![]()
【軟體測試及品質保證】小結 依據“覆寫原則”,對測試用例化簡:删1(留11)删8-10(留13-15)
示例六(應用題):傭金問題。某商店銷售玩具槍支配件,包括槍機(45元/隻) ,槍托(30元/隻),槍管(25元/隻),為了刺激銷售業績,實施傭金計算公式如下:
1.銷售額≤1000元 傭金=銷售額*10%
2.1000<銷售額≤1800 傭金=100+(銷售額-1000)*15%
3.銷售額>1800 傭金=220+(銷售額-1800)*20%
現已開發“銷售業績計算程式”,輸入為某員工所售的槍機、槍托、槍管銷售數量,輸出為該員工的傭金數。請依據等價類方法,設計測試用例,檢驗該程式的有效性
分析:本程式輸出為“分段函數”,具有三段,之和覆寫數軸。是以,具有三個“有效等價”類,無“無效等價類”
1.用例1,輸入:5,5,5 預期輸出:50
2.用例2,輸入:15,15,15 預期輸出:175
3.用例3,輸入:25,25,25 預期輸出:360
思考:健壯性測試(Robustness Testing)又稱為容錯性測試,用于測試系統在錯誤輸入或出現故障時,是否能夠自動恢複或者忽略故障繼續運作。如考慮健壯性評價,則可以補充哪些“無效等價類”的測試用例?
小結
-
思考:
等價類劃分方法,是一種思維模式。對問題空間進行分類,并用測試用例進行“覆寫”驗證的思想。
- 建立這種思維模式,有利于迅速窺視一個系統的全貌和概要,從按摩器、相機等功能浏覽,到汽車、機床的試駕。有利于迅速找到一個系統的漏洞和弱點的漏洞(例如CCH)。
- 等價類劃分方法,具有“快速周遊”的性質,是涉獵學習一個系統或一台裝置的重要方法。
因果圖-練習題
基本思想
等價類劃分法和邊界值分析方法都是着重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的互相制約關系。這樣雖然各種輸入條件可能出錯的情況已經測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。
因果圖方法為了更好的分析問題,繪出判斷表,進一步得出測試用例
當遇到較為複雜的問題時,這個方法常常十分有效
因果之間的四種關系:
因之間/果之間的五種限制
E(互斥,異):表示a,b兩個原因不會同時成立,兩個中最多有一個成立
I(包含,或):表示a,b,c這3個原因中,至少有一個必須成立
O(唯一):表示a,b當中必須有一個,且僅有一個成立
R(要求):表示當a出現時,b必須也出現。即a出現時,不可能b不出現
M(屏蔽、強制):表示當a是1時,b必須是0。而當a為0時,b的值不定
例題一:某《軟體規格說明書》要求如下:第一列字元必須是A或B,第二列字元必須是一個數字,在此情況下進行檔案的修改,但如果第一列字元不正确,則給出資訊L;如果第二列字元不是數字,則給出資訊M。
正确答案:
根據題意,設定如下:
原因:
1——第一列字元是A;
2——第一列字元是B;
3——第二列字元是一數字。
結果:
21——修改檔案;
22——給出資訊L;
23——給出資訊M。
11為中間節點,根據繪圖自行設計,目的為更好的對輸入和輸出之間進行分割
![]()
【軟體測試及品質保證】小結 ![]()
【軟體測試及品質保證】小結 例題二:閱讀下列說明,回答問題1~問題3,将解答填入答題紙的對應欄内。
【說明】因果圖方法的思路是在用自然語言書寫的程式規格說明描述中找住因(輸入條件)和果(輸出或程式狀态的改變),通過因果圖轉換為判定表。
分析中國象棋中走馬的實際情況(下面未注明的均指對馬的說明),馬走日字形(鄰近交叉點無棋子)。遇到對方棋子可以吃掉,遇到本方棋子不能落到該位置。
【問題1】應用中可能有多種輸入條件,在什麼情況下可采用因果圖法設計測試用例?
答:當應用中有多種輸入條件,且輸出結果與輸入條件之間的關系可以明顯依賴關系的情況下,可采用因果圖法。
【問題2】根據上述說明,利用因果圖法,下面列出走棋出現的情況和結果。找出哪些是正确的輸入條件,哪些是正确的輸出結果,請把相應的字母編号填入表中。
A.落點在棋盤上 B.落點與起點構成日字
C.移動棋子 D.落點處為對方棋子
E.落點處為自己方棋子 F.移動棋子,并除去對方棋子
G.落點方向的鄰近交叉點無棋子 H.不移動棋子
I.落點處無棋子
【問題3】下圖為中國象棋中走馬的因果圖,請把問題2中列出的輸入條件和輸出結果的字母編号填入到空白框中相應的位置。![]()
【軟體測試及品質保證】小結 ![]()
【軟體測試及品質保證】小結 ![]()
【軟體測試及品質保證】小結 1,“因果圖”的設計思想?
直覺、清晰的描述從因到果之間的邏輯關系。
2,用因果圖方法,設計測試用例的步驟?
分析題目,羅列因變量、果變量;
繪制因變量、果變量,設計“輔助節點”,按因果關系連線,标注因果關系,标注限制關系; 繪制“判定表”,化簡“判定表”,設計測試用例;
3,因果圖的4種因果關系,5種限制關系是什麼?
因果關系:與、或、非、恒等
限制關系:唯一(O)、互斥(E)、包含(I)、要求( R )、屏蔽(M)
4,因果圖中“輔助節點”如何設計?
便于“彙集”因變量;便于“說明”果變量;
白盒測試
白盒測試(結構測試),白盒測試,是根據程式結構進行設計的測試方法,一般由程式員完成。它通過測試用例實作對程式結構(語句、判定、條件、路徑)的“覆寫”,用來驗證程式的實作是否與設計預期一緻。
提升程式“易測試性”方法-錯誤樁
性能測試
LoadRunner11中文版-基礎教程
-
Loadrunner負載測試軟體主要功能
建立虛拟使用者
建立真實負載
實時監測
分析結果
-
Loadrunner中基本過程
建立批量“虛拟使用者”
為每個虛拟使用者,執行預先編寫的“測試腳本”
通過測試腳本,加載“真實負載”
對系統狀态進行“實時檢測”
-
系統輸入模拟和輸出監測的主要參數
輸入模拟:并發使用者數、業務負載
輸出監測:吞吐量(機關時間處理的事務數量)、業務響應時間(系統業務的執行時間,執行前後的時間戳之差)
-
被測系統的主要“調優”方向
硬體方面:硬體參數調整、硬體性能提升、系統架構優化(機群、負載均衡裝置、上雲等)
軟體方面:結構設計、算法設計、參數調整
資料端方面:結構設計、平台選擇
-
其他性能測試種類
并發性能測試:逐漸增加并發使用者數負載,直至不能接受點
疲勞測試:達到最大允許負載後,保持一段時間
大資料量測試:包括獨立的資料量測試、綜合資料量測試兩種