1.前言 自動化在改進軟件開發(fā)方面有很大的潛力,然而不幸的是,自動化往往被視為一種奢侈品。 自動化測試的優(yōu)先級較低,并且自動化測試計劃總是被手工測試累計的大量工作無限期推遲。自動...
1.前言
自動化在改進軟件開發(fā)方面有很大的潛力,然而不幸的是,自動化往往被視為一種奢侈品。
自動化測試的優(yōu)先級較低,并且自動化測試計劃總是被手工測試累計的大量工作無限期推遲。
自動化確實需要大量的資源投資,然而,嘗試使用自動化測試會讓你們的工作得到改善。如果一開始就不自動化測試,會發(fā)生什么呢?2.時間
自動測試將自動運行,手動測試必須手動運行。如果只運行一次測試,那么自動化就沒有投資回報。
但是,如果多次運行測試,自動化可以避免測試人員重復自己的測試。另外,這很簡單,按下按鈕,等待結(jié)果。自動化測試幾乎總是比手動測試運行得更快??紤]到時間就是金錢,大量手工測試人員的工資也不便宜,實現(xiàn)自動化可以一勞永逸。3.覆蓋范圍
自動化測試可以實現(xiàn)比手動測試更大的覆蓋率,特別是對于回歸測試。
隨著產(chǎn)品開發(fā)的進展,測試用例的數(shù)量也在不停的增加。舊的測試必須定期運行,以驗證新功能不會破壞現(xiàn)有功能。
如果回歸測試是手動的,那么測試人員必須在重復進行相同測試的過程中耗費數(shù)小時,在大型項目中,甚至需要幾天。
為了趕上上線時間,他們會跳過了一些測試,不是因為偷懶,而是上線時間基本不會因為測試而推遲。
為了縮短測試時間,跳過用來會增加線上 bug 的風險。如果這些回歸測試是自動化的,那么就沒有理由縮小覆蓋范圍,因為它們很容易運行。4.一致性
人會犯錯,沒有人是完美的。手動測試很容易出現(xiàn)人為錯誤,因為是由人運行的。而代碼和機器更容易保持一致性,他們沒有感性,不會因為幾天沒睡覺而反應(yīng)遲緩,也不會因為失戀就拒絕工作。
5.持續(xù)集成
持續(xù)集成(CI)通過實時構(gòu)建和測試每個代碼更改來保護代碼不受缺陷的影響。
CI 系統(tǒng)將始終自動觸發(fā)測試,這能將整個流程標準化。6.交付
持續(xù)交付(Continuous delivery,CD)是持續(xù)集成的延伸,在這種集成中,軟件產(chǎn)品可以作為 CI 管道中的最后一步自動交付(甚至可能部署)。
整個上線過程甚至都不需要人工值守,你再也不用每周二熬夜加班了。7.測試結(jié)果
自動化測試會產(chǎn)生更準確和更全面的結(jié)果,并且自動生成測試報告,自動化還可以生成測試報告,測試人員不需要浪費時間編寫郵件,或者進行填字游戲。
并且手工測試的結(jié)果通過可以偽造,而自動生成的數(shù)據(jù)則不會說謊。
8.創(chuàng)新
手動測試可能會演變?yōu)橹貜偷捏w力勞動:只需反復執(zhí)行步驟即可。
對于測試人員來說,可以把這些重復工作直接交給機器,專注于探索性測試而不是確定性測試將更加有效。
雖然自動化測試可以覆蓋固定的、重復的測試場景,但探索性測試可以讓測試人員找到創(chuàng)造性的方法來發(fā)現(xiàn)缺陷并判斷產(chǎn)品的實際工作情況。9.心安
使用自動化測試能讓測試人員有更深入的研究領(lǐng)域,讓他們有一個更好的職業(yè)發(fā)展。