自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DevOps沖擊下的軟件測試

開發(fā) 測試
DevOps如何影響軟件測試?其整體功能又該如何發(fā)展以適應(yīng)這種新興變化?

不同于傳統(tǒng)的瀑布式開發(fā),開發(fā)人員不再是“流水線上的工人”,DevOps更關(guān)注軟件開發(fā)人員和操作人員之間的有效協(xié)作,我們可以把DevOps看作開發(fā)、技術(shù)運(yùn)營和質(zhì)量保障(QA)三者的交集。

[[374730]]

在理想的DevOps周期中,遵循著這樣步驟——開發(fā)人員編寫代碼,在QA環(huán)境中構(gòu)建并部署二進(jìn)制文件,執(zhí)行測試用例,以穩(wěn)定的集成流程將成果部署至生產(chǎn)環(huán)境當(dāng)中。很明顯,這種方法非常強(qiáng)調(diào)構(gòu)建、部署與測試環(huán)節(jié)的自動(dòng)化。使用持續(xù)集成(CI)工具,自動(dòng)化測試工具已經(jīng)成為DevOps周期中的一種規(guī)范性因素。

敏捷測試與DevOps測試之間仍存在著不少細(xì)微差異,但熟悉敏捷開發(fā)人員一般能夠快速適應(yīng)DevOps。事實(shí)上,敏捷原則主要體現(xiàn)在開發(fā)及QA迭代當(dāng)中,但在運(yùn)營領(lǐng)域則普及度不高。DevOps的核心,正是糾正這一差距。現(xiàn)在,DevOps不再單純強(qiáng)調(diào)持續(xù)集成,而更多強(qiáng)調(diào)“持續(xù)開發(fā)”。在流程中,編寫出的代碼將被提交至版本控制系統(tǒng),而后在生產(chǎn)環(huán)境中進(jìn)行構(gòu)建、部署、測試與安裝,之后交付最終用戶使用。

由于整個(gè)環(huán)境與流程嚴(yán)格遵循標(biāo)準(zhǔn)化要求,各環(huán)節(jié)中的每位參與者都將因此受益。鏈內(nèi)各項(xiàng)操作都以自動(dòng)化方式進(jìn)行,利益相關(guān)方能夠?qū)⒕性谠O(shè)計(jì)并編碼高質(zhì)量的可交付成果之上,徹底擺脫構(gòu)建、運(yùn)營與QA流程帶來的負(fù)擔(dān)。從編寫代碼、到提交代碼、再到生產(chǎn)部署以供最終用戶使用,整個(gè)周期被顯著縮短到3到4個(gè)小時(shí)之內(nèi)。

DevOps中的QA角色

在傳統(tǒng)的軟件測試中,QA人員會(huì)在指定環(huán)境中對(duì)已部署的build成果進(jìn)行功能與回歸測試,并投入幾天時(shí)間持續(xù)測試,關(guān)注現(xiàn)有成果還有哪些問題。但這一切在DevOps當(dāng)中都變得完全不同。比如,QA人員需要在DevOps周期內(nèi)協(xié)同工作,保證所有測試用例全面實(shí)現(xiàn)自動(dòng)化,并獲得接近100%的代碼覆蓋率;他們需要保證環(huán)境標(biāo)準(zhǔn)化,實(shí)現(xiàn)環(huán)境與QA框架間的自動(dòng)對(duì)接;所有預(yù)測試任務(wù)、清理、后測試任務(wù)等全部自動(dòng)執(zhí)行,與持續(xù)集成周期保持統(tǒng)一。

DevOps要求交付鏈內(nèi)的各項(xiàng)功能實(shí)現(xiàn)高度協(xié)同。這也意味著鏈內(nèi)各參與者的角色定位有所變化,或者說開始相互融合,這為開發(fā)人員賦予了一定的部署權(quán)限。部署工程師可以將測試用例添加至QA repo當(dāng)中,QA工程師則負(fù)責(zé)提供自動(dòng)化測試用例??傮w而言,鏈內(nèi)的每位參與者都將為交付成果的質(zhì)量與及時(shí)性負(fù)責(zé)。

DevOps與測試自動(dòng)化

為了實(shí)現(xiàn)這種強(qiáng)大的速度與敏捷性,最重要的就是實(shí)現(xiàn)測試流程的全面自動(dòng)化,確保其能夠在QA環(huán)境中完成部署并自動(dòng)運(yùn)行。為此,我們需要構(gòu)建起專門的自動(dòng)化測試工具與持續(xù)集成工具,建立一套成熟的自動(dòng)化測試框架,借此快速編寫出新的測試用例,具體來看有以下幾點(diǎn)。

