欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學堂淺談2018年軟件測試技術(shù)及未來發(fā)展趨勢詳解

2018-01-18 17:09:35 2756瀏覽

在現(xiàn)如今,隨著國內(nèi)互聯(lián)網(wǎng)技術(shù)飛速的發(fā)展和進步,目前軟件測試技術(shù)的新趨勢和新技術(shù)來展示軟件測試行業(yè)面臨的機遇與挑戰(zhàn),下面我們一起來看一下啊。



安全測試

從孟加拉國銀行8100萬美元被黑客成功盜取到美國民主黨郵件泄露事件可以看出,網(wǎng)絡(luò)安全事件已經(jīng)被推到了風口浪尖。隨著物聯(lián)網(wǎng)逐步普及,智能家居、汽車電子等設(shè)備的網(wǎng)絡(luò)化水平大幅提升。但物聯(lián)網(wǎng)的安全卻不容樂觀,很多中小企業(yè)往往忽視安全防護。開源軟件的源代碼公開,黑客可以通過閱讀源代碼更容易的分析出軟件的安全漏洞,使得網(wǎng)絡(luò)安全迎來了新的挑戰(zhàn)。當開源社區(qū)中發(fā)布出cve漏洞時,需要廠商及時的合入補丁,否則將給黑客入侵敞開大門。

新的編程語言的出現(xiàn)在提高了編碼效率的同時,也為軟件產(chǎn)品增添了安全挑戰(zhàn),需要安全廠商盡快推出相應(yīng)的安全工具和安全加固方案。隨著SaaS的普及,相信會有更多的安全工具問世。滲透測試需要測試工程師閱讀源碼來找出漏洞,與安全合規(guī)測試相比,需要更高的技術(shù)水平。在未來相當長的一段時間內(nèi)滲透測試工程師將有很大的缺口。

人工智能測試

近年來,人工智能(AI)被越來越多的應(yīng)用在IT行業(yè),如智能汽車、智能家居和機器人等。尤其是2016年AlphaGo在圍棋領(lǐng)域掀起一股熱潮之后,AI更多地成為人們熱議的焦點。人工智能是一個新的領(lǐng)域,對于人工智能本身的測試方案和測試工具還有待完善。

對于人工智能在軟件測試領(lǐng)域的應(yīng)用,即利用人工智能來優(yōu)化其他軟件的測試,目前已經(jīng)取得了一定的進展。人工神經(jīng)網(wǎng)絡(luò)是軟件測試領(lǐng)域使用相對廣泛的AI技術(shù)之一。神經(jīng)網(wǎng)絡(luò)是基于生物學中神經(jīng)網(wǎng)絡(luò)的基本原理,在理解和抽象了人腦結(jié)構(gòu)和外界刺激響應(yīng)機制后,以網(wǎng)絡(luò)拓撲知識為理論基礎(chǔ),模擬人腦的神經(jīng)系統(tǒng)對復(fù)雜信息的處理機制的一種數(shù)學模型。目前在OCR,語音識別,醫(yī)學診斷等方面已經(jīng)取得了很大的成功。在軟件測試中,它非常適合GUI測試、內(nèi)存使用測試及分布式系統(tǒng)功能驗證等場景。

遺傳算法是另一個軟件測試中用到的AI技術(shù)。它是模仿生物遺傳和進化機制的一種最優(yōu)化方法,它把類似于遺傳基因的一些行為,如交叉重組、變異、選擇和淘汰等引入到算法求解的改進過程中。遺傳算法的特點之一是,它同時保留著若干局部最優(yōu)解,通過交叉重組或者解的變異來尋求更好的解。在軟件單元測試中,已知輸入的參數(shù)的范圍,求解哪些參數(shù)的組合能夠達到最大的代碼覆蓋率(也有些研究是能達到最大的路徑覆蓋/分支覆蓋)。因此,遺傳算法可以用于選擇最優(yōu)的單元測試用例,也就是單元測試的最優(yōu)輸入集。同時利用人工智能還可以優(yōu)化測試工具,將軟件測試的上下文與測試用例結(jié)合起來,選擇最優(yōu)的測試用例集進行測試。

