AI測(cè)試的迷思
近年來,我一直關(guān)注AI相關(guān)的測(cè)試,并積極參與多個(gè)全國性測(cè)試社區(qū)和社群。在這些社區(qū)中,我與不同公司和領(lǐng)域的測(cè)試專家交流探討AI測(cè)試相關(guān)話題,包括業(yè)界頂尖公司的專家和國內(nèi)知名測(cè)試學(xué)者。我也參加了多個(gè)大會(huì),聆聽了許多關(guān)于AI測(cè)試的主題分享,并嘗試了多款A(yù)I相關(guān)的測(cè)試工具,從中獲得了許多知識(shí)和感悟。
在這些測(cè)試社區(qū)和社群中,我遇到了許多關(guān)于AI測(cè)試的問題,例如什么是AI測(cè)試,如何進(jìn)行AI測(cè)試,AI測(cè)試有哪些工具與方法等。然而,當(dāng)我在網(wǎng)上搜索AI測(cè)試相關(guān)的書籍時(shí),卻發(fā)現(xiàn)大量的AI開發(fā)相關(guān)書籍,卻鮮有專門介紹AI測(cè)試的書籍。這說明測(cè)試業(yè)界仍在混沌中不斷摸索前進(jìn)。
為了分享我所學(xué)到的AI測(cè)試相關(guān)知識(shí)和經(jīng)驗(yàn),我梳理了自己的學(xué)習(xí)經(jīng)歷,嘗試回答了一些我遇到的關(guān)于AI測(cè)試的常見問題,并將這些內(nèi)容整理成文章,與大家一起交流探討。
AI測(cè)試的迷思
在討論AI測(cè)試時(shí),通常存在兩種理解:
- 第一種是利用AI輔助當(dāng)前的軟件測(cè)試,例如使用AI系統(tǒng)學(xué)習(xí)測(cè)試分析和測(cè)試設(shè)計(jì),進(jìn)而自動(dòng)生成測(cè)試用例并自動(dòng)化實(shí)現(xiàn)這些測(cè)試用例。
- 第二種則是對(duì)AI系統(tǒng)進(jìn)行測(cè)試。盡管業(yè)界對(duì)于AI系統(tǒng)進(jìn)行測(cè)試仍然使用常規(guī)測(cè)試手段,如功能測(cè)試、性能測(cè)試和安全測(cè)試等,但測(cè)試其功能有效性時(shí)往往難以獲取明確的測(cè)試數(shù)據(jù)和驗(yàn)收條件。這種情況下,只能通過對(duì)算法的深入理解和根據(jù)經(jīng)驗(yàn)生成或?qū)ふ覕?shù)據(jù),并大致評(píng)估功能測(cè)試結(jié)果的有效性來進(jìn)行測(cè)試。
而利用AI輔助當(dāng)前的自動(dòng)化測(cè)試則是一個(gè)新興領(lǐng)域。使用AI(如深度學(xué)習(xí))系統(tǒng)來幫助測(cè)試工作絕對(duì)是近幾年最熱門的測(cè)試趨勢(shì)之一,其中包括自動(dòng)生成并執(zhí)行自動(dòng)化測(cè)試、大規(guī)模測(cè)試結(jié)果分析、自動(dòng)化探索性測(cè)試、缺陷定位等。
美國已經(jīng)有多家公司推出了商用的AI測(cè)試工具。在朱少民老師的公眾號(hào)“軟件質(zhì)量報(bào)道”中,有一篇名為《未來已來,人工智能測(cè)試勢(shì)不可擋:介紹9款A(yù)I測(cè)試工具》的文章,介紹了9款基于AI的測(cè)試工具。但這些AI測(cè)試工具普遍存在測(cè)試用例準(zhǔn)確性和大規(guī)模測(cè)試用例可維護(hù)性等問題。
第一個(gè)問題:AI輔助測(cè)試真的能用嗎?
雖然許多公司已經(jīng)開始研究AI輔助測(cè)試,并有許多工具問世,但它們都有一個(gè)顯著問題:準(zhǔn)確性。由于現(xiàn)有的AI學(xué)習(xí)算法本身的限制,學(xué)習(xí)并生成的測(cè)試用例和驗(yàn)證條件的準(zhǔn)確率都不是非常高。我曾參加過幾個(gè)大會(huì),其中一些中國一線互聯(lián)網(wǎng)廠商分享的AI輔助測(cè)試的準(zhǔn)確率僅略高于80%,不到90%。這種準(zhǔn)確率在金融等某些對(duì)精度要求高的系統(tǒng)中很難得到認(rèn)可。
其次,當(dāng)自動(dòng)化測(cè)試用例規(guī)模很大時(shí),測(cè)試用例的維護(hù)工作很難依靠人工完成,只能依靠工具。由于AI測(cè)試工具的不準(zhǔn)確性,導(dǎo)致維護(hù)工作的準(zhǔn)確性也不是十分理想。
盡管如此,在質(zhì)量要求不高的大型系統(tǒng)中,AI輔助測(cè)試可以極大地降低測(cè)試成本,因此在這些系統(tǒng)中,AI輔助自動(dòng)化測(cè)試已經(jīng)得到應(yīng)用。此外,在質(zhì)量要求高并且資源充足的項(xiàng)目中,AI輔助測(cè)試可以作為人工自動(dòng)化測(cè)試的擴(kuò)展,作為自動(dòng)化探索性測(cè)試的一種工具,可以進(jìn)一步保證軟件質(zhì)量。
第二個(gè)問題:AI輔助測(cè)試已經(jīng)發(fā)展到什么程度了?
目前,AI輔助測(cè)試仍處于初級(jí)階段。我將AI輔助測(cè)試分為三個(gè)階段:
- 第一階段是通過深度學(xué)習(xí)模型自動(dòng)產(chǎn)生測(cè)試用例的輸入,然后通過人工驗(yàn)證輸出結(jié)果的正確性。
- 第二階段是通過深度學(xué)習(xí)模型自動(dòng)產(chǎn)生測(cè)試用例的輸入,并通過規(guī)則模型自動(dòng)驗(yàn)證輸出結(jié)果的正確性。
- 第三階段是通過深度學(xué)習(xí)模型自動(dòng)產(chǎn)生測(cè)試用例的輸入和輸出,并自動(dòng)驗(yàn)證輸出結(jié)果的正確性。
目前業(yè)界已經(jīng)基本實(shí)現(xiàn)了第一階段,有一些公司也已經(jīng)開始實(shí)現(xiàn)第二階段。然而,只有極少數(shù)的大公司已經(jīng)實(shí)現(xiàn)了第三階段,并且這些公司的準(zhǔn)確性還有待提高。因此,AI輔助測(cè)試仍有很長的路要走。
第三個(gè)問題:哪些軟件系統(tǒng)能用AI輔助測(cè)試?
理論上,任何軟件系統(tǒng)都可以使用AI來輔助自動(dòng)化測(cè)試工作。然而,由于目前AI測(cè)試系統(tǒng)的現(xiàn)狀,它還不能真正用于所有類型的軟件系統(tǒng)。許多實(shí)際項(xiàng)目只在某些特定系統(tǒng)的特定接口層上使用AI測(cè)試,例如Web Service API等。
在不同行業(yè)領(lǐng)域中,AI測(cè)試的使用情況也不同。例如,在金融和軍工等對(duì)質(zhì)量要求很高的行業(yè)中,AI測(cè)試目前只能作為當(dāng)前已有功能自動(dòng)化測(cè)試的擴(kuò)展部分。而在互聯(lián)網(wǎng)等質(zhì)量要求不高的行業(yè)中,一些技術(shù)能力強(qiáng)的公司已經(jīng)將AI測(cè)試作為主要的自動(dòng)化測(cè)試方式之一。不過,AI輔助自動(dòng)化測(cè)試無疑是自動(dòng)化測(cè)試的未來!
總結(jié)
通過上面對(duì)于問題的回答,希望能解決大家對(duì)于AI測(cè)試的困惑,包括了解什么是AI測(cè)試,自己的項(xiàng)目是否適合使用AI測(cè)試,以及未來是否需要在AI測(cè)試上投資等問題。
綜上所述,AI測(cè)試目前仍處于發(fā)展初期,因此不適合大規(guī)模使用,只有在特定項(xiàng)目中才可以考慮使用。無論是使用AI還是人工方式實(shí)施自動(dòng)化測(cè)試,核心都是測(cè)試的有效性和測(cè)試結(jié)果的準(zhǔn)確性,以及測(cè)試用例的可維護(hù)性。這些是大規(guī)模自動(dòng)化測(cè)試成功與否的關(guān)鍵因素。
因此,無論是AI自動(dòng)測(cè)試還是人工自動(dòng)測(cè)試,其核心本質(zhì)都是一樣的:靠知識(shí)學(xué)習(xí)、分析、總結(jié)等一系列人的思維來解決測(cè)試分析、測(cè)試設(shè)計(jì)和自動(dòng)化測(cè)試實(shí)現(xiàn)的工作。但目前AI系統(tǒng)本身的發(fā)展還不足以很好地替代人在測(cè)試分析和測(cè)試設(shè)計(jì)方面的工作,導(dǎo)致AI實(shí)現(xiàn)的自動(dòng)化測(cè)試的準(zhǔn)確性以及可維護(hù)性比人工方式更差。不過,AI測(cè)試在時(shí)間和成本方面有明顯的優(yōu)勢(shì),這也是其越來越受歡迎的原因。
因此,在測(cè)試領(lǐng)域,AI需要更加努力才能真正替代人的工作。在考慮使用AI測(cè)試之前,應(yīng)該仔細(xì)評(píng)估項(xiàng)目的特定需求和條件,以確定是否適合使用AI測(cè)試。未來,隨著AI技術(shù)的不斷發(fā)展和完善,AI測(cè)試將成為自動(dòng)化測(cè)試的重要趨勢(shì),而投資于AI測(cè)試的相關(guān)技術(shù)和人才也將是一個(gè)明智的選擇。