第一,為特定build挑選合適的測試用例;第二,測試執(zhí)行在本質(zhì)上應(yīng)該遵循精益原則;第三,QA與開發(fā)人員需要當(dāng)面交流,確定特定build中可能產(chǎn)生重要影響的具體因素,同時(shí)執(zhí)行針對(duì)性測試與健壯性測試;第四,需要配置專門的代碼分析與覆蓋率工具,確保能夠?qū)崿F(xiàn)接近100%的代碼覆蓋率;第五,回歸測試的結(jié)果將很快過時(shí),必須熟悉持續(xù)測試這一全新理念;第六,需要明確指定與新功能相關(guān)的測試策略,將臨時(shí)build交付給QA人員,QA人員創(chuàng)建測試腳本并在臨時(shí)build上運(yùn)行自動(dòng)化測試,直到代碼穩(wěn)定性達(dá)到要求并足以部署至生產(chǎn)環(huán)境中為止;第七,所有測試環(huán)境必須實(shí)現(xiàn)標(biāo)準(zhǔn)化,且部署流程必須全面自動(dòng)化;第八,使用多種自動(dòng)化技術(shù),確保QA人員能夠在多種跨平臺(tái)環(huán)境或?yàn)g覽器內(nèi)運(yùn)行自動(dòng)化測試;第九,并發(fā)執(zhí)行測試以縮短存活時(shí)間,這又將反過來促進(jìn)DevOps的成功實(shí)施;第十,為每輪測試運(yùn)行設(shè)置退出標(biāo)準(zhǔn),確保在將測試結(jié)果反饋給流程后,由其做出明確的通過或未通過決策;第十一,在生產(chǎn)環(huán)境中部署代碼之前,需要報(bào)告并修復(fù)已發(fā)現(xiàn)的問題或嚴(yán)重bug,相關(guān)信息通過同一事件鏈進(jìn)行傳遞。

測試之余,對(duì)應(yīng)用程序監(jiān)控的工作也不容忽視。QA人員還應(yīng)及早發(fā)現(xiàn)問題并主動(dòng)報(bào)告,在生產(chǎn)環(huán)境上設(shè)置監(jiān)控機(jī)制以便在bug引發(fā)實(shí)際故障之前將其識(shí)別出來,還可以設(shè)置專門的計(jì)數(shù)器,如響應(yīng)時(shí)間、內(nèi)存與CPU利用率等,為最終用戶提供全面的洞察能力。舉個(gè)例子,如果在各個(gè)build中,登錄的平均響應(yīng)時(shí)間逐漸增加,則后續(xù)build很可能因?yàn)轫憫?yīng)時(shí)間過長而影響到最終用戶的實(shí)際使用體驗(yàn)。

同樣的,QA人員還可以在生產(chǎn)環(huán)境中定期執(zhí)行部分現(xiàn)有高優(yōu)先級(jí)測試用例,借此主動(dòng)監(jiān)控運(yùn)行環(huán)境。此項(xiàng)策略可以捕捉到“偶發(fā)性”或者“無法重現(xiàn)”的bug,最終提升應(yīng)用程序穩(wěn)定性、增強(qiáng)最終用戶滿意度。最終,這些監(jiān)控結(jié)果都能夠以豐富的報(bào)告形式,如包括故障日志與屏幕截圖等自動(dòng)收集并發(fā)布。

總結(jié)

瀑布式流程讓位于V-Model,V-Model又被敏捷化取代。軟件開發(fā)理念就是這樣一代代快速更迭。毫無疑問,DevOps代表著未來。這樣一種持續(xù)改進(jìn)周期,將讓軟件開發(fā)流程獲得全面的動(dòng)態(tài)特性。我們有必要接納DevOps、理解DevOps并最終貫徹DevOps。以往的測試概念仍然有效,將這些寶貴的經(jīng)驗(yàn)與自動(dòng)化、特別是更高水平的自動(dòng)化相結(jié)合,正是實(shí)現(xiàn)DevOps成功的核心前提。

 

責(zé)任編輯:趙寧寧 來源: 至頂網(wǎng)
相關(guān)推薦

2013-12-27 16:25:16

2016-01-21 10:22:25

云計(jì)算數(shù)據(jù)中心基礎(chǔ)設(shè)施

2022-12-13 07:38:56

DevOps持續(xù)集成版本

2015-12-25 09:53:11

2019-01-16 09:00:00

DevOps性能測試軟件

2024-06-19 09:38:05

2022-05-30 07:48:11

DevOps測試策略

2015-06-08 09:06:53

DevOps軟件交付

2009-03-24 09:46:00

網(wǎng)管軟件網(wǎng)絡(luò)管理摩卡軟件

2025-02-24 08:50:50

2021-04-21 12:35:27

勒索軟件網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2020-12-30 13:15:59

大數(shù)據(jù)銀行疫情

2011-01-21 14:33:30

軟件測試

2020-07-03 11:31:50

云計(jì)算測試云計(jì)算軟件測試

2011-04-18 17:03:59

動(dòng)態(tài)測試軟件測試

2020-07-15 10:52:39

首席技術(shù)官CIOIT主管

2015-12-02 14:41:27

2011-04-18 10:46:39

接口測試

2022-01-14 09:38:28

DevOpsKubernetes集群

2018-01-12 06:50:17

云服務(wù)DevOps
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)