[No.X058-2]
測試是產(chǎn)品交付市場前的最后橋梁,如果測試不夠完善那么通往市場的橋梁隨時都會坍塌。測試致力于保障開發(fā)質(zhì)量,是軟件開發(fā)周期必不可少的重要環(huán)節(jié)。
早期軟件項目只有開發(fā)人員,當(dāng)時人們對于軟件的容錯性非常高,沒有測試的環(huán)節(jié),也沒有測試的概念。隨著軟件的數(shù)量急劇膨脹,軟件需求日趨復(fù)雜,維護的難度越來越大,大家開始對軟件測試有了基本的概念。近年來,互聯(lián)網(wǎng)發(fā)展的越來越大,越來越多的企業(yè)加入軟件產(chǎn)業(yè),軟件覆蓋的功能也越來越貼近人們的生活,除了功能,人們更在乎使用體驗。而當(dāng)下最熱的一個詞莫過于AI了,可以預(yù)見的是,未來的測試技術(shù)將趨近于智能。
做測試很痛苦,但它關(guān)乎到用戶體驗和數(shù)據(jù)安全,甚至人身安全,不能不做。軟件質(zhì)量問題會使開發(fā)維護費用和用戶的使用成本大幅增加,造成公司信譽下降,而一些關(guān)鍵應(yīng)用領(lǐng)域的質(zhì)量問題,更會造成災(zāi)難性的后果。
從一些軟件故障說起
1. 2019年5月,SAP嚴(yán)重漏洞使5萬家企業(yè)關(guān)鍵業(yè)務(wù)易受網(wǎng)絡(luò)攻擊
Onapsis研究實驗室的網(wǎng)絡(luò)安全團隊聲稱,針對SAP軟件兩個技術(shù)組件的名為10KBlaze的漏洞會導(dǎo)致SAP應(yīng)用軟件中招,包括刪除關(guān)鍵業(yè)務(wù)型應(yīng)用軟件數(shù)據(jù)以及竊取或篡改敏感信息。遠(yuǎn)程攻擊者只要略懂一些技術(shù)知識和通過網(wǎng)絡(luò)連接到易受攻擊的系統(tǒng),就可以執(zhí)行攻擊。使用SAP NetWeaver和S/4HANA的多達5萬家公司和100萬個生產(chǎn)系統(tǒng)存在配置不當(dāng)?shù)膯栴}。
2. 2019年5月,Azure云宕機3個小時
在過去的幾年里,AWS、微軟Azure、谷歌云、阿里云等,任何一家巨頭都沒能實現(xiàn)100%的可靠性。由于DNS配置失誤,微軟Azure云在全球范圍內(nèi)處于不穩(wěn)定的狀態(tài)。這次影響整個平臺的故障破壞了全球各地由微軟托管的各種系統(tǒng):從Azure SQL數(shù)據(jù)庫和App Services,到多因子身份驗證、Microsoft 365、Teams、Dynamics、SharePoint Online和OneDrive。
3.2019年8月,起亞宣布召回11423輛2019款Optima轎車
這些車輛的生產(chǎn)日期在2018年5月21日至2019年5月29日之間。召回的原因是起亞的前置碰撞預(yù)警系統(tǒng),其中包括了自動緊急剎車功能。起亞表示,他們所發(fā)現(xiàn)的一個軟件錯誤可能會導(dǎo)致車輛忽略前方處于靜止?fàn)顟B(tài)下的其他車輛,不會對司機進行警告,也不會在需要時啟動自動剎車功能。
軟件質(zhì)量——總體質(zhì)量的提升與重大質(zhì)量事故的涌現(xiàn)
當(dāng)下,軟件總體質(zhì)量有所提升,但質(zhì)量事故仍不斷涌現(xiàn)。不管是操作系統(tǒng)、辦公軟件,還是手機APP,整體質(zhì)量都有提升,但是,一系列質(zhì)量事故的出現(xiàn)又在告訴我們,我們在軟件質(zhì)量和測試上的欠缺還非常多。
隨著世界不斷的數(shù)字化、數(shù)據(jù)化,我們目睹了技術(shù)進步的巨大變化。移動互聯(lián)網(wǎng)的紅利正從線上轉(zhuǎn)移到線下,并帶動傳統(tǒng)行業(yè)在未來十年發(fā)生巨大的轉(zhuǎn)型,而隨著互聯(lián)網(wǎng)及傳統(tǒng)行業(yè)的公司逐漸轉(zhuǎn)向數(shù)據(jù)驅(qū)動的運營方式,測試也被賦予了更多的含義。
目前,很多企業(yè)已采用了敏捷與DevOps, 以應(yīng)對快速變化的需求,而為了有效地實施DevOps實踐,軟件團隊不能忽視測試自動化,因為它是DevOps過程的基本要素。與此同時,AI和機器學(xué)習(xí)技術(shù)的不斷成熟和發(fā)展,我們正在看到更多應(yīng)用它們來解決質(zhì)量預(yù)測,測試用例優(yōu)先級排列,故障分類和分布等問題的實踐。
值得關(guān)注的測試趨勢
1.測試自動化,以及手動和自動化的集成
傳統(tǒng)上軟件測試的工作一般都是由測試人員編寫腳本來對軟件包括前后端在內(nèi)的不同部分進行測試,這個過程往往需要消耗很多的時間。而一旦軟件進行了變更,腳本也得做相應(yīng)調(diào)整,然后還要進行費時的調(diào)試工作。
測試自動化能夠幫助測試團隊將他們的時間和努力專注到測試用例上,而不必過于管理測試需求。自動化測試則負(fù)責(zé)跟蹤和管理所有的測試需求,以及測試那些需要涉及到的測試類型,有助于確保高質(zhì)量的軟件交付。專業(yè)的工具被用于控制測試的執(zhí)行,從而將實際結(jié)果與預(yù)期結(jié)果做比較。
Tricentis是一家為企業(yè)提供軟件自動化測試解決方案的奧地利企業(yè),其自動化軟件測試解決方案Tosca可以自行掃描應(yīng)用包括GUI和API,對代碼進行解析,從業(yè)務(wù)層對應(yīng)用的功能做出解讀,并且創(chuàng)建出測試的功能模塊。然后對應(yīng)用進行測試,測試支持.NET、HTML、Java等多種語言。如果程序發(fā)生變更的話,只需對其進行重新掃描即可,幫助用戶優(yōu)化測試資產(chǎn)的可重用性。與許多其他的測試自動化工具一樣,它支持廣泛的技術(shù)和應(yīng)用程序,如web、mobile和API。Tosca還具有集成管理、風(fēng)險分析和分布式執(zhí)行的特性。
越來越多的質(zhì)量保證專業(yè)人員會結(jié)合使用手動和自動化測試方法,來相互補足短板,并達到相得益彰的效果。不過,手動測試仍在整個測試領(lǐng)域占據(jù)著主導(dǎo)地位,而且特別是在可用性和手工設(shè)計等方面。
2.測試的未來:AI+測試,更智能的測試
縱觀測試行業(yè),從最初的人工手動測試,到后來的工具測試,再到目前市面上主流的自動化測試,整個行業(yè)在技術(shù)和流程上,基本已經(jīng)進入到了一個成熟和穩(wěn)定的階段。
有沒有可能讓測試工具可以像機器像人一樣,即使界面和環(huán)境發(fā)生了改變,它還能認(rèn)識?
近日,Testin云測正式發(fā)布全新AI測試產(chǎn)品iTestin,其融合了自然語言處理、文本識別、圖標(biāo)識別等技術(shù),測試人員只需要用自然語言即可實現(xiàn)測試編程:測試人員只需在界面中輸入點擊、等待、檢查、長按、輸入等自然語言的文字描述,后臺的AI就能準(zhǔn)確實時的在真機上進行完整無誤的操作和相關(guān)指令,完成測試自動化操作。
通過將 AI 與自動化測試相結(jié)合,有助于自動化、全路徑探索應(yīng)用的各種顯在或是潛在問題,提取特征訓(xùn)練進行業(yè)務(wù)功能的識別,并智能生成測試報告。AI 的加入還有助于實現(xiàn)對功能模塊的自動探索以及執(zhí)行過程的可視化,使得測試環(huán)節(jié)定位更加迅速準(zhǔn)確。對于用戶來說,自動化的測試管理和測試用例創(chuàng)建能夠顯著降低測試時間與資源的浪費,大大加快應(yīng)用上市的進程。
頭部公司的測試實踐:智能化、自動化、DevOps
1.阿里正在嘗試著讓整個測試工作變得更簡單,通過降低門檻,讓開發(fā)、算法或者其他同學(xué)都能夠參與進來,這個階段主要是向測試平臺或者測試中臺的演進。
阿里打造了協(xié)同化的測試模式,將低風(fēng)險和算法的項目通過智能化線下測試平臺Markov來做。該平臺具備非常先進的智能化技術(shù),如智能回歸,用例智能推薦,數(shù)據(jù)智能推薦,冒煙回歸技術(shù),用例膨脹,智能排查閉環(huán)等,通過智能化、可視化、產(chǎn)品化的方式,讓開發(fā)、算法的同學(xué)進行自動化的測試,由系統(tǒng)來判定準(zhǔn)入,判定準(zhǔn)出,系統(tǒng)通過了,就可以隨時上線。在功能測試的用例生成,用例回歸,排查階段,都體現(xiàn)出了智能化的效果。
2.360搜索通過CI/CD全流程自動化、功能、性能、接口測試自動化,再加上業(yè)務(wù)監(jiān)控、線上產(chǎn)品質(zhì)量的自動化分析、AB實驗以及一套完善的數(shù)據(jù)分析系統(tǒng)來保障線上服務(wù)質(zhì)量。
360搜索在流程自動化方面做了全流程的自動化體系建設(shè),通過線上質(zhì)量的自動化分析系統(tǒng)進行保障。具體來說,在項目管理上,把時光軸、項目時間節(jié)點都和數(shù)據(jù)關(guān)聯(lián)起來;同時,打造了自有功能自動化、前端自動化、接口自動化平臺;而在專項測試上,采用性能測試平臺和DIFF平臺。在自動化分析實踐中,360搜索采用了很多領(lǐng)先的技術(shù),比如圖片處理,機器學(xué)習(xí)等。通過智能推薦sug,進行語料處理,主題向量變換,以及相似度計算,找出推薦的badcase。通過自動化系統(tǒng)部署需要的環(huán)境,360搜索可快速的切入到業(yè)務(wù),使整體工作效率得到大幅提升,既有功能的自動化使整個發(fā)布基本不用人工干涉。
3.網(wǎng)易通過DevOps提升迭代效率,并突出測試的價值。通過網(wǎng)易OverMind平臺,從需求到研發(fā),到上線,到測試,把各個環(huán)節(jié)常規(guī)所需要用到的一些平臺和工具都進行串聯(lián)打通。
基于OverMind平臺管理環(huán)境,實現(xiàn)了自動化的環(huán)境搭建,將整個環(huán)境創(chuàng)建的過程實現(xiàn)一鍵式自動化,環(huán)境搭建的整體效率提升了240倍。網(wǎng)易做了一個機器學(xué)習(xí)的服務(wù)平臺,把研發(fā)日常線下所做的很多工作,如需要的日志,物料,所有特征的結(jié)果,以及模型訓(xùn)練的結(jié)果,通過該平臺直觀展示出來,在這個平臺上查詢?nèi)罩究傮w的分布,物料的情況,模型的更新情況,把特征訓(xùn)練和模型訓(xùn)練方面的工作做平臺化和服務(wù)化。
結(jié)語
測試正在變得越來越智能,機器學(xué)習(xí)正在為各種工作流程帶來革命性的變化。雖然,AI和機器學(xué)習(xí)在測試中的應(yīng)用仍處于早期階段,但在未來幾年中,我們無疑將看到更多應(yīng)用它們來解決質(zhì)量預(yù)測,測試用例優(yōu)先級排列,故障分類和分布等問題的實踐。應(yīng)用AI和機器學(xué)習(xí)技術(shù)應(yīng)對軟件測試中的挑戰(zhàn)已經(jīng)變成業(yè)界共識,下一代測試已經(jīng)到來。
榜單收錄、高管收錄、融資收錄、活動收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報生成中...