端到端測試
可以說最有價(jià)值的測試是端到端 (E2E) 測試。E2E 測試模擬整個(gè)軟件產(chǎn)品堆棧中的用戶級(jí)體驗(yàn)。E2E 測試計(jì)劃通常涵蓋用戶級(jí)別的故事,例如:“用戶可以登錄”“用戶可以存款”“用戶可以更改電子郵件設(shè)置”。這些測試對于實(shí)施非常有價(jià)值,因?yàn)樗鼈兛梢员WC真實(shí)用戶擁有流暢的無錯(cuò)誤體驗(yàn),即使在推送新提交時(shí)也是如此。
E2E 測試工具捕獲并重放用戶操作,因此 E2E 測試計(jì)劃隨后成為關(guān)鍵用戶體驗(yàn)流程的記錄。如果軟件產(chǎn)品缺乏任何類型的自動(dòng)化測試覆蓋率,那么通過對最關(guān)鍵的業(yè)務(wù)流實(shí)施端到端測試,它將獲得最大的價(jià)值。E2E 測試在捕獲和記錄用戶流序列之前可能會(huì)很昂貴。如果軟件產(chǎn)品沒有進(jìn)行快速的每日發(fā)布,那么讓人工團(tuán)隊(duì)通過 E2E 測試計(jì)劃手動(dòng)執(zhí)行會(huì)更經(jīng)濟(jì)。
單元測試
顧名思義,單元測試涵蓋單個(gè)代碼單元。代碼單元最好在函數(shù)定義中度量。單元測試將涵蓋單個(gè)功能。單元測試將斷言函數(shù)的預(yù)期輸入與預(yù)期輸出匹配。具有敏感計(jì)算的代碼(因?yàn)樗赡芘c金融、醫(yī)療保健或航空航天有關(guān))最好由單元測試覆蓋。單元測試成本低、實(shí)施速度快,并提供高投資回報(bào)。
集成測試
很多時(shí)候,一個(gè)代碼單元會(huì)對第三方服務(wù)進(jìn)行外部調(diào)用。正在測試的主要代碼庫將無法訪問此 3rd 方實(shí)用程序的代碼。集成測試處理模擬這些 3rd 方依賴項(xiàng)并斷言與它們交互的代碼按預(yù)期運(yùn)行。
集成測試在編寫方式和工具方面類似于單元測試。集成測試可以作為 E2E 測試的廉價(jià)替代方案,但是,當(dāng)單元測試和 E2E 的組合已經(jīng)到位時(shí),投資回報(bào)是有爭議的。
性能測試
在軟件開發(fā)的上下文中使用時(shí),“性能”用于描述軟件項(xiàng)目反應(yīng)的速度和響應(yīng)能力。性能指標(biāo)的一些示例是:“頁面加載時(shí)間”、“首次呈現(xiàn)時(shí)間”、“搜索結(jié)果響應(yīng)時(shí)間”。軟件性能測試為這些示例案例創(chuàng)建測量和斷言。自動(dòng)化性能測試將跨這些指標(biāo)運(yùn)行測試用例,然后提醒團(tuán)隊(duì)注意任何回歸或速度損失。