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