您好,登錄后才能下訂單哦!
在過去的幾十年里,軟件測(cè)試已經(jīng)根據(jù)用于執(zhí)行不同活動(dòng)的工具和使用這些工具的人的心態(tài)發(fā)生了變化。那時(shí)用于軟件測(cè)試的工具很少,但是現(xiàn)在我們有很多的工具可以選擇,從專有的到開源的。同樣地,人們開始把軟件測(cè)試者當(dāng)作信息代理者而不是看門人,并且在敏捷的世界中已經(jīng)出現(xiàn)很多積極的開發(fā)團(tuán)隊(duì),這些開發(fā)對(duì)團(tuán)隊(duì)在軟件開發(fā)生命周期中遵循的流程進(jìn)行了重要的更改。技術(shù)的進(jìn)步要感謝這些進(jìn)化。
從我們看待軟件、評(píng)估風(fēng)險(xiǎn)、考慮復(fù)雜性、設(shè)計(jì)我們的測(cè)試方法和策略,以及幫助向用戶發(fā)布一個(gè)穩(wěn)定的產(chǎn)品的方式來看,技術(shù)確實(shí)對(duì)我們測(cè)試軟件的方式產(chǎn)生了影響,并且這種影響將只會(huì)隨著技術(shù)的進(jìn)步而繼續(xù)。在高層次上,我們已經(jīng)看到將決定軟件測(cè)試未來的5件重要事情。
1.人工智能
大約5年前,每個(gè)人都在談?wù)摗耙苿?dòng)優(yōu)先”,并為用戶提供使用手機(jī)網(wǎng)頁、本機(jī)和混合應(yīng)用程序的移動(dòng)體驗(yàn)?,F(xiàn)在,新的流行詞是人工智能。它在自動(dòng)駕駛汽車、家庭助理(人們當(dāng)然喜歡Alexa)、計(jì)算機(jī)視覺、健康保健、金融,以及現(xiàn)在的軟件測(cè)試領(lǐng)域都有使用。
現(xiàn)在,在市場(chǎng)上很少有可靠的工具使用機(jī)器學(xué)習(xí)來幫助編寫程序和執(zhí)行功能測(cè)試、端到端測(cè)試和回歸測(cè)試。它們主要集中在基于用戶界面的測(cè)試自動(dòng)化——用戶創(chuàng)造的測(cè)試越多,算法變得越智能,這使得測(cè)試更穩(wěn)定。
幸虧有人工智能,有一些我們可以期望開始看到的在測(cè)試中的好處:
更容易編寫測(cè)試代碼
降低測(cè)試腳本的維護(hù)工作
減少片狀測(cè)試
使非技術(shù)人們開始進(jìn)行自動(dòng)化
更容易集成CI/CD
更多可復(fù)用測(cè)試
舉個(gè)例子,我用Cucumber、 Java和Appium構(gòu)建了一個(gè)自動(dòng)化框架。雖然我有一個(gè)健壯的框架,并且在編寫自定義代碼來執(zhí)行各種操作時(shí)具有很大的靈活性,但我經(jīng)常遇到維護(hù)方面的常見問題。當(dāng)開發(fā)人員更改我的自動(dòng)化測(cè)試已經(jīng)覆蓋的元素的屬性時(shí),測(cè)試開始失敗。結(jié)果,我花了很多時(shí)間來維護(hù)這些測(cè)試,而不是編寫新的自動(dòng)化代碼來覆蓋實(shí)現(xiàn)的新功能。
這個(gè)問題現(xiàn)在可以通過使用人工智能從文檔對(duì)象模型提取的動(dòng)態(tài)定位器來解決。在實(shí)時(shí)的情況下,人工智能分析會(huì)分析DOM中的所有對(duì)象樹和屬性,并為特定元素創(chuàng)建不同屬性的列表。因此,當(dāng)一個(gè)元素的屬性變化時(shí),人工智能會(huì)嘗試進(jìn)入列表中的下一個(gè)屬性來定位該元素,并一直遍歷列表,直到找到該元素為止。這種測(cè)試更加穩(wěn)定,測(cè)試程序的編寫和執(zhí)行速度會(huì)快得多,而且測(cè)試者在維護(hù)上花的時(shí)間會(huì)更少。
2.開發(fā)運(yùn)營(yíng)
開發(fā)運(yùn)行幫助軟件開發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)更好地協(xié)作,從而確保在整個(gè)軟件開發(fā)生命周期(SDLC)中有持續(xù)的自動(dòng)化和監(jiān)視,包括基礎(chǔ)設(shè)施管理。
您可能會(huì)問,這將如何影響軟件測(cè)試?答案是:作為測(cè)試的一部分,我們所做的一切都會(huì)改變。我預(yù)計(jì)的變化包括:
需要在軟件開發(fā)生命周期的開始時(shí)就啟動(dòng)自動(dòng)化,并且確保幾乎所有的測(cè)試用例都是自動(dòng)化的
所有的質(zhì)量保障工作都需要對(duì)齊,以確保CI/CD周期的順利進(jìn)行
需要高水平的協(xié)作,以確保在生產(chǎn)環(huán)境有持續(xù)的監(jiān)控
所有的QA環(huán)境都需要被標(biāo)準(zhǔn)化
測(cè)試思維從“在此模塊上完成測(cè)試”轉(zhuǎn)變?yōu)椤霸诎l(fā)布候選版本中已經(jīng)減輕了哪些業(yè)務(wù)風(fēng)險(xiǎn)?”
以上所有變化的關(guān)鍵是自動(dòng)化。開發(fā)運(yùn)營(yíng)和自動(dòng)化手?jǐn)y手并進(jìn)——缺少其一,另一個(gè)將無法工作。這就是聰明的人類和工具能幫助縮短和更可靠的發(fā)布周期的地方。
我曾在一家公司工作,那里的開發(fā)、測(cè)試、運(yùn)營(yíng)團(tuán)隊(duì)之間的協(xié)作很少。我們?cè)谲浖_發(fā)生命周期里發(fā)現(xiàn)了很多缺陷,比如更多的bug進(jìn)入生產(chǎn)環(huán)境,不穩(wěn)定的CI/CD基礎(chǔ)設(shè)施,以及對(duì)生產(chǎn)監(jiān)控和統(tǒng)計(jì)的不可見性。注意到這些差距,團(tuán)隊(duì)決定實(shí)施開發(fā)運(yùn)營(yíng)實(shí)踐,每個(gè)人都開始在軟件開發(fā)生命周期的每個(gè)階段進(jìn)行協(xié)作和貢獻(xiàn)。這從需求收集開始,一直擴(kuò)展到產(chǎn)品發(fā)布和監(jiān)控上。
這種增強(qiáng)的協(xié)作文化開始對(duì)團(tuán)隊(duì)士氣產(chǎn)生積極影響,更多自動(dòng)化開始產(chǎn)生,整個(gè)團(tuán)隊(duì)開始作為一個(gè)單元一起工作。
3.質(zhì)量保證即服務(wù)
就像我們有軟件即服務(wù)、基礎(chǔ)設(shè)施即服務(wù)、平臺(tái)即服務(wù)一樣,我們現(xiàn)在也有質(zhì)量保障即服務(wù)。在過去的幾年里,這已經(jīng)成為公司滿足軟件測(cè)試需求的一種流行方式。
擁有質(zhì)量保障即服務(wù)解決方案的公司可以通過以下方式使軟件測(cè)試過程的不同方面變得更簡(jiǎn)單:
測(cè)試用例管理和維護(hù)解決方案
測(cè)試自動(dòng)化工具,減少編碼需求
強(qiáng)大的測(cè)試報(bào)告功能,包括日志、視頻錄制和屏幕截圖
易于與CI系統(tǒng)集成
在過去7年做自動(dòng)化的過程中,像手機(jī)、虛擬機(jī)、安全網(wǎng)絡(luò)和測(cè)試人員等資源里,我經(jīng)常遇到的一個(gè)大問題是,必須維護(hù)自己的服務(wù)器來運(yùn)行自動(dòng)化測(cè)試。服務(wù)器的機(jī)器有不同的問題,如存儲(chǔ)空間,一個(gè)片狀的互聯(lián)網(wǎng)連接,處理速度慢的測(cè)試正在運(yùn)行持續(xù)整個(gè)星期,和需要頻繁更新的最新操作系統(tǒng),構(gòu)建工具,安全補(bǔ)丁、集成開發(fā)環(huán)境等等。這些問題可以通過質(zhì)量保障即服務(wù)的提供商解決,因?yàn)樗麄兛梢詾槟瓿伤羞@些活動(dòng),因此團(tuán)隊(duì)成員可以將精力集中在更關(guān)鍵的任務(wù)上。
將來,質(zhì)量保障即服務(wù)的供應(yīng)商將考慮更多的方法來改進(jìn)他們的產(chǎn)品,以保持領(lǐng)先于他們的競(jìng)爭(zhēng)對(duì)手,這也將使軟件測(cè)試人員受益。
4.物聯(lián)網(wǎng)
隨著可穿戴設(shè)備、智能家居、聯(lián)網(wǎng)汽車和其他基于云技術(shù)的出現(xiàn),物聯(lián)網(wǎng)已經(jīng)開始成為一個(gè)大的討論的主題。這些設(shè)備的驚人之處在于,每秒鐘都有如此多的通信和集成發(fā)生。
讓我們來分析一下,在高水平上,可穿戴健身追蹤器發(fā)生不同通信。首先,手機(jī)app和健身追蹤器需要相互溝通。你的移動(dòng)應(yīng)用程序捕獲的數(shù)據(jù)與該應(yīng)用程序的桌面、移動(dòng)web和平板電腦版本無縫集成,所有這些跨設(shè)備的通信都應(yīng)該實(shí)時(shí)發(fā)生。所有的數(shù)據(jù)都在云、設(shè)備和應(yīng)用程序之間來回傳輸。人們還可以通過應(yīng)用程序組成小組,互相競(jìng)爭(zhēng),所以這些計(jì)算和通信也需要實(shí)時(shí)進(jìn)行。根據(jù)觸發(fā)的不同事件,需要在正確的時(shí)間向正確的用戶發(fā)送正確的通知。所有這些通信都發(fā)生在互聯(lián)網(wǎng)上。
假設(shè)您是測(cè)試這個(gè)健身跟蹤器的測(cè)試人員。從哪里開始呢?您將如何設(shè)計(jì)您的測(cè)試策略和方法?
物聯(lián)網(wǎng)將其自身的復(fù)雜性引入軟件測(cè)試。它將影響我們對(duì)測(cè)試的看法,特別是因?yàn)榧蓽y(cè)試需要比單獨(dú)測(cè)試每個(gè)組件的舊方法給予更多的關(guān)注。
舉個(gè)例子,當(dāng)我在一家旅游預(yù)訂公司工作時(shí),我們?yōu)锳pple Watch開發(fā)了一款新的應(yīng)用程序,它使用的是WatchOS (Apple Watch最初由Apple推出)。該應(yīng)用程序具有有限但有用的功能,比如查看通知和獎(jiǎng)勵(lì)信息、預(yù)定以及定位酒店、航班和租車位置的能力。在測(cè)試這個(gè)應(yīng)用程序時(shí),我注意到當(dāng)Apple Watch應(yīng)用程序連接到我手機(jī)上的同一個(gè)應(yīng)用程序時(shí),出現(xiàn)了一些奇怪的問題:當(dāng)我將手機(jī)上的應(yīng)用程序最小化時(shí),Apple Watch一片空白,只有一個(gè)黑屏;但當(dāng)我再次在手機(jī)上打開應(yīng)用程序時(shí),黑屏消失了,Apple Watch應(yīng)用程序運(yùn)行正常。
這是一個(gè)很好的例子,說明了集成測(cè)試的重要性。隨著越來越多的設(shè)備進(jìn)入市場(chǎng),這對(duì)于組織和用戶來說將是至關(guān)重要的。
5.機(jī)器人
現(xiàn)在有做測(cè)試的機(jī)器人。有些人可能認(rèn)為這是可怕的工作保障,但我仍然相信,人類的思想是無法取代的。仍然需要人類來監(jiān)控機(jī)器人,以確保它們?cè)谧鋈藗兤谕鼈冏龅氖虑?,并為它們編寫程序。這種可擴(kuò)展性有多強(qiáng)?只有時(shí)間才能證明。
總之,技術(shù)的進(jìn)步已經(jīng)開始影響我們進(jìn)行軟件測(cè)試的方式。這也導(dǎo)致公司重新思考他們的組織結(jié)構(gòu):QA團(tuán)隊(duì)正在向嵌入開發(fā)團(tuán)隊(duì)的方向發(fā)展,并且整個(gè)團(tuán)隊(duì)將擁有質(zhì)量。研究和開發(fā)團(tuán)隊(duì)與開發(fā)團(tuán)隊(duì)的頻繁互動(dòng)也將變得非常重要,以使產(chǎn)品更智能,對(duì)客戶更有用。
還需要有處理大量數(shù)據(jù)的程序,以及適當(dāng)?shù)挠?jì)算能力來梳理這些數(shù)據(jù)以獲得有用的信息和反饋。最后,為了使這一切成為現(xiàn)實(shí),公司需要采用精益流程,并且更加透明,以防止成為創(chuàng)新的一個(gè)障礙。精益轉(zhuǎn)型對(duì)有效增長(zhǎng)至關(guān)重要。
重要的是改變我們看待系統(tǒng)的思維方式,并相應(yīng)地進(jìn)行測(cè)試。我們可以選擇忽略它,也可以選擇接受它。你將會(huì)怎么做?
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。