靜態(tài)分析與符號執(zhí)行

軟件可靠性是對軟件在設(shè)計、開發(fā)以及所預(yù)定的環(huán)境下既有能力的置信度的一個度量,是衡量軟件質(zhì)量的主要參數(shù)之一。而軟件測試則是保證軟件質(zhì)量、提高軟件可靠性的最重要手段。靜態(tài)分析工具可以直接對源碼進行掃描,但其誤報率的問題有待改善。

大量可靠性問題隱藏在未知場景和不熟悉的開源代碼中,有必要通過程序行為分析工具來遍歷各種異常分支、代碼的所有路徑。符號執(zhí)行技術(shù)是精確的路徑遍歷,是隨機測試、FUZZ測試的有益補充。

符號執(zhí)行代表工具KLEE,在第一次學術(shù)使用(2008)便發(fā)現(xiàn)了unix系統(tǒng)中最常用的程序的多個問題,有的問題已經(jīng)存在超過15年。符號執(zhí)行技術(shù)在之前沒有得到大規(guī)模應(yīng)用,主要原因是技術(shù)本身需要大量的計算資源(路徑爆炸)。隨著軟硬件技術(shù)的發(fā)展,平均計算成本比之前降低了很多,為符號執(zhí)行的發(fā)展和推廣提供了有利的客觀條件。目前符號執(zhí)行技術(shù)已應(yīng)用在許多公司的產(chǎn)品測試當中,如HP、微軟等公司都已經(jīng)有10年以上的符號執(zhí)行探索經(jīng)驗。當前基于KLEE的二次開發(fā)工具已經(jīng)大量應(yīng)用在軟件可靠性測試中,如Mayhem已發(fā)現(xiàn)了DebianOS的上千個crash問題,以及Linux和Windows系統(tǒng)的幾十個可利用漏洞。

精準測試

在當前敏捷測試的時代,版本發(fā)布日趨頻繁,快速發(fā)布高質(zhì)量的軟件是很多企業(yè)的目標。對于急于發(fā)布的軟件版本,全量運行所有的用例往往需要花費較長的時間,已經(jīng)不能滿足產(chǎn)品發(fā)布的節(jié)奏。如何避免過度測試并在時間、質(zhì)量、成本中找到最佳的平衡?

精準測試可讓軟件測試過程可量化衡量、可追溯,清楚的展示出測試用例運行的路徑,并可以實現(xiàn)測試用例與代碼的雙向追蹤。對于代碼量較大的系統(tǒng)的軟件,通過精準測試可以獲取到曾經(jīng)執(zhí)行過某段代碼的測試用例,當這部分代碼進行修改后,只需執(zhí)行對應(yīng)的用例即可,大大縮短了測試的時間,加快了產(chǎn)品上線速度。因此精準測試成為了近期軟件測試技術(shù)的新方向之一。精準測試的實施對測試人員的代碼開發(fā)、測試設(shè)計、需求理解、架構(gòu)理解、自動化測試能力均有較高的要求。

云測試

云計算是一種按需提供計算資源的技術(shù),它可以減少用戶基礎(chǔ)設(shè)施投入并降低管理成本。然而,云平臺在近年來不斷出現(xiàn)大面積宕機的情況,這為云計算測試技術(shù)提出了新的挑戰(zhàn)。需要測試人員深入理解云平臺底層、中間層和上層技術(shù),構(gòu)建符合云平臺質(zhì)量要求的測試工程能力和質(zhì)量保障方案。

