软件测试作业3:软件测试的16条公理
作業3
1、綜述軟件測試的16條公理 (參見 Lec.8, slide 43)
答:
利益相關者公理: 測試是代表測試利益相關者執行的信息或情報收集的活動
- 公理1(利益相關者公理): 測試需要利益相關者。
- 確定將使用提供的測試證據并從中受益的人員或組織,即利益相關者,和他們建立關系。需要明確如下問題:
- 利益相關者是誰?
- 利益相關者代表誰的利益?
- 利益相關者想要什么測試證據?
- 利益相關者需要這些證據做些什么?
- 利益相關者什么時候需要這些證據?
- 這些證據以什么格式進行呈現?
- 多久需要一次測試證據?
- 確定將使用提供的測試證據并從中受益的人員或組織,即利益相關者,和他們建立關系。需要明確如下問題:
- 公理2(價值公理): 測試的價值是為利益相關者提供決策依據。
- 測試的結果和測試證據的呈現方式決定了它的價值,而不是測試的來源。需要明確如下問題:
- 利益相關者必須做出哪些驗收決定
- 利益相關者需要哪些測試證據才能自信地做出這些決定?
- 什么時候能收集到所需的測試證據?
- 誰需要提供相關專業知識來使人了解測試并使其有價值?
- 誰最適合執行這些測試?
- 被指定實施測試的人們或組織是否能夠勝任測試?
- 需要在什么環境和架構下測試才有意義和價值?
- 測試的結果和測試證據的呈現方式決定了它的價值,而不是測試的來源。需要明確如下問題:
- 公理3(范圍管理公理): 如果我們不約束測試的范圍,我們永遠無法符合利益相關者的期望。
- 測試者需要明確并同意在范圍內和范圍外的測試項目,并隨著時間推移來管理范圍的變化。需要明確如下問題:
- 利益相關者如何定義系統的范圍和哪些項目需要測試?
- 哪些知識來源可以用來詳細定義和理解范圍?
- 造成改變的可能驅動因素是什么?
- 測試者應該如何適應測試范圍的變化?
- 測試者應該如何分析測試范圍變化的影響?
- 測試者是否有權拒絕或者挑戰變更?
- 如何保證缺陷的修復并重新通過測試?
- 測試者如何測試變更?
- 測試者如何傳達測試的狀態?
- 測試者需要明確并同意在范圍內和范圍外的測試項目,并隨著時間推移來管理范圍的變化。需要明確如下問題:
- 公理4(足夠好公理): 測試和驗收的范圍始終是妥協的結果。
- 利益相關者和測試者必須都認識到:測試是沒有限制的,并且軟件的驗收決定永遠是基于不完整的測試證據的;實際上,即使只有根據利益相關者知道的信息得到的證據,軟件的驗收仍然可能發生。需要明確下列問題:
- 做出驗收決定需要多少測試的證據?
- 誰有權做出驗收決定?
- 評估測試過程中收集的證據的價值的機制是什么?
- 哪種覆蓋模型可以用來判斷已經收集到了足夠的證據?
- 哪種標準會被用來判斷被測試的系統能否驗收?
- 利益相關者和測試者必須都認識到:測試是沒有限制的,并且軟件的驗收決定永遠是基于不完整的測試證據的;實際上,即使只有根據利益相關者知道的信息得到的證據,軟件的驗收仍然可能發生。需要明確下列問題:
測試設計公理: 測試是我們創建環境、系統、人性和測試本身的心理模型的過程。測試設計是選擇我們認為對我們和我們的利益相關者最有價值的測試的過程
- 公理5(測試模型公理): 測試設計基于模型。
- 選擇那些能夠得出對利益相關者有意義的測試的測試模型;認識到測試模型具有局限性和模型的假設。需要明確如下問題:
- 是否可以將設計模型用作測試模型?
- 它們是強制性的么?
- 哪些測試模型能夠用來從測試基礎中得到測試?
- 哪個測試模型會被使用?
- 測試模型是否需要被記錄或者它們純粹是思維模型?
- 使用這些模型有什么好處?
- 這些模型有哪些簡化假設?
- 這些模型如何有助于提供對驗收決定者有用的證據?
- 這些模型如何互相結合來提供足夠的證據同時避免重復?
- 從這些模型得到的測試數量將如何限定?
- 選擇那些能夠得出對利益相關者有意義的測試的測試模型;認識到測試模型具有局限性和模型的假設。需要明確如下問題:
- 公理6(測試基礎公理): 測試者需要知識來源來選擇被測試的內容。
- 確定并同意確定測試內容所需的知識來源。使用多種來源;比較它們并交叉檢查。需要明確如下問題:
- 使用哪些資源來描述系統并確定測試的內容?
- 這些來源的派生/繼承/來源/可靠性是什么?
- 這些來源的權限或優先級是什么?測試結果如何與利益相關者的目標和關注點相關?
- 誰會授權使用這些知識來源?
- 誰會仲裁/解決這些知識來源的沖突?
- 誰或什么能提供彌補這些來源分歧的知識?
- 確定并同意確定測試內容所需的知識來源。使用多種來源;比較它們并交叉檢查。需要明確如下問題:
- 公理7(權威公理): 測試者需要知識來源以評價被測對象的實際產出或行為。
- 確定并同意確定測試內容所需的知識來源。使用多種來源;比較它們并交叉檢查。需要明確如下問題:
- 應該使用哪些知識來源來得出預期結果以驗證觀察到的行為?
- 利益相關者能否同意將這些資源用作測試權威?
- 我們對這些來源能有哪些信心?
- 測試執行前是否需要記錄預期結果?
- 這些來源的派生/繼承/來源/可靠性是什么?
- 這些來源的權限或優先級是什么?
- 如果發生爭議,誰或什么來源將是最終仲裁人?
- 確定并同意確定測試內容所需的知識來源。使用多種來源;比較它們并交叉檢查。需要明確如下問題:
- 公理8(覆蓋公理): 測試需要一個或多個覆蓋模型。
- 測試人員需要一種方法,以對利益相關者有意義的方式評估所選測試模型測試的徹底性或完整性。需要明確如下問題:
- 描述測試的徹底性或充分性的覆蓋定義將如何表述?
- 這些覆蓋定義能否用于定義可量化的覆蓋率度量?
- 這些覆蓋措施如何與利益相關者的目標和關注點相關?
- 這些措施能否支持評估、規劃和進度報告?
- 如何向利益相關者闡明測試的徹底性/充分性?
- 關于該系統的可接受性,可以對這些覆蓋措施作出什么解釋?
- 測試人員需要一種方法,以對利益相關者有意義的方式評估所選測試模型測試的徹底性或完整性。需要明確如下問題:
- 公理9(優先公理): 測試需要一種機制來排序測試優先級。
- 測試者需要能夠按價值順序對測試進行排名,并確定哪些測試最有價值。需要明確如下問題:
- 誰有權定義用于測試對象的優先級?
- 如何闡明優先級?
- 測試在當前環境下有哪些限制?
- 誰有權施加、更改或消除這些限制?
- 在范圍界定過程中,誰授權包含或排除測試?
- 在測試設計過程中,誰授權包含或排除測試?
- 在測試執行過程中,誰授權包含或排除測試?
- 測試者需要能夠按價值順序對測試進行排名,并確定哪些測試最有價值。需要明確如下問題:
- 公理10(易失性公理): 測試的知識來源是模糊且不完整的。
- 測試基礎,模型,權威和優先級劃分方法容易出錯,因為定義和使用它們的人員容易出現人為錯誤。需要明確如下問題:
- 如何確定測試所需的知識來源?
- 誰負責這些來源中的內容?
- 來源的內容能否被一致同意?
- 來源是否可靠?
- 這些來源是否已根據其他參考資料進行驗證,或根據貢獻者和其他利益相關者的經驗進行驗證?
- 可以采取哪些措施來最大限度地減少我們知識來源中錯誤的影響?
- 如果消息來源可能出錯或沖突,誰或什么是最終仲裁者?
- 測試基礎,模型,權威和優先級劃分方法容易出錯,因為定義和使用它們的人員容易出現人為錯誤。需要明確如下問題:
測試執行與交付公理: 足夠好公理總結了提供足夠證據以支持自信決策的必要性。測試證據的價值取決于利益相關者做出所需判斷的自信程度。
- 公理11(信心公理): 通過利益相關者做決策時的信心來衡量測試的價值高低。
- 測試者必須理解測試證據與利益相關者必須做出的決定之間的關系。測試應著重于提供利益相關者自信決策的證據。需要明確如下問題:
- 利益相關者需要什么證據才能自信做出決策?
- 利益相關者將如何使用該證據?
- 測試目標如何在計劃、規范、會議和其他溝通中表達?
- 我們將如何確保盡早向利益相關者提供證據?
- 我們將如何確保所產生證據的準確性和時效性?
- 產生的證據在格式,細節,頻率,精度,準確性方面有哪些偏好?
- 利益相關者將如何傳遞,確認和審查證據?
- 測試者必須理解測試證據與利益相關者必須做出的決定之間的關系。測試應著重于提供利益相關者自信決策的證據。需要明確如下問題:
- 公理12(重復測試公理): 一些重復測試是不可避免的。
- 制定并同意重新測試和回歸測試的政策;在預算和計劃中考慮重復測試。需要明確如下問題:
- 在什么情況下會重新運行失敗的測試?
- 在什么情況下,通過的測試將重新運行?
- 將應用什么標準來保留測試以供重用?
- 在什么情況下會放棄或修改保留測試?
- 為了進行計劃,需要估計或定義:
- 出于計劃的目的,將如何估計或定義以下內容:測試失敗的比例?缺陷修復和重新測試所需的時間?用于回歸目的的測試比例?
- 制定并同意重新測試和回歸測試的政策;在預算和計劃中考慮重復測試。需要明確如下問題:
- 公理13(順序執行公理): 先執行最有價值的測試—否則之后可能沒有時間執行它們。
- 順序測試,以確保在執行時間有限或測試停止時運行最有價值的測試。需要明確如下問題:
- 將采用什么選擇和/或優先順序標準來安排計劃測試的順序?
- 什么選擇和/或優先順序的標準將應用于順序計劃外或臨時測試?
- 順序測試的限制條件有哪些?
- 如何最小化和管理測試之間的依賴關系?
- 在什么情況下,測試可以不按順序運行?
- 順序測試,以確保在執行時間有限或測試停止時運行最有價值的測試。需要明確如下問題:
- 公理14(環境公理): 測試執行需要明確、可控的測試環境。
- 確定用于測試的環境和測試數據的需求和要求,包括及時管理該環境更改的機制。需要明確如下問題:
- 誰負責測試環境的獲取、配置和支持?
- 測試模型對測試環境有哪些假設?
- 如何闡明、協商測試環境的要求?
- 如何保證測試環境的有效性和可用性?
- 如何管理對環境的更改,使其與測試中的需求和其他可交付成果的更改保持一致?
- 如何管理環境狀態,包括備份和還原的版本?
- 確定用于測試的環境和測試數據的需求和要求,包括及時管理該環境更改的機制。需要明確如下問題:
- 公理15(事件公理): 測試永遠不會按計劃進展,測試所得到的證據按照離
散量子化的模式出現。- 承認測試不確定性原則,并管理利益相關者的期望。同意管理和溝通對成功交付測試證據有影響的事件的機制。
- 測試方法如何適應計劃外事件?
- 計劃如何闡明測試執行的不確定性和期望?
- 如何管理測試基礎,系統或環境的變更?
- 如何溝通,跟蹤和管理測試失敗?
- 如何記錄,跟蹤,分析和報告對測試有不利影響的計劃外事件?
- 承認測試不確定性原則,并管理利益相關者的期望。同意管理和溝通對成功交付測試證據有影響的事件的機制。
- 公理16(永不結束公理): 測試永遠不會結束,只會停止
- 認識到測試通常有時間限制,可能無法完成。相應地管理測試人員和利益相關者的期望。需要明確如下問題:
- 利益相關者能否意識到測試可能不會在計劃的時間范圍內完成?
- 測試者是否理解可能不會運行所有測試,是否可能根據不完整的證據做出接受決定?
- 測試者是否準備告知、建議和協助接受決定?
- 測試者在提供測試證據和狀態方面將扮演什么角色?
- 測試者將如何支持利益相關者判斷不確定結論的相關性/重要性?
- 認識到測試通常有時間限制,可能無法完成。相應地管理測試人員和利益相關者的期望。需要明確如下問題:
2、結合你所熟悉的一套軟件,針對上述公理表述你的見解。
答:
選擇企業微信軟件表述見解,這是一款企業通訊與辦公工具軟件。
利益相關者公理:
公理1(利益相關者公理): 企業微信的利益相關者包括企業,測試時需要和會使用這款軟件的企業以及進行通訊的企業員工建立關系,才能明確測試證據的相關要求。
公理2(價值公理): 只有明白企業微信的利益相關者需要怎樣的測試結果和測試證據的呈現方式,驗收決定是怎么的,才能更好的安排需要收集的測試證據、進行測試的人員、測試的環境和架構,從而推進測試。
公理3(范圍管理公理): 企業微信的功能可能會隨著企業的需求而不斷更新,測試的范圍也會發生變化,就需要對測試的范圍進行約束,以在某一階段滿足利益相關者的期望。
公理4(足夠好公理): 企業微信在開發的過程中可能會存在缺陷,有一些錯誤可能在很小的使用范圍內才會發生,測試時可能并沒有發現,如果將大量的時間用于發現全部存在的缺陷,這樣軟件可能一直很難交付,所以驗收只能在一定程度上收集測試證據保證軟件在這些測試中不會出錯,才能進行交付。
測試設計公理:
公理5(測試模型公理): 基于模型進行企業微信的測試設計,才能選擇出那些對利益相關者有意義的測試,從而更好地進行測試。
公理6(測試基礎公理): 需要一定的知識來源來選擇企業微信軟件被測試的內容,比如文件存儲知識,測試企業保存的文件是否能夠穩定保存或不會丟失,比如通信知識,測試企業員工通過軟件能否正常通訊等等。
公理7(權威公理): 需要知識來源以評價企業微信軟件被測試的內容的實際產出或行為。比如文件存儲方面的知識,需要服務器、數據庫等方面的知識,來評價測試中企業微信存儲文件的穩定性和可靠性等。
公理8(覆蓋公理): 使用一個或多個覆蓋模型,以對利益相關者有意義的方式評估所選測試模型測試的徹底性或完整性,從而支持評估、規劃和進度報告。
公理9(優先公理): 企業微信是一款企業辦公軟件,所以測試中它的通訊功能肯定是最有價值的功能,應該被優先測試。
公理10(易失性公理): 測試基礎,模型,權威和優先級劃分方法容易出錯,因為定義和使用它們的人員容易出現人為錯誤。這時就需要相關方面的專家,來對測試進行指導,最大限度地減少知識來源中錯誤的影響。
公理11(信心公理): 比如測試軟件的文件存儲功能,能夠成功的上傳和下載文件的測試比能夠上傳壓縮文件格式的文件的測試更加能夠驗證文件的存儲功能正常,使利益相關者能夠更有信心判斷文件存儲功能正常,那么驗證上傳和下載文件功能的測試,就比驗證可以上傳壓縮文件格式的文件的測試,價值更加的高。
測試執行與交付公理:
公理12(重復測試公理): 因為企業微信的需求和功能會不斷更新,那么就需要有重復測試來保證某些重要功能在變更后仍然使用正常,和新加的內容不會產生沖突。
公理13(順序執行公理): 企業微信的通訊功能肯定是要被先執行的測試,因為其它企業也在開發類似的軟件,那么軟件的及時上線就顯的十分重要,所以需要在一定時間內保證重要功能的正常,不然可能之后沒有時間測試。
公理14(環境公理): 企業微信需要有明確、可控的測試環境,如果在一定版本的安卓環境下測試的軟件功能,放到蘋果或者安卓更新后的環境下去使用,那么就有可能出現沒發現的問題,所以要保證一定的測試環境。
公理15(事件公理): 測試過程中有可能出現計劃外的事件,比如測試內容變更或利益相關者的期望改變,這時就需要及時適應計劃外的變化,從而調整測試。
公理16(永不結束公理): 軟件可能總是會存在缺陷,在一定的時間內可能無法將所有缺陷都找出來,所以只能在一定范圍內保證測試正確性,提供足夠證據,滿足大部分場景下的期望,進行交付軟件。
總結
以上是生活随笔為你收集整理的软件测试作业3:软件测试的16条公理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试作业2:在敏捷宣言遵循的12条原
- 下一篇: 机器人导论知识点总结