題主你好,先回答一下你的這個問題。自動化測試的目的其實很直白:1、由於回歸測試的動作和用例是完全設計好的,測試期望的結果也是完全可以預料的,將回歸測試自動運行,可以極大提高測試效率,縮短回歸測試時間。2、自動化的一個明顯的好處是可以在較少的時間內運行更多的測試。3、可以執行一些手工測試困難或不可能進行的測試。 4、將繁瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例。5、測試具有一致性和可重複性。6、測試的復用性。由於自動測試通常採用腳本技術,這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。7、增加軟體信任度。由於測試是自動執行的,所以不存在執行過程中的疏忽和錯誤,完全取決於測試的設計質量。 但是最後,我想問題主,這個問題是面試的時候遇到的麼?因為我覺得這提問的方式挺沒有邏輯的!原因在於:1.大多數時候同一個軟體不會多個版本同時主發一起運行。一定會有一個是主要的版本,而且一般測試真的沒有那麼多時間和功夫。2.自動化測試的目的當然是為了提升測試效率。正是因為手工測試的一些弊端,在測試用例量很大的時候,大量的版本回歸測試基本都會考慮自動化測試。 瀉藥~ 金字塔模型首先我們需要搞清楚, 自動化測試是什麼呢? 它就是以程序測試程序, 以腳本的運行代替手工測試.它的重要特點就是不知疲倦, 可以復用. 如果設計了穩定了自動化測試程序, 可以大大減少人工的投入. 試想, 一個軟體的發布, 一定是面臨了幾十上百次的測試, 如果在版本穩定之後, 自動化開始介入, 後面的測試, 就都可以使用程序來代替人工, 你可以一邊端著咖啡一邊等測試報告了.那麼, 什麼樣的功能適合做自動化呢? 高頻使用的功能, 核心重要的功能, 適合自動化. 編寫代碼的時間成本其實蠻高的, 如果一個自動化腳本, 它的應用次數小於6次, 那麼它其實是不適合自動化的. 因此, 從性價比的角度來看, 自動化測試的目標就是要在多個版本中進行測試, 來達到復用的目的.以上, 願樓主自動化測試順利. 你問的稍微有些不清楚如果是指,多個需要發布的版本。例如 淘寶1.0版本 2.0版本,顯然都需要測試,因為是要發布後直接面對用戶的。2.0版本可能改變了很多功能,不能說1.0測過了,2.0就不需要測試了對吧? 如果是指,一個版本的多個階段。例如alpha測試,beta測試等,那麼這是因為他們的測試力度和目標不一樣。如果是指,一個內部未發布版本的多次迭代。例如2020-03-17,2020-03-19用時間來定義的版本。這裡每一次迭代未必包含正式發布時的所有功能。代碼和功能類似於堆積木一樣,是一塊一塊堆積起來的。此時對每次迭代的測試,等於該迭代的新增功能測試,以及對其他舊功能的回歸測試。此處的回歸測試非常重要,它可以保障增量迭代的質量穩定性,快速確認本次迭代沒有引入新bug,從而實現「小步快跑」。 最近在看《Google軟體測試之道》,其中有一個零成本測試流程的章節,講的是如何將測試成本壓縮到近乎為零的理想狀態,它提出了一些想法模型: 成本幾乎為零 瞬間可以得到測試結果 極少或者無需人為幹預 非常靈活 並且他們為了實現這個想法而採取了如下的測試流程開展測試:通過GTA進行測試計劃,即基於風險、快速的、可以自動化更新的計劃 測試覆蓋度 bug評審 探索性測試 bug提交 bug趨勢跟蹤及調試 部署新的版本並回歸第一步 在這個過程中,測試人員無需為了幾個可能發生回歸的特性變化,而去手工執行成百上千的回歸測試,而我們的自動化可以在7*24小時地運行,幾分鐘內就能完成一個測試週期,更早地發現回歸的問題。OK,現在Google的自動化測試實踐是非常成功的,也是我們國內的企業需要學習的,對於題主問的目的是什麼,答案就是降低測試成本、提高測試效率。 推薦題主也看一下這本書,可以說是自動化測試的啟蒙之作:google谷歌軟體開發測試教程 軟體測試開發工程師入門京東¥ 66.00去購買? 問題拆分一下,個人拆分為以下含義,有理解錯誤的地方,提問者可以更正:1.軟體是一個2.這個軟體有多個版本3.對多個版本進行了自動化測試4.自動化測試的目的是什麼我們分開來談。只需要針對一個軟體,這個應該沒有異議。軟體的多個版本。這個其實說的不算太清楚,軟體的多個版本是線型的還是並行的,如果只是版本的升級,那麼測試最終的版本即可;如果是提供給不同客戶的多個不同版本,那麼需要測試的就是每一個版本了。 對多個版本進行自動化測試,如果是不同版本的自動化,是否需要對每個版本進行不同的自動化測試程序設計,也許是同一個自動化測試程序,有不同的參數或者給每一個版本進行一個特定的自動化測試程序。自動化測試的目的,個人感覺來說自動化測試的目的就是減少人工成本和人為錯誤,避免重複性工作。--------補充說明--------沒有注意到標籤裡面有Android自動化測試標籤。那麼可能版本是提供給不同安卓內核,還是為了適配不同的手機,需要提供不同的版本。但是原理應該是一樣的。其實這個問題分開提問能更好些,因為我不是很理解你的真正關注點在哪裡,所以只能大概的說一下自己猜測的看法。 推薦閱讀:
題主你好,先回答一下你的這個問題。自動化測試的目的其實很直白:
1、由於回歸測試的動作和用例是完全設計好的,測試期望的結果也是完全可以預料的,將回歸測試自動運行,可以極大提高測試效率,縮短回歸測試時間。
2、自動化的一個明顯的好處是可以在較少的時間內運行更多的測試。
3、可以執行一些手工測試困難或不可能進行的測試。
4、將繁瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例。
5、測試具有一致性和可重複性。
6、測試的復用性。由於自動測試通常採用腳本技術,這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。
7、增加軟體信任度。由於測試是自動執行的,所以不存在執行過程中的疏忽和錯誤,完全取決於測試的設計質量。
但是最後,我想問題主,這個問題是面試的時候遇到的麼?因為我覺得這提問的方式挺沒有邏輯的!
原因在於:1.大多數時候同一個軟體不會多個版本同時主發一起運行。一定會有一個是主要的版本,而且一般測試真的沒有那麼多時間和功夫。
2.自動化測試的目的當然是為了提升測試效率。
正是因為手工測試的一些弊端,在測試用例量很大的時候,大量的版本回歸測試基本都會考慮自動化測試。
瀉藥~
首先我們需要搞清楚, 自動化測試是什麼呢? 它就是以程序測試程序, 以腳本的運行代替手工測試.
它的重要特點就是不知疲倦, 可以復用. 如果設計了穩定了自動化測試程序, 可以大大減少人工的投入. 試想, 一個軟體的發布, 一定是面臨了幾十上百次的測試, 如果在版本穩定之後, 自動化開始介入, 後面的測試, 就都可以使用程序來代替人工, 你可以一邊端著咖啡一邊等測試報告了.
那麼, 什麼樣的功能適合做自動化呢? 高頻使用的功能, 核心重要的功能, 適合自動化. 編寫代碼的時間成本其實蠻高的, 如果一個自動化腳本, 它的應用次數小於6次, 那麼它其實是不適合自動化的. 因此, 從性價比的角度來看, 自動化測試的目標就是要在多個版本中進行測試, 來達到復用的目的.
以上, 願樓主自動化測試順利.
你問的稍微有些不清楚
如果是指,多個需要發布的版本。
例如 淘寶1.0版本 2.0版本,顯然都需要測試,因為是要發布後直接面對用戶的。2.0版本可能改變了很多功能,不能說1.0測過了,2.0就不需要測試了對吧?
如果是指,一個版本的多個階段。
例如alpha測試,beta測試等,那麼這是因為他們的測試力度和目標不一樣。
如果是指,一個內部未發布版本的多次迭代。
例如2020-03-17,2020-03-19用時間來定義的版本。這裡每一次迭代未必包含正式發布時的所有功能。代碼和功能類似於堆積木一樣,是一塊一塊堆積起來的。
此時對每次迭代的測試,等於該迭代的新增功能測試,以及對其他舊功能的回歸測試。此處的回歸測試非常重要,它可以保障增量迭代的質量穩定性,快速確認本次迭代沒有引入新bug,從而實現「小步快跑」。
最近在看《Google軟體測試之道》,其中有一個零成本測試流程的章節,講的是如何將測試成本壓縮到近乎為零的理想狀態,它提出了一些想法模型:
並且他們為了實現這個想法而採取了如下的測試流程開展測試:
通過GTA進行測試計劃,即基於風險、快速的、可以自動化更新的計劃
在這個過程中,測試人員無需為了幾個可能發生回歸的特性變化,而去手工執行成百上千的回歸測試,而我們的自動化可以在7*24小時地運行,幾分鐘內就能完成一個測試週期,更早地發現回歸的問題。
OK,現在Google的自動化測試實踐是非常成功的,也是我們國內的企業需要學習的,對於題主問的目的是什麼,答案就是降低測試成本、提高測試效率。
推薦題主也看一下這本書,可以說是自動化測試的啟蒙之作:
問題拆分一下,個人拆分為以下含義,有理解錯誤的地方,提問者可以更正:
1.軟體是一個
2.這個軟體有多個版本
3.對多個版本進行了自動化測試
4.自動化測試的目的是什麼
我們分開來談。
只需要針對一個軟體,這個應該沒有異議。
軟體的多個版本。這個其實說的不算太清楚,軟體的多個版本是線型的還是並行的,如果只是版本的升級,那麼測試最終的版本即可;如果是提供給不同客戶的多個不同版本,那麼需要測試的就是每一個版本了。
對多個版本進行自動化測試,如果是不同版本的自動化,是否需要對每個版本進行不同的自動化測試程序設計,也許是同一個自動化測試程序,有不同的參數或者給每一個版本進行一個特定的自動化測試程序。
自動化測試的目的,個人感覺來說自動化測試的目的就是減少人工成本和人為錯誤,避免重複性工作。
--------補充說明--------
沒有注意到標籤裡面有Android自動化測試標籤。
那麼可能版本是提供給不同安卓內核,還是為了適配不同的手機,需要提供不同的版本。
但是原理應該是一樣的。
其實這個問題分開提問能更好些,因為我不是很理解你的真正關注點在哪裡,所以只能大概的說一下自己猜測的看法。