很多測試服務(wù)提供商已經(jīng)將測試服務(wù)部署到云上,這種方式有很多的優(yōu)勢。首先,它可以按需提供服務(wù),用戶可以根據(jù)需求靈活的占用云端資源,避免了傳統(tǒng)測試中的資源浪費。例如手機應(yīng)用提供商可以把應(yīng)用程序通過云平臺進行主流手機的兼容性測試,而不必直接購買各品牌的手機。其次,云平臺可以提供較為全面的測試環(huán)境和測試工具,免去了部署環(huán)境和工具的時間,使測試工程師可以將更多的精力投入到業(yè)務(wù)中。再次,當云平臺和容器技術(shù)結(jié)合起來時,可以快速構(gòu)建可擴展可伸縮的測試環(huán)境,并行執(zhí)行測試用例,從而減少測試執(zhí)行時間。

物聯(lián)網(wǎng)測試

IoT是一個包含大量網(wǎng)絡(luò)設(shè)備、傳感器和計算基礎(chǔ)設(shè)施的龐大系統(tǒng)。IoT的應(yīng)用覆蓋了軍事、家庭、醫(yī)療、零售等多個領(lǐng)域。其使用場景復(fù)雜,解決方案多元化,使得IoT設(shè)備以及解決方案的測試面臨很大的挑戰(zhàn)。下面筆者提出了一些觀點和思路供大家參考。

1.仿真

基于效率和成本的考慮,測試人員無法針對所有的IoT設(shè)備、連接協(xié)議以及服務(wù)節(jié)點進行全面覆蓋。依靠IoT場景仿真能力,測試人員可以在少量可用的物理設(shè)備上創(chuàng)建各類虛擬設(shè)備并建立不同協(xié)議的虛擬連接,從而模擬出真實應(yīng)用場景,達到全面測試覆蓋的目的。不僅能夠節(jié)約時間和成本,還具有更好的靈活性和擴展性。

2.安全

當前IoT發(fā)展的重點是技術(shù)的創(chuàng)新、推廣和應(yīng)用,安全問題沒有受到足夠的重視。相對傳統(tǒng)移動互聯(lián)網(wǎng),IoT的規(guī)模、應(yīng)用和服務(wù)都更加龐大復(fù)雜,安全問題無疑具有極大的挑戰(zhàn)性。

3.自動化

在IoT領(lǐng)域,目前自動化測試工具和系統(tǒng)的發(fā)展還處于比較初級的階段。在測試執(zhí)行、場景構(gòu)建、性能度量及狀態(tài)監(jiān)控等各個方面都需要有強有力的工具、框架和規(guī)范的出現(xiàn),來支撐復(fù)雜的IoT自動化測試。

開源測試

開源軟件本著“不要重復(fù)造輪子”的原則,與商業(yè)軟件相比,擁有使用成本低、可定制性高等特點。目前開源測試工具種類繁多,涵蓋測試管理、缺陷管理、持續(xù)集成、功能測試、性能測試、測試框架、測試設(shè)計、安全測試等類別。下面列舉了這些分類中一些典型的測試工具。而針對我們自身的業(yè)務(wù)需求,可以通過修改源代碼來適配自己的業(yè)務(wù),從而實現(xiàn)工具定制化。

測試管理:TestLink、Testopia

缺陷管理:Redmine、Bugzilla、Mantis

持續(xù)集成:Jenkins、Buildbot

功能測試:Selenium、LTP

性能測試:lmbench、Sysbench、Iperf、Fio

測試框架:JUnit、Autotest

測試設(shè)計:Xmind、StarUML、UMLDesigner

安全測試:Metasploit、Nessus、AppScan

為了減少研發(fā)成本,很多公司都制定了基于開源軟件進行二次開發(fā)的策略。在重點測試自研特性的同時,面對大量的開源代碼,測試工程師需要與開源社區(qū)互動,及時將發(fā)現(xiàn)的問題提交給社區(qū)并同步社區(qū)的問題單和cve補丁。

