是德科技軟件測試自動化事業(yè)部總經(jīng)理探討軟件質(zhì)量對于數(shù)字世界的重要意義
2022-01-21
作者:是德科技軟件測試自動化事業(yè)部總經(jīng)理 Gareth Smith 博士
來源:是德科技
新冠疫情加快了數(shù)字化轉型的步伐,軟件在我們的工作、生活和學習中已經(jīng)在發(fā)揮著至關重要的作用。 全球的數(shù)字化程度越來越高,人們對于數(shù)字產(chǎn)品的依賴性也與日俱增,這一切都讓軟件質(zhì)量成為眾所關注的焦點。
數(shù)字化轉型的速度沒有放緩的跡象,基于軟件的創(chuàng)新和發(fā)展仍將持續(xù)。 據(jù)估計,軟件質(zhì)量問題在 2020 年給美國經(jīng)濟造成的損失達到了驚人的 2 萬億美元[1] ,因此我們必須找到有效的方法,在軟件發(fā)布速度和質(zhì)量之間取得平衡。
為了進一步了解軟件質(zhì)量的重要性,是德科技軟件測試自動化部門總經(jīng)理 Gareth Smith 博士進行分享,探討為什么說軟件質(zhì)量決定了業(yè)務能否取得成功以及我們應當采取哪些措施來提升軟件質(zhì)量。
1.為什么軟件質(zhì)量至關重要?
在過去十年間,軟件廠商更多關注的是如何盡快發(fā)布新的應用和服務上,以期跟上快速變化的需求并支持數(shù)字化轉型。 然而,對交付速度的過度追求往往導致軟件質(zhì)量不盡完善。
在數(shù)字優(yōu)先的世界,軟件質(zhì)量至關重要。例如,未被發(fā)現(xiàn)的缺陷可能會引發(fā)系統(tǒng)宕機,云平臺配置錯誤可能導致數(shù)據(jù)泄露或數(shù)據(jù)丟失。軟件缺陷極大地增加了開發(fā)成本。在軟件發(fā)布后再去查找和糾正缺陷,成本會遠遠高于在設計/開發(fā)階段這么做。
2.如何提升自己的軟件質(zhì)量?
在快速開發(fā)軟件的同時,軟件廠商必須重視測試和監(jiān)控,才能提供流暢的高質(zhì)量(全渠道)數(shù)字體驗,成功獲得用戶認可。新一代軟件測試平臺通過整合最新 AI 技術,滿足這一要求。AI 可以從實際應用軟件的使用情況以及歷史錯誤模式中學習經(jīng)驗教訓,掌握哪些應用軟件特性產(chǎn)生了最關鍵的業(yè)務成果。平臺可以自動生成測試,重點考察應用軟件中對業(yè)務成功起到?jīng)Q定性作用的用戶旅程。DevOps 框架內(nèi)的這種端到端智能測試自動化使得企業(yè)能夠提高團隊的工作效率,同時更快交付高質(zhì)量軟件。
3.DevOps 對測試策略有何影響?是德科技的智能自動化平臺起到了什么作用?
DevOps 通過破除不同團隊之間的壁壘實現(xiàn)協(xié)調(diào)和協(xié)作,從而以更快的速度生產(chǎn)更好、更可靠的產(chǎn)品。DevOps 理念讓團隊能夠?qū)ψ约洪_發(fā)的應用軟件更加充滿信心,能夠更好地滿足客戶需求,更快地實現(xiàn)業(yè)務目標。
DevOps 的成功與測試自動化有著內(nèi)在的聯(lián)系,因為面對測試范圍越來越廣、發(fā)布頻次越來越快的趨勢,手動測試無法滿足測試需求。而且,僅僅是自動執(zhí)行少數(shù)幾項測試或管理流程也還是不夠。要想在數(shù)字時代取得成功,開發(fā)和測試自動化工程師必須與運營團隊通力合作,才能確保軟件和應用讓用戶滿意。
是德科技幫助測試團隊以智能的方式在整個生命周期內(nèi)自動運行測試,這個過程包括創(chuàng)建測試例、執(zhí)行測試以及自動分析結果。我們基于 AI 的平臺可以加快開發(fā)速度,幫助開發(fā)團隊查看和分析用戶瀏覽數(shù)字資產(chǎn)的方式和特點。這些分析結果會反饋到測試自動化流程中,從而顯著提升軟件的質(zhì)量和可靠性。
4.AI 能夠為測試自動化策略帶來哪些改變?
AI 賦能測試自動化更進一步超越基于規(guī)則的簡單自動化范疇。它利用算法來高效訓練使用大數(shù)據(jù)集的系統(tǒng)。通過應用推理、解決問題和機器學習等技能,人工智能驅(qū)動的測試自動化工具可以模仿手動操作,讓軟件測試人員可以擺脫繁瑣的測試任務。
智能測試自動化能夠評估數(shù)字產(chǎn)品的功能、性能和可用性,而不是簡單地驗證代碼。該工具集人工智能、機器學習和分析能力于一身,不僅能夠監(jiān)測用戶體驗(UX),還能對應用軟件和真實數(shù)據(jù)展開分析,從而自動生成并執(zhí)行用戶旅程。得益于此,用戶能夠以一種更智能的方式來持續(xù)測試軟件和應用,無論它們在怎樣的環(huán)境下運行。
基于人工智能的工具可以避免測試覆蓋范圍發(fā)生重疊,而且能夠通過提升測試的可預見性來優(yōu)化現(xiàn)有的測試工作,還能夠加快從缺陷檢測到缺陷預防這個過程, 從而進一步提升軟件質(zhì)量。
5.為什么要轉向持續(xù)質(zhì)量控制?
對數(shù)字化的依賴使得測試必須從以驗證為目的的活動轉變?yōu)槌掷m(xù)的質(zhì)量控制流程。團隊必須將質(zhì)量控制納入軟件開發(fā)的每個階段,并且讓整個流程自動化運轉。持續(xù)的質(zhì)量監(jiān)控指的是在整個軟件開發(fā)生命周期(SDLC)中采用系統(tǒng)性方法來查找和修復軟件缺陷。這樣可以盡早發(fā)現(xiàn)和解決問題,從而降低出現(xiàn)安全漏洞和錯誤的風險。
6.提升軟件質(zhì)量是否需要配備更多的技術資源?
不需要。人工智能讓軟件的設計、開發(fā)和部署變得更迅速、更有效、更經(jīng)濟。機器人不會取代程序員。相反,人工智能驅(qū)動的工具讓項目經(jīng)理、業(yè)務分析師、軟件開發(fā)人員和測試人員可以更高效地工作并獲得更有成效的結果,讓他們能夠以更低的成本更快開發(fā)出質(zhì)量更高的軟件。
是德科技的智能自動化平臺使得普通開發(fā)人員也能輕松使用我們的無代碼解決方案,利用人工智能和分析技術在整個測試過程中自動執(zhí)行測試。它能夠讓行業(yè)專家變身為自動化工程師。AI 和 ML 負責腳本編寫和維護,因為機器與人類測試人員不一樣,它們可以在幾分鐘內(nèi)創(chuàng)建并執(zhí)行幾千項測試。
7.是德科技自動化平臺能為測試自動化帶來怎樣的轉變?
是德科技的智能自動化平臺是一款完全沒有侵入性的測試工具,無需用戶接觸源代碼或者是在被測系統(tǒng)(SUT)上安裝任何軟件,即可確保全面的測試覆蓋。我們的技術不涉及應用軟件,用戶無需了解底層技術堆棧即可發(fā)現(xiàn)并報告性能問題、故障和其他錯誤。這樣一款工具對于醫(yī)療、政府和國防等受管制的行業(yè)至關重要。
AI 驅(qū)動的自動化可以在從 UI 到 API 再到數(shù)據(jù)庫的任意層面上,對任何器件、操作系統(tǒng)或瀏覽器上的任何技術展開測試。測試范圍既包括極其現(xiàn)代化、瞬息萬變的網(wǎng)站,也涵蓋傳統(tǒng)的后臺系統(tǒng)以及銷售點和命令與控制系統(tǒng)。
智能自動化的首要目標是了解應用或軟件的特性會給客戶體驗和業(yè)務成果造成怎樣的影響。除此之外,它還能夠幫助我們發(fā)現(xiàn)有待改進的地方,并預測這樣的改變對業(yè)務的影響。
8.在您看來,未來會出現(xiàn)哪些與軟件質(zhì)量相關的趨勢?
隨著數(shù)字化轉型的步伐加快,軟件質(zhì)量的重要性將日益凸顯。數(shù)字化機構必須持續(xù)監(jiān)控數(shù)字資產(chǎn)的性能以及用戶的交互方式,才能確保提供盡可能最佳的體驗。我們認為,未來三年,QA 領域?qū)⒊霈F(xiàn)以下五大趨勢:
1.質(zhì)量保證(QA)將成為利潤中心而不是合規(guī)職能。您必須能夠率先發(fā)布軟件,并且您的軟件必須擁有令人贊不絕口的用戶體驗、完美無瑕的功能和卓爾不凡的響應能力,否則您的企業(yè)可能會陷入困境或失敗。但是,只要您能夠想辦法實現(xiàn)這些目標,成功就大為可期。QA 讓您能夠持續(xù)衡量是否達成了這些目標,因此它會成為利潤中心,而不僅僅只是一項合規(guī)職能。
2.用戶體驗將成為企業(yè)實現(xiàn)差異化的關鍵因素。用戶體驗就好比是展示櫥窗,您需要通過它來吸引客戶并保留客戶。您需要將客戶體驗打造得盡善盡美,否則您就會與競爭對手拉開距離。
3.性能。無論何時,一旦性能出現(xiàn)超過 3 秒的時延,很可能就會對您的業(yè)務造成重大打擊。 千禧一代不夠有耐心,而 Z 世代的耐心則更少!客戶能夠接受的時延頂多只有 3 秒,超過這一時間,他們就會轉向您的競爭對手。您需要通過持續(xù)有效的負載和性能測試來確保您的業(yè)務規(guī)模和響應能力。
4.數(shù)字克星(Digital Nemesis)。測試必須采取更加智能的方式,數(shù)字克星能夠在采用了人工智能驅(qū)動的“混沌工程”系統(tǒng)中發(fā)現(xiàn)和突出顯示弱點,并不知不覺地予以修復。無論是功能、性能、用戶體驗方面的弱點還是安全性弱點,都不在話下。
5. 端到端融合測試。從硬件到用戶體驗。過去那種分層或分類型進行測試的方式已經(jīng)一去不復返。我們需要測試 5G 手機、5G 基站、網(wǎng)絡負載、應用的負載處理能力,以及功能、API、性能、安全性、 iOS、安卓、云、Windows 等等。但是如果對整個端到端系統(tǒng)展開測試(包含所有層、端到端工作流程和交互點)會怎么樣?如果不這樣做的話,我們就沒有對實際使用的系統(tǒng)真正進行測試;我們就無法真正隔離問題,因為如果沒有不同層之間的交互或者當交互測試條件不同時,問題可能不會發(fā)生。因此,我們現(xiàn)在需要通過多層融合測試——將硬件、網(wǎng)絡、軟件和用戶體驗測試人員的技能整合到一個端到端框架中――實現(xiàn)更高水平的測試。