白盒測試主要測試APP的內部結構或運作,以代碼實現的角度來設計測試案例。白盒測試優點在于要求測試人員去學習軟件的實現,可以檢測代碼中的每條分支和路徑,揭示隱藏在代碼中的錯誤,對代碼的測試比較徹底。
單元測試屬于白盒測試的一種手段,是一種提高軟件質量非常有效的方法。對于多次的迭代開發和重構,團隊需要通過單元測試來看是否新的迭代對于原有的功能是否有影響。但是,單元測試在現實實踐中存在的一個不可忽視的問題是:測試用例的維護成本比較高,往往對其維護的工作量并不比被測代碼的開發量小。所以,本文引入了邏輯自動化測試概念,希望能在高價值和維護成本中找到平衡。
邏輯自動化測試:考慮到手機APP的UI的多變性,僅對非UI相關的邏輯業務類進行自動化測試,優先對外接口。在本文中,以iOS手機管家為例子,邏輯自動化測試的范圍選定為ObjectController文件夾中的類,此文件夾中的類文件均為與UI無關的業務邏輯類。
XCTest是Xcode5中新引入的一個測試框架,它非常簡單并且與 Xcode 的 IDE 直接集成,并且其單元測試的代碼不會打包到開發的項目工程里面,隔離性比較好。
打開項目工程,file -》new-》target-》iOS-》iOS Unit testing bundle(輸入名字和選擇language),之后在此文件夾下new file新建測試用例類。
Ps:測試類繼承XCTestCase類,并且測試用例必須以test開頭。
有兩種方式:一種是UI執行,一種是命令執行。
原文轉自:http://tmq.qq.com/2017/07/ios/