翻譯|行業(yè)資訊|編輯:胡濤|2023-04-21 11:51:35.307|閱讀 119 次
概述:本文從企業(yè)角度出發(fā),深度解析目前軟件測試的現(xiàn)狀,幫助企業(yè)找到高效測試工具,助力企業(yè)開發(fā)
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Parasoft是一家專門提供軟件測試解決方案的公司,Parasoft通過其經(jīng)過市場驗證的自動化軟件測試工具集成套件,幫助企業(yè)持續(xù)交付高質(zhì)量的軟件。Parasoft的技術(shù)支持嵌入式、企業(yè)和物聯(lián)網(wǎng)市場,通過將靜態(tài)代碼分析和單元測試、Web UI和API測試等所有內(nèi)容集成到交付管道中,再加上服務(wù)虛擬化和完整的代碼覆蓋率,減少了交付安全、可靠和合規(guī)軟件所需的時間、精力和成本。
在沒有清晰能見度的情況下駕駛汽車不僅非常危險,也十分魯莽。這會讓我們和我們周邊的人隨時面臨著碰撞、受傷、甚至死亡的風險。如果不能看到前方的道路,我們就無法預(yù)測潛在的危險或障礙,從而無法做出明智的決定并采取適當?shù)男袆印?
同樣,在開發(fā)軟件的過程中不增加可視性,就像盲目駕駛。而軟件指標提供了所需的可視性,能夠幫助我們識別需要立即關(guān)注的潛在質(zhì)量和安全問題,以便您可以決定何時加快項目進度,何時放緩速度進行調(diào)整。
可以提供分析的智能軟件能夠幫助我們:
理解指標
評估風險
衡量質(zhì)量
預(yù)測結(jié)果
與團隊有效協(xié)作
而所有這些都有助于團隊:
遵守截止日期
交付高質(zhì)量產(chǎn)品
滿足客戶需求
現(xiàn)代軟件項目通常是通過權(quán)衡用戶現(xiàn)狀成本和團隊能力來規(guī)劃的。通常,這些現(xiàn)狀被記錄在Jira、GitHub或Azure DevOps等工具中。
產(chǎn)品經(jīng)理與開發(fā)經(jīng)理會經(jīng)過協(xié)商,以確定在當前的發(fā)布周期內(nèi)實際能完成哪些工作。接下來,開發(fā)經(jīng)理可以根據(jù)以下情況進行計劃:
新的需求。
需要修復(fù)的現(xiàn)有問題
要解決的潛在技術(shù)債務(wù)
當然,計劃可能會發(fā)生改變。大多數(shù)軟件項目都會遇到問題或者障礙,從而改變計劃的結(jié)果。特別是安全漏洞,可能會是一個非常重大的問題。項目中斷是不可避免的,但如果無法衡量安全漏洞的影響,就很難控制項目的最終發(fā)展。
可視性對于開發(fā)軟件是至關(guān)重要的。監(jiān)測工具和分析結(jié)果可以為做出安全有效的決策提供非常大的幫助。
在一個易于使用的儀表盤中快速訪問軟件開發(fā)指標,對于了解軟件開發(fā)的狀態(tài)和進展非常重要。通過儀表盤等可視化工具的快速訪問,使敏捷開發(fā)團隊能夠:
通過對關(guān)鍵指標的單一、綜合視圖,識別可能需要注意的趨勢、模式和問題
通過對軟件開發(fā)指標的實時更新,及時做出明智的決定
以更直觀、更有視覺吸引力的方式理解復(fù)雜的數(shù)據(jù)
指標通常在軟件測試自動化工具 "接觸" 代碼的地方收集。通常情況下,收集行為發(fā)生在靜態(tài)分析和測試執(zhí)行期間。收集的詳細信息可以交叉引用,例如文件、特定的測試、已知的安全漏洞或軟件弱點以及要求。
" 當我剛開始做開發(fā)時,我對靜態(tài)分析帶來的好處還是持懷疑態(tài)度。我這樣做只是因為這是公司的規(guī)定。而多年來,我開始受益于此。靜態(tài)分析能夠持續(xù)地檢測出某些原本不會被發(fā)現(xiàn)的問題,并表現(xiàn)為代碼缺陷。相比于靜態(tài)分析帶來的好處,抑制掉靜態(tài)分析過程中不可避免的誤報真的不算什么大事。
靜態(tài)分析有助于將安全性和代碼質(zhì)量的考慮轉(zhuǎn)移到軟件開發(fā)生命周期的早期,使開發(fā)人員能夠在問題變得更加棘手和耗時之前解決它們。
通過將靜態(tài)分析集成到開發(fā)過程中,開發(fā)人員可以在安全問題影響到最終用戶之前識別和修復(fù)。對于某些安全關(guān)鍵行業(yè),靜態(tài)分析是保持代碼庫符合編碼和行業(yè)指南要求的必要條件。
靜態(tài)分析的指標可以為應(yīng)用程序的質(zhì)量和安全狀況提供有價值的見解,幫助團隊更好地規(guī)劃他們的軟件開發(fā)工作。像缺陷數(shù)量、嚴重程度以及它們在代碼庫中的位置等指標,可以幫助團隊確定問題的優(yōu)先次序并相應(yīng)地分配資源。您可以跟蹤一段時間的進展,并確定需要改進的地方。
靜態(tài)分析也有助于遵守標準。收集的指標為團隊提供他們所需的數(shù)據(jù),以證明符合行業(yè)或監(jiān)管標準。”
—— Jeehong Min(Parasoft DTP產(chǎn)品總監(jiān))
測試結(jié)果是軟件開發(fā)團隊最重要的指標。如果測試失敗了,就說明出了問題,需要立即關(guān)注。由于測試類型多種多樣,團隊應(yīng)該每天收集和審查每種類型的指標。
單元測試是測試套件的基本組成部分,
主要好處有:
確保代碼單元正常工作
一旦新的代碼提交,與代碼的每個構(gòu)建一起運行,并確保設(shè)備繼續(xù)工作
快速運行意味著它們可以在編寫新代碼或變更現(xiàn)有代碼時頻繁運行
能夠自信地重構(gòu)代碼
強制編寫可測試的代碼
使您能夠輕松地測量代碼覆蓋率,大多數(shù)框架都讓這個工作變得非常簡單
集成測試的目的是確定獨立開發(fā)的軟件單元在相互連接時是否正常工作。API測試是集成測試的一種。
在軟件開發(fā)中,有一句話很流行:盡早集成,經(jīng)常集成。
集成測試使開發(fā)團隊受益良多,因此它是必不可少的。集成測試用例比單元測試用例更難編寫,但使用一個好的測試工具或框架會大有幫助。在運行集成或API測試時,我們需要花費更多的時間來測量代碼覆蓋率。
UI測試是另一種類型的測試,它通過用戶界面驅(qū)動應(yīng)用程序。這些不同種類的測試都是有價值的,如果我們能將UI測試自動化,那么團隊就沒有必要一次又一次地運行手動測試。
但這些測試是最難編寫的,而且維護成本很高。想要運行這些測試開發(fā)團隊還需要對測試基礎(chǔ)設(shè)施投入成本,用戶可以在某些瀏覽器或Headless模式下運行它們,當然了,測量代碼覆蓋率也是需要成本投入的。
幸運的是,Parasoft為每種測試類型都提供了工具和框架,以便用戶更容易編寫和維護這些測試,并能夠在運行時測量代碼覆蓋率。
手工測試要求質(zhì)量保證(QA)團隊從最終用戶的角度手動驗證軟件的功能。團隊可以從手工測試的結(jié)果深入了解軟件的可用性和用戶體驗,突出可能需要改進的地方。
代碼覆蓋率是一個與用戶測試結(jié)果相輔相成的指標。有時候,您的代碼可能有100%的測試用例通過率,但如果您的代碼只有5%被覆蓋,那您仍然是在“盲目駕駛”。
在一次旅行之前,相比僅通過10%的汽車檢查,若您的汽車能通過100%的汽車檢查,您肯定會更安心。同樣,代碼覆蓋率是一個有用的度量指標,它與您的測試套件的深度和質(zhì)量相關(guān)聯(lián)。
什么是優(yōu)質(zhì)覆蓋率?這視情況而定。
如果您正在啟動一個新的項目,從一開始就以80%或更高的代碼覆蓋率為目標,這是合理的,這意味著您代碼的80%都被測試了。如果您的代碼庫是新代碼和一些遺留代碼的混合體,那么可能很難達到80%的代碼覆蓋率。在這種情況下,您可以跟蹤另外兩個指標:
代碼覆蓋率趨勢
變更后的代碼覆蓋率
如果您的整體代碼覆蓋率在一開始就很低,比如10%,那么試圖將覆蓋率提升到80%,將會非常困難。但是,確保代碼的覆蓋率始終保持穩(wěn)定上升卻是個可行的方案。
隨著時間推移,您可以通過跟蹤趨勢來提高代碼覆蓋率。除此之外,Parasoft建議的做法是測量變更后的代碼覆蓋率。這是您整體代碼覆蓋率的一個子集--是從您開始測量代碼覆蓋率以來發(fā)生變更的代碼覆蓋率。
Parasoft建議將80%作為變更代碼覆蓋率的目標。通過這種做法,即使一開始的整體代碼覆蓋率很低,也可以確保整體代碼覆蓋率不斷提高,逐步達到80%的目標。
對于許多團隊來說,測量代碼行覆蓋率可能就已經(jīng)足夠。但對于某些安全關(guān)鍵行業(yè),測量行覆蓋率是遠遠不夠的。安全標準,如ISO 26262,IEC 62304和DO-178C,需要足夠的代碼覆蓋率指標作為相關(guān)證據(jù),如語句,分支,MC/DC和其他覆蓋率。而獲得這些標準認證的TüV SüD工具,如Parasoft C/C++test,能夠提供多達九種覆蓋率指標,可以覆蓋上述提及的各種覆蓋率指標。
既然現(xiàn)在已經(jīng)了解哪些指標是需要跟蹤的,那您肯定想更輕松快速地了解這些指標。這個時候您就需要用到DTP平臺了。Parasoft DTP是一個軟件質(zhì)量控制管理平臺,它通過儀表盤和報告工具,讓用戶能夠一目了然地看到所有這些指標,而不必再花費更多的時間去整理這些指標。
開發(fā)團隊可以在日常工作會議中使用這樣的儀表盤,并在沖刺審查期間向相關(guān)人員展示項目的質(zhì)量狀態(tài)。
質(zhì)量和合規(guī)團隊可以使用儀表盤來持續(xù)監(jiān)控他們對某些行業(yè)標準的合規(guī)性工作。
快速了解一下Parasoft DTP,看看DTP如何幫助開發(fā)團隊全面地監(jiān)控軟件開發(fā)周期。
當我們關(guān)鍵的質(zhì)量指標有可視性時,我們就不會在”盲目駕駛”。相反,在每一個步驟中,我們都可以做出明智的決定,從而得到更好的結(jié)果。
按時保質(zhì)地交付
更少的技術(shù)支持問題
提高客戶滿意度
提高品牌聲譽
如果我們可以“看清遠方”,為什么我們還要“盲目駕駛”呢?如果您還需要了解更多有關(guān)Parasoft產(chǎn)品咨詢,歡迎咨詢
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn