自動化測試是近些年的一個熱點,為了更加快速、有效地對軟件進行測試,提高軟件產(chǎn)品的質(zhì)量,必然會利用測試工具,也必然會引入自動化測試。下面就自動化測試的概念、優(yōu)勢和局限性等知識點進行總結(jié)學習。
概念:自動化測試就是通過測試工具或其他手段,按照測試工程師的預定計劃對軟件產(chǎn)品進行自動的測試,它是軟件測試的一個重要的組成部分,它能夠完成許多手工無法完成或者難以實現(xiàn)的一些測試工作。正確、合理地實施自動化測試,能夠快速、全面地對軟件進行測試,從而提高軟件質(zhì)量,節(jié)省經(jīng)費,縮短產(chǎn)品發(fā)布周期。
優(yōu)勢:
(1)提高測試質(zhì)量;
(2)提高測試效率;
(3)提高測試覆蓋率;
(4)執(zhí)行手工測試不能完成的測試任務;
(5)更好地重現(xiàn)軟件缺陷的能力;
(6)更好地利用資源;
(7)增進測試人員與開發(fā)人員之間的合作伙伴關系。
測試工具能夠提高軟件質(zhì)量,改進測試過程,因此在許多公司中得到了廣泛應用,由于自動化測試工具自身的特點,為達到較高的投資回報率,在以下項目和環(huán)境中更適合使用自動化測試工具:
(1)需要反復進行的工作;
(2)負載壓力測試;
(3)公司有大量的測試人員和開發(fā)人員,他們合作完成一個產(chǎn)品,那么如何在產(chǎn)品的生命周期中進行有效管理和合作,借助于自動化的測試管理工具,會取得事半功倍的效果。
(4)如果需要進行測試系統(tǒng)后臺或者內(nèi)部的性能特性,進而進行故障定位和性能調(diào)優(yōu),自動化測試工具會是一個不錯的選擇。
局限性(自動化測試不能完全替代手工測試,以下項目就不適合采用自動化測試):
(1)定制型項目:為客戶定制的項目,甚至采用的開發(fā)語言、運行環(huán)境也是客戶特別要求的,開發(fā)公司在這方面的測試積累少,這樣的項目不適合作自動化功能測試。
(2)周期很短的項目:項目周期很短,相應的測試周期也很短,因此花大量精力準備的測試腳本,不能得到重復地利用。當然,為了某種特定的測試目的專門執(zhí)行的測試任務除外,比如,針對特定應用的性能測試等。
(3)業(yè)務規(guī)則復雜的對象:業(yè)務規(guī)則復雜的對象有復雜的邏輯關系和運算關系,工具很難實現(xiàn),或者要實現(xiàn)這些測試過程,需要投入的測試準備時間比直接進行手工測試所需的時間更長。
(4)人體感觀與易用性測試:界面的美觀、聲音的體驗、易用性的測試,無法用測試工具來實現(xiàn)。
(5)不穩(wěn)定的軟件:如果軟件不穩(wěn)定,則會由于這些不穩(wěn)定因素導致自動化測試失敗,或者致使測試結(jié)果本身就是無效的。
(6)涉及物理交互:自動化測試工具不能很好地完成與物理設備的交互,比如刷卡器的測試等。
對于自動化測試,有一些不正確的認知,現(xiàn)列舉如下:
(1)自動化測試可以完成一切測試工作。
(2)自動化測試工具可適用于所有的測試。
(3)自動化測試工具能使工作量大幅度降低。(引入自動化測試工具不會馬上減輕測試工作,相反,在更多情況下,首次將自動化測試工具引入企業(yè)時,測試工作實際上變得更艱巨了。只有在正確合理地使用測試工具,并有一定 的技術(shù)積累后,測試工作量才能逐漸減輕。)
(4)自動化測試工具能實現(xiàn)百分之百的測試覆蓋率。
(5)自動化測試工具容易使用。
(6)自動化測試能發(fā)現(xiàn)大量的新缺陷。
自動化測試工具可以減少測試工作量,提高測試工作效率,但首先是能夠選擇一個合適的且滿足企業(yè)信息系統(tǒng)工程環(huán)境的自動化測試工具,因為不同的測試工具,其面向的測試對象是不一樣的。按照測試工具的主要用途和應用領域,可以將自動化測試工具分為以下幾類:
(1)負載壓力自動化測試工具;
(2)功能自動化測試工具;
(3)白盒自動化測試工具;
(4)網(wǎng)絡自動化測試工具;
(5)自動化測試管理工具;
(6)自動化測試輔助工具。
下面是近幾年對自動化測試考察過的真題,基本上在每年考試中都有一席之地,以后仍是考試出題的重點,大家要重視起來。
【2018年53題】以下測試項目不適合采用自動化測試的是( ) 。
A.負載壓力測試
B.需要反復進行的測試
C.易用性測試
D.可以錄制回放的測試
解析:本題考查自動化測試的基礎知識。
易用性是指軟件產(chǎn)品被理解、學習、使用和吸引用戶的能力。易用性涉及易理解、易學習、美觀性、一致性、業(yè)務符合性等方面,這些不適合采用自動化測試。
故正確答案為:C
【2018年59題】自動化測試的優(yōu)勢不包括( )。
A.提高測試效率
B.提高測試覆蓋率
C.適用于所有類型的測試
D.更好地利用資源
解析:本題考查自動化測試的基礎知識。
自動化測試不能適用于所有類型的測試,一般都是有專用的測試類型,例如是功能自動化測試還是負載壓力自動化測試等。
故正確答案為:C
【2019年59題】以下不屬于自動化測試的局限性的是( )。
A. 周期很短的項目沒有足夠時間準備測試腳本
B. 業(yè)務規(guī)則復雜的項目難以自動化
C. 公司有大量測試人員不需要自動化
D. 易用性測試難以自動化
解析:本題考查自動化測試的基礎知識。
把測試人員從繁重瑣碎的重復性勞動中解放出來,把精力投入到對系統(tǒng)更深層次的探索中來,以期發(fā)現(xiàn)軟件系統(tǒng)中潛在的重要問題才是自動化測試的意義,跟公司有沒有大量的測試人員沒有太大的關系。
故正確答案為:C