然而,當前很多開源社區(qū)中的測試并不到位,很多特性在發(fā)布之后長時間沒有對應(yīng)的文檔和測試用例。以kernel社區(qū)的usernamespace內(nèi)核特性為例,其是在2013年2月18日隨內(nèi)核3.8版本正式發(fā)布的,然而直到2015年5月21日,社區(qū)才擁有第一個該特性的測試用例。二者時間間隔在兩年以上,版本的質(zhì)量保證令人堪憂。對于這部分特性,需要測試工程師根據(jù)業(yè)務(wù)需要自行補充測試。測試工程師同時還要注意構(gòu)建社區(qū)影響力,以保證與自己平臺相關(guān)的測試用例能夠順利的被社區(qū)接收,從而減少測試代碼維護成本。感興趣的讀者可以閱讀《讓我們成為開源軟件測試者》。

容器化/Devops/微服務(wù)

容器為開發(fā)、測試、運維三個團隊提供一致的環(huán)境,避免因為環(huán)境不統(tǒng)一產(chǎn)生的缺陷誤報。同時使開發(fā)人員可以很容易的通過容器鏡像復(fù)現(xiàn)測試人員和客戶報來的缺陷。利用容器還可以避免環(huán)境污染和批量快速的啟動多個測試環(huán)境并行測試來提高測試效率。微服務(wù)將軟件細分為多個子模塊,各模塊間相對獨立,便于測試進行遷移以便及早的發(fā)現(xiàn)缺陷。Devops通過成熟的自動化解決方案,同時配合容器、微服務(wù)技術(shù),打通了開發(fā)、測試、運維團隊的壁壘。隨著容器、微服務(wù)時代的到來,配置基于CI/CD的Devops流程成為了測試人員必備的技能。感興趣的讀者可以閱讀《Docker引領(lǐng)測試革新》。

敏捷測試

傳統(tǒng)的軟件測試方法將開發(fā)和測試視作兩個團隊的兩種不同的工作模式,團隊之間溝通比較有限,團隊壁壘較為明顯。在這種開發(fā)模式下,軟件缺陷通常在項目后期才逐步被發(fā)現(xiàn)。近年來,在客戶需求頻繁變化、高強度的外部競爭壓力和軟件交付迭代頻繁的大環(huán)境下,傳統(tǒng)的軟件測試方式已經(jīng)不能滿足需求。

敏捷測試強調(diào)從客戶的角度進行測試,重點關(guān)注持續(xù)迭代地測試新開發(fā)的功能,而不再強調(diào)傳統(tǒng)測試過程中嚴格的測試階段,同時提倡盡早開始測試。它強調(diào)開發(fā)和測試團隊在合作、透明、靈活的環(huán)境下協(xié)同工作,以測試前移、持續(xù)集成、自動化等方式為優(yōu)化手段,可以很好的適應(yīng)快速、需求變更頻繁的軟件交付。

目前敏捷測試已經(jīng)受到了行業(yè)內(nèi)的認可,相信會有更多的公司將會進行敏捷轉(zhuǎn)型,敏捷教練的薪水也會水漲船高。

大數(shù)據(jù)測試

當前全球信息數(shù)據(jù)量增長迅猛,據(jù)市場調(diào)研機構(gòu)IDC預(yù)測,到2020年,全球數(shù)據(jù)總量將達到40ZB,相當于每人擁有一千張DVD光盤以上的信息量。如此大量的數(shù)據(jù)為測試數(shù)據(jù)的備份和管理帶來了挑戰(zhàn),測試人員需要確認數(shù)據(jù)完整性,保證數(shù)據(jù)質(zhì)量。面對大量而動態(tài)變化的數(shù)據(jù)和有限的測試時間,需要制定出行之有效的測試策略,開發(fā)出適用的測試工具,并完善自動化測試。

