由於我注意到許多功能測試框架(如Selenium for the Web或iOS的UISpec)實際上是在測試時模擬了 UI事件,所以我很困擾這個問題。我在問:僅僅是檢查前提條件就行了嗎?例如,按鈕的目標和選擇器已正確設置,然後手動觸發選擇器?爲什麼我需要模擬觸摸?這有你必須更多地瞭解你正在測試的UI元素的知識(你必須知道是什麼讓他們行爲正確),但是因爲我是編寫測試的人,所以這可能不重要? 任何人都可以對此有所瞭解嗎?功能測試應該模擬UI事件還是檢查前提條件?
1
A
回答
1
模擬觸摸可用於確定由模糊或無計劃的用戶行爲導致的崩潰 - 特別常見的是同時按下兩個項目。它還允許您創建可能相當深奧的測試:例如,隨機用戶輸入持續一段時間,試圖以不可預料的方式崩潰或破壞應用程序。你這樣做的級別取決於你的應用程序,以及它對你的重要程度。
當涉及到多點觸控時,您的替代方法也有一些缺點。雖然通過某種自動測試而不是模擬用戶輸入來啓動按鈕選擇器會相當簡單,但如果您有一個可處理滑動,捏或其他多輸入手勢的應用程序,會發生什麼情況?在這些情況下,所需的結果可能不像按鈕的開/關那樣黑白:您可能有許多灰色陰影和不同的輸出需要驗證。
模擬UI測試實際上有相當長的一段歷史 - 有一個有趣的故事(當然,對我有意思)關於原MacPaint格式和隨機UI輸入測試如何能夠幫助這裏再現模糊或難以崩潰:http://www.folklore.org/StoryView.py?story=Monkey_Lives.txt
相關問題
- 1. JavaScript UI測試框架與事件模擬
- 2. 如何使用模擬測試事件
- 3. Junit前提條件和測試數據
- 4. UI和事件測試
- 5. 應該在域還是UI層中檢查角色?
- 6. 檢測應用程序前景事件
- 7. 如何在功能測試中模擬文件副本
- 8. 我應該如何使用jquery的實時功能模擬mouseenter事件?
- 9. 檢查該事件在事件訂閱
- 10. BASH:在測試條件之前檢查錯誤
- 11. 我應該在測試時在Factory girl還是spec文件中存儲模型?
- 12. 要測試還是不測試 - 鍵盤掛接功能
- 13. 我應該寫集成測試還是單元測試?
- 14. 單元測試應該是黑盒測試還是白盒測試?
- 15. 功能測試來檢查javascript
- 16. 使用模擬測試django應用程序來覆蓋功能
- 17. MVP - 應該能夠直接調用演示者方法,還是應該始終提高事件?
- 18. VB.Net事件:測試發件人是否是另一個子或功能
- 19. 模擬條件
- 20. C++ - 檢測文件是PNG還是JPEG
- 21. 基於複選框的條件功能是否被檢查
- 22. 模擬點擊material-ui切換組件測試
- 23. Xcode Swift UI測試 - 模擬器硬件鍵盤
- 24. jQuery UI事件功能擴展
- 25. Lambda功能規模硬件模擬
- 26. 單元測試 - 我應該拆分測試還是進行單個測試?
- 27. 虛擬功能上的條件屬性
- 28. Drupal表單條件檢查提交事件
- 29. 檢查條件onclick按鈕事件
- 30. Django模板檢查條件