2017-06-19 92 views
-2

我需要關於移動應用測試的幫助。我是測試新手,爲代碼編寫測試,我是一名正在從事移動應用部門工作的公司的實習生,我的上司希望從我那裏編寫我爲移動信息亭應用編寫的代碼的所有測試。所以,他特別說到端到端測試,我學習了單元測試,在Xcode中也有UI測試,但我無法找到如何在swift中爲移動應用編寫端到端測試。如何實施端到端測試,是否可以只顯示整個系統的工作原理和預期的輸入對應預期輸出?我應該回到我的上級呢?快速端到端測試

感謝您的幫助!

+0

我相信你可以使用Xcode UI測試來實現這一點,只需按照Xcode 7上的任何UI測試教程,點擊記錄按鈕並進行端到端測試即可。 –

回答

1

您對端到端測試有正確的想法。基本上你將要編寫單元測試來測試你的業務邏輯,給予輸入提供預期產出:

func testForIsNOTAfter() { 
    let dateString1 = ["2017/05/15 12:35:30", "2017/04/15 16:35:30", "2016/06/16 08:00:32"] 
    let dateString2 = ["2017-05-15T16:35:30Z", "2017-04-15T20:35:30Z", "2016-06-16T12:00:32Z"] 

    for i in 0 ..< dateString1.count { 
     let date1 = calendarUtils.dateFromString(dateString1[i]) 
     let date2 = calendarUtils.dateFromString(dateString2[i]) 
     XCTAssertFalse(date1!.isAfter(date2!)) 
    } 
} 

isAfter()是一個自定義函數,而不是iOS的框架的一部分,所以它的邏輯需要進行「測試「用不同的輸入來確保函數返回預期的結果。通過這個測試,我的項目正在從本地時間發送和使用數據庫到UTC,因此給定本地時間和UTC時間,測試isAfter爲假(因爲它們是相同的日期)。

使用xCode中的UITests,您可以實際「記錄」您的事件。這將允許Xcode爲您編寫大量的UITest,只要從視圖移動到視圖。在記錄了一些視圖更改後,您應該能夠弄清楚並研究如何訪問某些元素來編寫所需的UITest。大多數情況下,當ViewA呈現UILabelB.text == "Testing Text"時。這是一個非常簡單的例子,但你應該有想法。

+0

謝謝Jacob! @Jacop Boyd –

+0

在我的情況下,我們所有設備都有激活碼,一旦您將該碼輸入到我的應用程序中,就會使設備配置文件與此唯一的激活碼相對應。因此,作爲端到端測試,我應該寫節點ID和預期輸出(例如服務器響應?json解析信息?) –