用例測試是一種技術,可以幫助我們識別從頭到尾按事務處理整個系統的測試用例。Ivar Jacobson在他的著作“ 面向對象軟件工程: 用例驅動方法” [Jacobson,1992]中描述了它們。
- 用例是演員(系統的用戶)對系統的特定使用的描述。每個用例描述了actor與系統之間的交互,以便實現特定任務(或者至少為用戶產生一些有價值的東西)。
- 演員通常是人,但他們也可能是其他系統。
- 用例是描述actor和系統之間交互的一系列步驟。用例是根據actor而不是系統定義的,描述了actor所做的事情以及actor看到的內容,而不是系統期望的輸入和系統的輸出。
- 他們經常使用業務的語言和術語而不是技術術語,尤其是當演員是商業用戶時。
- 它們是主要在系統和驗收測試級別開發測試用例的基礎。
- 用例可以發現集成缺陷,即由不同組件之間的不正確交互引起的缺陷。以這種方式使用,actor可以是系統接口的東西,例如通信鏈路或子系統。
- 用例根據最可能的用途描述流程通過系統。這使得來自用例的測試用例特別適合於在系統的實際使用中發現缺陷(即,在首次使用系統時用戶最可能遇到的缺陷)。
- 每個用例通常具有主流(或最可能)的場景,有時還有其他替代分支(例如,涵蓋特殊情況或特殊情況)。
- 每個用例必須指定用例工作所需的任何先決條件。
- 用例還必須指定可觀察結果的後置條件以及用例成功執行後系統最終狀態的描述。
ATM PIN示例如下圖4.3所示。我們展示了成功和不成功的場景。在該圖中,我們可以看到A(演員 - 在這種情況下是人類)和S(系統)之間的相互作用。從步驟1到步驟5即成功方案,它表明卡和引腳都已經過驗證並允許Actor訪問該帳戶。但在擴展中,可能還有另外三種情況,即2a,4a,4b,如下圖所示。
對於用例測試,我們將測試成功方案,並對每個擴展進行一次測試。在這個例子中,從安全的角度來看,我們可以給擴展4b提供比4a更高的優先級。
系統要求也可以指定為一組用例。這種方法可以使用戶更容易參與需求收集和定義過程。
References
- What is Use Case Diagram?
- What is Activity Diagram?
- What is State Machine Diagram?
- What is Sequence Diagram?
- What is Communication Diagram?
- What is Interaction Overview Diagram?
- What is Timing Diagram
- What is UML Collaboration Diagram?
- UML Association vs Aggregation vs Composition
- UML Class Diagram Tutorial
- State Machine Diagram vs Activity Diagram