影响软件测试未来的5件事 (译)
摘要:
從我們看軟件、評(píng)估風(fēng)險(xiǎn)、思考復(fù)雜性、設(shè)計(jì)我們的測(cè)試方法和策略,以及幫助發(fā)布一個(gè)穩(wěn)定的產(chǎn)品給用戶的方式,技術(shù)在我們?nèi)绾螠y(cè)試軟件上產(chǎn)生了影響。而且那種影響將只會(huì)隨著技術(shù)進(jìn)步而持續(xù)。在一個(gè)高水平上,有5件我們已經(jīng)看到正在使軟件測(cè)試的將來成形的重要事情。
在過去的二十多年里,軟件測(cè)試不僅以執(zhí)行不同活動(dòng)的工具,而且以人們使用這些工具的思維演進(jìn)。那時(shí)習(xí)慣了少量的工具用于軟件測(cè)試,但是現(xiàn)在我們有過多的工具可以選擇,從專利到開源。同樣地,人們開始把測(cè)試者當(dāng)作信息破壞者而不是守門員,并且在敏捷的世界里有很多積極的開發(fā)團(tuán)隊(duì)在團(tuán)隊(duì)跟隨他們的軟件開發(fā)生命周期的流程中重要的改變做貢獻(xiàn)。這些演進(jìn)感謝技術(shù)的進(jìn)步。
從我們看軟件、評(píng)估風(fēng)險(xiǎn)、思考復(fù)雜性、設(shè)計(jì)我們的測(cè)試方法和策略,以及幫助發(fā)布一個(gè)穩(wěn)定的產(chǎn)品給用戶的方式,技術(shù)在我們?nèi)绾螠y(cè)試軟件上有明確的影響,并且那種影響將只隨著技術(shù)的進(jìn)步而持續(xù)。在一個(gè)高層面上,有5件我們已經(jīng)看到正在使軟件測(cè)試的將來成型的重要事情。
1. 人工智能
大約5年以前,每個(gè)人在談“移動(dòng)第一”并給用戶以使用手機(jī)網(wǎng)頁、本地和混合應(yīng)用程序的方式帶來手機(jī)體驗(yàn)。現(xiàn)在,新的流行詞是人工智能。它在自動(dòng)駕駛汽車、家庭助理(人們當(dāng)然喜歡他們的亞歷克莎)、計(jì)算機(jī)視覺、健康護(hù)理、金融里,并且現(xiàn)在在軟件測(cè)試?yán)铩?/p>
現(xiàn)在,在市場(chǎng)上很少有些信得過的工具使用機(jī)器學(xué)習(xí)去幫助程序編寫和執(zhí)行功能測(cè)試、端到端測(cè)試和回歸測(cè)試。首先它們集中在基于用戶界面的測(cè)試自動(dòng)化——越多用戶創(chuàng)造的測(cè)試,算法變得越智能,使得測(cè)試更穩(wěn)定。
幸虧有人工智能,有一些我們可以期望開始看到的在測(cè)試中的好處:
- 更簡(jiǎn)單的測(cè)試代碼編寫
- 更低的測(cè)試腳本的維護(hù)工作
- 更少的古里古怪的測(cè)試
- 使非技術(shù)人們開始做自動(dòng)化
- 更簡(jiǎn)單的CI/CD集成
- 更可復(fù)用的測(cè)試
舉個(gè)例子,我創(chuàng)建了一個(gè)Cucumber、 Java和Appium自動(dòng)化框架。雖然我有一個(gè)健壯的框架和很多在寫自定義代碼去執(zhí)行各種各樣動(dòng)作的靈活性,但我經(jīng)常遭受普通的維護(hù)問題。當(dāng)一個(gè)開發(fā)改變了一個(gè)元素的屬性,這屬性已經(jīng)被我的自動(dòng)化測(cè)試覆蓋了,測(cè)試開始失敗。結(jié)果,我花費(fèi)了很多時(shí)間只是維護(hù)這些測(cè)試,而不是寫新的自動(dòng)化腳本去覆蓋新的已實(shí)施的功能。
這個(gè)問題現(xiàn)在可以用使用人工智能從文檔對(duì)象模型提取的動(dòng)態(tài)定位器來解決。實(shí)時(shí)地,人工智能分析所有的對(duì)象樹和從文檔對(duì)象模型的屬性,并且能創(chuàng)造一個(gè)特殊元素的不同屬性的一覽表。因此,當(dāng)一個(gè)元素的屬性變化時(shí),人工智能嘗試在這個(gè)一覽表的下一個(gè)屬性去定位這個(gè)元素,并且繼續(xù)仔細(xì)檢查這個(gè)表直到元素被定位到。這種測(cè)試更加穩(wěn)定,程序編寫和測(cè)試執(zhí)行會(huì)快得多,而且測(cè)試者不得不花更少的時(shí)間在維護(hù)上。
2.開發(fā)運(yùn)營(yíng)
開發(fā)運(yùn)行幫助軟件開發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)更好地協(xié)作,因此確保有恒定的自動(dòng)化和監(jiān)控貫穿同時(shí)包含基礎(chǔ)架構(gòu)管理的軟件開發(fā)生命周期中。
你可能會(huì)問,這如何去影響軟件測(cè)試?答案:我們做的一部分測(cè)試的每件事正在變化。我預(yù)見的變化包含:
- 一個(gè)在軟件開發(fā)生命周期的起始時(shí)開始自動(dòng)化的需要,并且確保近乎所有的測(cè)試用例被自動(dòng)化
- 所有的質(zhì)量保障工作需要被分配,為了確保平穩(wěn)的CI/CD循環(huán)
- 需要一個(gè)高水平的協(xié)作以確保在生產(chǎn)環(huán)境的持續(xù)監(jiān)控
- 所有的質(zhì)量保障工作需要被標(biāo)準(zhǔn)化
- 測(cè)試思維從“在這種模式的完整測(cè)試”轉(zhuǎn)變到“在發(fā)布候選者中被減少的業(yè)務(wù)風(fēng)險(xiǎn)是什么?”
以上所有變化的關(guān)鍵是自動(dòng)化。開發(fā)運(yùn)營(yíng)和自動(dòng)化手牽手前進(jìn)——缺少其一,另一個(gè)將無法工作。這就是機(jī)靈的人類和工具能幫助帶來更短和更獨(dú)立的發(fā)布周期的地方。
我曾在一個(gè)開發(fā)、測(cè)試、運(yùn)營(yíng)團(tuán)隊(duì)合作很少的公司工作。我們看到了在軟件開發(fā)生命周期循環(huán)里的很多缺陷,用術(shù)語來講,越多帶到產(chǎn)品的問題,CI/CD基礎(chǔ)架構(gòu)越不穩(wěn)定,并且很少看到產(chǎn)品監(jiān)控和統(tǒng)計(jì)。注意到這些缺陷,團(tuán)隊(duì)決定實(shí)施開發(fā)運(yùn)營(yíng)實(shí)踐,并且每個(gè)人開始在每一個(gè)軟件開發(fā)生命周期中合作并做貢獻(xiàn)。這開始于需求收集并自始至終擴(kuò)展到產(chǎn)品發(fā)布和監(jiān)控上。
這增加了合作文化,從在團(tuán)隊(duì)士氣上有積極影響開始,更多自動(dòng)化產(chǎn)生,并且整個(gè)團(tuán)隊(duì)開始作為一個(gè)單位一起工作。
3.質(zhì)量保證即服務(wù)
就像我們?nèi)绾斡熊浖捶?wù)、基礎(chǔ)架構(gòu)即服務(wù)、平臺(tái)即服務(wù),我們現(xiàn)在有質(zhì)量保障即服務(wù)。在過去的幾年里,這成為一個(gè)為公司去滿足它們的軟件測(cè)試需求的流行的方式。
有質(zhì)量保障即服務(wù)解決方案的公司使得你的軟件測(cè)試流程更簡(jiǎn)單,通過:
- 測(cè)試用例管理和維護(hù)解決方案
- 需要更少編碼的測(cè)試自動(dòng)化工具
- 健壯的有日志、視頻回放和截圖的測(cè)試報(bào)告特點(diǎn)
- 簡(jiǎn)單的CI系統(tǒng)集成
像移動(dòng)手機(jī)、虛擬機(jī)、安全網(wǎng)絡(luò)和人類測(cè)試的資源,在過去做自動(dòng)化的7年里,我經(jīng)常陷入的一個(gè)大問題是不得不維護(hù)我自己的服務(wù)器去運(yùn)行我的自動(dòng)化測(cè)試。這個(gè)服務(wù)器有不同問題,像存儲(chǔ)空間的慣性運(yùn)動(dòng),一個(gè)古怪的因特網(wǎng)連接,緩慢的處理速度在遍及整周的持續(xù)運(yùn)行的多數(shù)測(cè)試,以及最新系統(tǒng)、搭建工具、安全補(bǔ)丁、集成開發(fā)環(huán)境等等的頻繁更新的需求。這些種類的問題能以質(zhì)量保障即服務(wù)的提供商解決,因?yàn)樗麄兡転槟阕鏊械倪@些活動(dòng),因此團(tuán)隊(duì)成員能集中精力在更重要的任務(wù)上。
將來,質(zhì)量保障即服務(wù)的提供商們正在思考更多的改進(jìn)他們產(chǎn)品的方式,為了對(duì)他們競(jìng)爭(zhēng)者保持領(lǐng)先地位,這也將有利于軟件測(cè)試者們。
4.物聯(lián)網(wǎng)
隨著可穿戴的、靈活房屋、可連接的汽車和其他基于云技術(shù)的到來,物聯(lián)網(wǎng)已經(jīng)開始成為討論的大主題。這些設(shè)備的驚奇的事情是有這么多交流和集成發(fā)生在每一秒。
在高層次上,讓我們分析,不同的交流隨著可穿戴的健康追蹤器的發(fā)生。首先,移動(dòng)應(yīng)用程序和健康追蹤器需要互相交流。被你的移動(dòng)應(yīng)用程序捕獲的數(shù)據(jù)應(yīng)該無縫地集成于桌面、移動(dòng)網(wǎng)頁和應(yīng)用程序平板電腦的版本,并且這些通過設(shè)備的交流需要實(shí)時(shí)地發(fā)生。所有數(shù)據(jù)踏遍且來源于云、設(shè)備和應(yīng)用程序。人們也能組成群并互相通過應(yīng)用程序比賽,所以這些計(jì)算和交流也需要實(shí)時(shí)地發(fā)生?;诓煌|發(fā)的事件,適當(dāng)?shù)耐ㄖ枰谶m當(dāng)?shù)臅r(shí)候發(fā)往正確的用戶。所有這些交流通過網(wǎng)絡(luò)發(fā)生。
想象你是一位測(cè)試者測(cè)試這個(gè)健康追蹤器。你從哪里開始?你如何設(shè)計(jì)你的測(cè)試策略和方法?
物聯(lián)網(wǎng)引進(jìn)它自己的復(fù)雜等級(jí)到軟件測(cè)試。它將要影響我們思考測(cè)試的方式,尤其因?yàn)楦嗟募行枰惶峁┙o集成測(cè)試而不是每個(gè)組件單獨(dú)測(cè)試的老的方法。
舉個(gè)例子,當(dāng)我正在為一個(gè)旅行預(yù)定公司工作,我們對(duì)使用手表系統(tǒng)(當(dāng)它首先被蘋果引進(jìn))的蘋果手表想出了一個(gè)新的應(yīng)用程序。應(yīng)用程序限制了有用的功能,比如查看通知和獎(jiǎng)勵(lì)信息、預(yù)定、旅館定位、航班和汽車租賃的能力。當(dāng)測(cè)試這個(gè)應(yīng)用程序,我發(fā)現(xiàn)了當(dāng)蘋果手表應(yīng)用程序被連接到我手機(jī)上相同的應(yīng)用程序時(shí),有怪異的事情:當(dāng)我在手機(jī)上最小化應(yīng)用程序,蘋果手表變成空白,只顯示一個(gè)黑屏;但是當(dāng)我再次在手機(jī)上打開這個(gè)應(yīng)用程序時(shí),黑屏消失了,蘋果手表應(yīng)用程序功能正常。
這是一個(gè)完美的例子,關(guān)于為什么做集成測(cè)試是重要的。隨著越來越多的設(shè)備進(jìn)入到市場(chǎng),這將對(duì)組織機(jī)構(gòu)和用戶顯得很重要。
5.機(jī)器人
現(xiàn)在機(jī)器人做測(cè)試。一些人可能會(huì)覺得這個(gè)會(huì)威脅到術(shù)語表達(dá)的“工作保障”,但是我仍然認(rèn)為人類的思維不可能被替代。將會(huì)需要人類對(duì)機(jī)器監(jiān)控,確保它們正在做他們期待的事情并且事實(shí)上編寫程序讓它們做事情。離這個(gè)可擴(kuò)展有多遠(yuǎn)?只有時(shí)間會(huì)告訴。
概括地說,技術(shù)的進(jìn)步已經(jīng)開始影響我們做軟件測(cè)試的方式。它也使得公司重新想他們的組織架構(gòu):質(zhì)量保證團(tuán)隊(duì)正在嵌入到開發(fā)團(tuán)隊(duì),而且整個(gè)團(tuán)隊(duì)將擁有質(zhì)量。它也將開始對(duì)研究變得重要,開發(fā)組頻繁與測(cè)試組的互動(dòng)為了使產(chǎn)品對(duì)它們的顧客來講更靈活、更有用。
有個(gè)替換控制大數(shù)據(jù)的程序也成為一種需要,就像適當(dāng)?shù)挠?jì)算能力濾過這個(gè)數(shù)據(jù)使得到有用的信息和反饋。最后,使這個(gè)成為現(xiàn)實(shí),公司需要采取傾斜的流程,并且更加透明,避免成為創(chuàng)新的一個(gè)障礙。傾斜的轉(zhuǎn)化將對(duì)高效的成長(zhǎng)及其重要。
改變我們關(guān)于我們?nèi)绾慰聪到y(tǒng)和相應(yīng)測(cè)試的思維是重要的。我們可以選擇忽略它或者擁抱它。你將做什么?
轉(zhuǎn)載于:https://www.cnblogs.com/fengye151/p/11518709.html
總結(jié)
以上是生活随笔為你收集整理的影响软件测试未来的5件事 (译)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试的左移方法(译)
- 下一篇: 使用测试工具解决产品问题(译)