隨著大數(shù)據(jù)應(yīng)用的快速增長,我們需要更快速的完成數(shù)據(jù)處理。大數(shù)據(jù)挖掘的目的是找出數(shù)據(jù)與數(shù)據(jù)的關(guān)聯(lián)關(guān)系,與傳統(tǒng)軟件相比,很多大數(shù)據(jù)場景中的輸出是無法直接確定的,同時數(shù)據(jù)又具有多樣性,需要測試人員具備更多的發(fā)散思維;面對爆炸式的數(shù)據(jù)服務(wù),測試時需要搭建可擴展伸縮的測試平臺模擬大量的測試客戶端。而面對大數(shù)據(jù)中很多場景下程序輸出的不確定性、大數(shù)據(jù)結(jié)構(gòu)多樣化、定位數(shù)據(jù)因果關(guān)系困難等問題為測試工程師帶來了新的挑戰(zhàn)。

自動化測試

傳統(tǒng)的自動化測試需要測試工程師直接編寫測試程序,而這樣的程序往往可維護性不強,當開發(fā)代碼變更時往往需要重新適配自動化測試程序。測試驅(qū)動開發(fā)是軟件工程中的一個里程碑,即開發(fā)在提交開發(fā)代碼修改時同時要提交測試代碼,但這種方式仍然需要較多的人力投入到測試代碼的編寫中。而一些程序可以通過錄制或符號執(zhí)行等方法自動生成自動化代碼,免去了手工編寫的不便。另外通過埋點、mock等技術(shù)還可以輔助自動化測試。隨著測試業(yè)務(wù)日趨多樣化,需要不斷開發(fā)新的自動化測試框架、測試平臺來滿足業(yè)務(wù)需求。當自動化測試與云平臺相結(jié)合時,可以方便的進行任務(wù)遷移、回滾、故障自動修復(fù)等功能。

移動互聯(lián)網(wǎng)測試

隨著智能移動設(shè)備的普及,測試范疇也從智能手機、智能平板擴展延伸至包含了運動手環(huán)、車載聯(lián)網(wǎng)應(yīng)用、共享單車、無人機等事物。移動平臺也呈現(xiàn)多樣化趨勢,而每個平臺的版本升級速度非???。移動應(yīng)用種類繁多,從社交到游戲、教育、辦公、旅行、工具等類別。為滿足用戶需求,熱門應(yīng)用的迭代更新非常頻繁。面對眾多的移動設(shè)備硬件型號、多個終端平臺版本、繁多的移動應(yīng)用、各應(yīng)用的不同版本號,測試人員不得不制定新的測試策略和方案來應(yīng)對業(yè)務(wù)。即使應(yīng)用沒有新的特性引入,但自動化測試不得不根據(jù)新的平臺進行適配工作。而多種組合的測試為測試人員、測試工程能力、自動化測試提出了更高的要求。

目前已經(jīng)出現(xiàn)了針對移動測試的自動化設(shè)備和SAAS平臺。測試設(shè)備可以模擬出用戶真實的終端操作的方式。在SAAS平臺中,使用者可以將應(yīng)用提交到平臺中進行全量的自動化測試,來確保應(yīng)用的多個版本可以適配到不同的平臺和硬件中。此外,領(lǐng)域中的專項測試,如性能測試、功耗測試、安全測試、兼容性測試、跨地域跨時區(qū)測試、老化測試,也將產(chǎn)生很大的測試需求。

以上就是關(guān)于2018年軟件測試技術(shù)的發(fā)展趨勢,只要把握好軟件測試發(fā)展的趨勢并憑借自身的努力,相信測試人員是能夠在行業(yè)中受到認可的,最后想要學習軟件測試技術(shù)的小伙伴不要再猶豫了,扣丁學堂有專業(yè)的老師和與時俱進的軟件測試培訓(xùn)體系課程,是你學習軟件測試技術(shù)的最佳選擇。此外,扣丁學堂還有大量的軟件測試視頻教程供學員觀看學習,想要學好軟件測試的朋友快快行動吧。



扣丁學堂微信公眾號



關(guān)注微信公眾號獲取更多學習資料



查看更多關(guān)于“軟件測試技術(shù)資訊的相關(guān)文章>>

標簽: 軟件測試培訓(xùn) 軟件測試工程師 軟件測試在線視頻 軟件測試視頻教程 軟件測試教程

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部