• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Scrum敏捷開發(fā)的航空裝備軟件測試方法

      2020-06-10 07:40:34焦永強(qiáng)尚穎李高顯劉皓潔王可意
      電子技術(shù)與軟件工程 2020年4期
      關(guān)鍵詞:測試人員測試方法航空

      焦永強(qiáng) 尚穎 李高顯 劉皓潔 王可意

      (1.中國航空綜合技術(shù)研究所 北京市 100028 2.北京化工大學(xué) 北京市 100029)

      隨著航空裝備日益發(fā)展,航空裝備的規(guī)模越來越大,對軟件的依賴程度也越來越高。針對航空裝備軟件需求變化快、周期短的特點(diǎn),為實(shí)現(xiàn)在短時間內(nèi)對需求變化的快速響應(yīng),并對軟件開發(fā)不斷進(jìn)行迭代,急需一種能夠在短周期內(nèi)提升軟件研制效率的開發(fā)模式——敏捷開發(fā)。 Scrum框架是一種流行且高效的敏捷方法。隨著敏捷開發(fā)在航空裝備軟件研發(fā)中的應(yīng)用,如何保證敏捷開發(fā)模式下的軟件質(zhì)量是一個備受關(guān)注的重要問題。

      本文結(jié)合Scrum敏捷開發(fā)在航空裝備軟件的應(yīng)用,提出一種基于Scrum敏捷開發(fā)的測試方法,旨在加快產(chǎn)品交付速度和確保產(chǎn)品穩(wěn)定性,以保證軟件質(zhì)量,為工程實(shí)踐過程中敏捷測試部分提供參考。

      1 Scrum敏捷開發(fā)

      隨著信息化和網(wǎng)絡(luò)化的發(fā)展,航空裝備已經(jīng)發(fā)展成為軟件密集型系統(tǒng),軟件負(fù)責(zé)完成航空裝備的大部分功能,軟件在航空裝備中扮演著越來越重要的角色。資料顯示美國的F-22戰(zhàn)斗機(jī)軟件實(shí)現(xiàn)的功能已經(jīng)達(dá)到80%以上,航空裝備軟件的規(guī)模和重要度與日俱增。

      由于航空裝備軟件整體規(guī)模大、系統(tǒng)結(jié)構(gòu)復(fù)雜,需求變更和需求改進(jìn)多、研制周期短、使用周期長、配套單位多,各單位承擔(dān)的軟件多以嵌入式小規(guī)模軟件為主。而嵌入式軟件又屬于測試難度較大的類型,故采用敏捷開發(fā)的方法來改善這一狀況。

      1.1 Scrum敏捷開發(fā)方法

      敏捷方法強(qiáng)調(diào)對需求變更的快速響應(yīng)和快速展現(xiàn)對應(yīng)的軟件模型,敏捷開發(fā)主要具備四個特征。如表1所列。

      Scrum是目前最為流行且有效的敏捷方法,該方法將軟件開發(fā)過程分解為多個2周到4周的短周期迭代,每一個迭代稱為一個Sprint。Scrum方法使用列表或計劃(簡稱backlog)進(jìn)行產(chǎn)品需求管理,由產(chǎn)品經(jīng)理定義Product backlog,并設(shè)置需求優(yōu)先級,按照優(yōu)先級順序來實(shí)現(xiàn)需求;開發(fā)team按照優(yōu)先級評估工作量,選擇Sprint backlog。

      針對每個Sprint,項目工作流程包括Sprint計劃會議,確定Sprint backlog,制定Sprint計劃;每天召開日會(Daily meeting),交流項目進(jìn)展情況;項目工作的完成情況使用Sprint Burn down(Sprint燃盡圖)統(tǒng)計表示,即用剩余工作量描述工作完成情況;Sprint結(jié)束時召開Sprint評審會議(Sprint review meeting),測試人員向負(fù)責(zé)人及團(tuán)隊其他成員演示當(dāng)前Sprint開發(fā)的功能,評審?fù)ㄟ^后發(fā)布(release)系統(tǒng)可運(yùn)行版本;同時召開Sprint回顧會議,總結(jié)此次Sprint中的工作情況。常見的Scrum開發(fā)模型如圖1所示。

      使用Scrum開發(fā)航空裝備軟件能夠較好地適應(yīng)需求變更,提高研發(fā)的效率,縮短研制周期,降低成本。Scrum團(tuán)隊強(qiáng)調(diào)全職能,可促進(jìn)團(tuán)隊高效協(xié)同,提高項目整體效率。

      1.2 基于Scrum敏捷開發(fā)的軟件測試方法

      基于Scrum框架進(jìn)行項目開發(fā)中,測試、驗(yàn)收是關(guān)鍵的環(huán)節(jié),且沒有明確定義及規(guī)范。在不同的開發(fā)項目中,測試、驗(yàn)收的設(shè)計與安排可能大不相同,主要體現(xiàn)在測試、驗(yàn)收人員的深入程度、人員數(shù)量、人員專業(yè)程度、被測系統(tǒng)類型、項目的重要程度、項目周期的長短等因素上。

      依照Scrum定義, 每次Sprint結(jié)束應(yīng)產(chǎn)生一個可部署的系統(tǒng)版本,因此Sprint的完成標(biāo)志是得到這個通過驗(yàn)收測試的版本,但是根據(jù)實(shí)際經(jīng)驗(yàn)來看基于Scrum的很多項目難以達(dá)到這種水平。

      測試驗(yàn)收工作深入到每次Sprint中可有效解決這個問題,因此對測試環(huán)節(jié)提出較高要求,不但需要高效地對每次的增量累加進(jìn)行驗(yàn)證測試,而且需要依據(jù)測試結(jié)果不斷反饋產(chǎn)品問題,以確保在盡可能短的周期頻繁交付可運(yùn)行的軟件產(chǎn)品,并使整體工作符合敏捷特征。

      軟件敏捷測試活動主要針對軟件開發(fā)過程中的子活動目標(biāo),測試活動主要包括:

      (1)測試提前介入:將測試納入需求或任務(wù)的完成準(zhǔn)則,充分考慮需求的可測試性,根據(jù)需求設(shè)計測試用例或者測試代碼,并使測試代碼和產(chǎn)品代碼共同演化,相互促進(jìn);

      (2)持續(xù)集成:以固定的節(jié)奏以及規(guī)定的集成規(guī)則和順序,確保第一時間發(fā)現(xiàn)并修復(fù)代碼中的缺陷,并保持backlog與代碼的一致性;

      (3)驗(yàn)收測試:確保每個迭代及每次發(fā)布完成的產(chǎn)品均具備可交付性。

      2 航空裝備軟件敏捷測試方法與流程

      針對航空裝備軟件敏捷測試的問題,基于軟件敏捷測試的原則,設(shè)計一套在航空裝備軟件敏捷開發(fā)過程中應(yīng)用的測試方法和測試流程。

      2.1 測試原則

      基于需求的軟件敏捷測試過程覆蓋需求確認(rèn)、需求評審、業(yè)務(wù)邏輯、功能、性能、穩(wěn)定性等多種測試類型,因此需確定測試原則,從而提升測試效率。具體的測試原則如下:

      首先,在Scrum團(tuán)隊中安排測試角色,測試提前介入,在了解項目開發(fā)內(nèi)容的同時跟進(jìn)每次Sprint迭代的增量,在后期驗(yàn)收測試階段,減少學(xué)習(xí)成本。

      其次,測試人員同時需要參與項目的驗(yàn)收工作,在實(shí)際開發(fā)過程中,由于不精確的Sprint Backlog描述,以及開發(fā)人員和測試人員對Sprint Backlog理解分歧,采用測試人員參與驗(yàn)收工作,能及早澄清驗(yàn)收標(biāo)準(zhǔn)并加快驗(yàn)收進(jìn)度。同時可實(shí)現(xiàn)在每個Sprint過程結(jié)束時,得到高質(zhì)量的可部署版本。

      再次,測試人員應(yīng)該在Sprint初始階段完成測試準(zhǔn)備工作,包括需求文檔評審,編寫測試規(guī)范,準(zhǔn)備測試用例及測試環(huán)境等;并要求與開發(fā)人員同步作業(yè),以確保完成開發(fā)功能后,以最短時間開展測試計劃,從而縮短整個團(tuán)隊運(yùn)轉(zhuǎn)周期。

      最后,測試階段除使用自動化腳本和DevOps工具來提升測試效率之外,在人工測試階段,測試人員可對Scrum team 中成員予以測試指導(dǎo),協(xié)同作業(yè),提高team 自測效率。

      2.2 測試方法

      航空裝備軟件按照運(yùn)行環(huán)境分為宿主機(jī)和目標(biāo)機(jī),項目初始階段對應(yīng)敏捷方法中Sprint 0或初次迭代,在此階段測試人員根據(jù)宿主機(jī)或目標(biāo)機(jī)設(shè)置測試環(huán)境,進(jìn)行初始需求和體系結(jié)構(gòu)設(shè)計,同時了解項目需要遵循的驗(yàn)收標(biāo)準(zhǔn)。測試人員完成的上述Sprint0準(zhǔn)備工作能夠在項目進(jìn)行階段減少風(fēng)險。

      航空裝備軟件多為嵌入式軟件,對運(yùn)行及反應(yīng)時間有嚴(yán)格要求,并且目標(biāo)機(jī)與宿主機(jī)之間存在差異,需要在制定測試計劃、驗(yàn)收標(biāo)準(zhǔn)時,針對軟件實(shí)現(xiàn)詳細(xì)的中斷分析,并對運(yùn)行時間及資源占用情況進(jìn)行判斷。

      由于航空裝備軟件需要在海、陸、空等不同外部環(huán)境下運(yùn)行,條件較為惡劣,所以在軟件設(shè)計過程中不僅僅對性能和可靠性有嚴(yán)格要求,同時要求軟件具備一定容錯性。容錯性測試包括但不限于網(wǎng)絡(luò)故障、系統(tǒng)斷電、服務(wù)器失去信號等,因此需要明確測試策略并根據(jù)具體應(yīng)用場景設(shè)計測試用例。

      考慮以上因素,提出一種航空裝備軟件敏捷開發(fā)過程的測試方法,將測試工作劃分為項目啟動、持續(xù)集成、同步測試、驗(yàn)收測試、提交與驗(yàn)證和迭代回顧等六個環(huán)節(jié),并細(xì)化各環(huán)節(jié)敏捷測試工作細(xì)則。

      (1)項目啟動環(huán)節(jié)主要工作:

      圖1:Scrum開發(fā)模型

      圖2:敏捷測試流程

      1.測試提前介入。測試人員了解項目早期需求,參與功能評審,同項目Scrum成員合作規(guī)劃項目Sprint,并根據(jù)相關(guān)驗(yàn)收標(biāo)準(zhǔn)制定機(jī)載軟件驗(yàn)收計劃;

      2.設(shè)置測試環(huán)境與體系結(jié)構(gòu)。由于機(jī)載軟件一般是限制在宿主機(jī)上進(jìn)行測試,為了確保測試的可靠性,需要考慮目標(biāo)機(jī)與宿主機(jī)間的差異,評估其偏差并確定驗(yàn)收標(biāo)準(zhǔn);

      3.為項目測試制定詳細(xì)測試計劃說明書。需覆蓋各種測試類型,以及實(shí)時性和容錯性等非功能需求。

      (2)持續(xù)集成環(huán)節(jié)主要工作:

      1.構(gòu)建測試系統(tǒng),包括編譯代碼及初始化測試數(shù)據(jù)庫;

      2.構(gòu)建并運(yùn)行回歸測試套件,根據(jù)項目實(shí)際規(guī)模構(gòu)建套件;

      3.執(zhí)行靜態(tài)分析,檢查代碼潛在缺陷或不規(guī)范問題。實(shí)際中可采用自動化測試工具縮短時間。

      (3)同步測試環(huán)節(jié)主要工作:

      1.在開發(fā)未開始或完全結(jié)束前設(shè)計測試用例,包括功能、性能、穩(wěn)定性、兼容性等內(nèi)容,并與研發(fā)人員共同評審,確保測試需求被正確理解;

      2.在開發(fā)階段完成后,使用①中測試用例檢測需求是否滿足;

      3.測試人員提供測試結(jié)果,開發(fā)人員依據(jù)測試結(jié)果對現(xiàn)有的代碼進(jìn)行重構(gòu)。

      (4)驗(yàn)收測試環(huán)節(jié),測試人員通過測試每次Sprint產(chǎn)品,依據(jù)驗(yàn)收標(biāo)準(zhǔn)判斷是否符合用戶預(yù)期需求及部署要求。針對存在容錯需求的sprint,在此階段應(yīng)提前安排容錯測試。

      (5)提交與驗(yàn)證環(huán)節(jié),通過開展驗(yàn)收會議,測試工程師對產(chǎn)品進(jìn)行演示,項目產(chǎn)品負(fù)責(zé)人、產(chǎn)品經(jīng)理、Scrum Master負(fù)責(zé)對產(chǎn)品驗(yàn)收。針對驗(yàn)收結(jié)果,為確保交付達(dá)標(biāo)的Sprint,針對未通過的backlog可采用從當(dāng)前Sprint中刪除,并加入到下次Sprint的backlog中。

      (6)迭代回顧環(huán)節(jié),每次Sprint迭代完成后需要進(jìn)行總結(jié)回顧,以促使當(dāng)前項目質(zhì)量特性在下一個版本中能夠繼續(xù)保持與延續(xù)。

      2.3 測試流程

      基于Scrum的敏捷開發(fā)框架,結(jié)合本文定義的測試原則及方法,明確敏捷開發(fā)過程中的測試流程,如圖2所示。

      基于敏捷開發(fā)特性,結(jié)合航空裝備軟件規(guī)模大、系統(tǒng)結(jié)構(gòu)復(fù)雜等特點(diǎn),改進(jìn)基于Scrum敏捷開發(fā)過程的軟件測試方法,該方法強(qiáng)調(diào)測試同步驗(yàn)收和持續(xù)集成的思想,弱化開發(fā)團(tuán)隊中人員身份標(biāo)識,使測試人員可全程參與項目生命周期各階段。從項目整體的角度出發(fā),基于敏捷測試方法有以下兩點(diǎn)優(yōu)勢:

      (1)減少項目中學(xué)習(xí)成本,由于人員功能標(biāo)識弱化,開發(fā)人員和測試人員會協(xié)同工作,開發(fā)人員參與測試計劃、用例評審及部分測試執(zhí)行工作;測試人員參與需求評審、指導(dǎo)開發(fā)自測,可幫助操作人員更好地理解需求,在項目的進(jìn)展上面思路保持一致。

      (2)可通過每個sprint來合理設(shè)置工作量,提高軟件產(chǎn)品的可視性和質(zhì)量。相對普通的迭代開發(fā),若迭代任務(wù)量大、開發(fā)新特性多,將導(dǎo)致測試周期長,并且可能引發(fā)質(zhì)量問題;若每次迭代的任務(wù)量過少會導(dǎo)致整體進(jìn)度過慢。因此結(jié)合sprint時間盒的限制要求,合理地設(shè)置Sprint工作量可以規(guī)避上述風(fēng)險。

      3 總結(jié)

      本文結(jié)合航空裝備軟件的特點(diǎn),提出基于Scrum敏捷開發(fā)的軟件測試方法和流程,解決航空裝備軟件研制過程中需求變化多、周期短等問題,在保證提高軟件研制效率和對用戶需求的快速響應(yīng)能力的同時,降低軟件研制成本,使軟件研制與裝備研制能夠更好的協(xié)調(diào)一致。

      航空裝備軟件項目開展過程中可根據(jù)軟件工程化的實(shí)際情況形成適用于具體情況的本地化敏捷測試方法,并在工程實(shí)踐中有效、充分的應(yīng)用,對提升我國航空裝備軟件的研制效率有重要意義。該方法應(yīng)在航空裝備軟件研制過程中廣泛推廣和實(shí)施。

      猜你喜歡
      測試人員測試方法航空
      基于泊松對相關(guān)的偽隨機(jī)數(shù)發(fā)生器的統(tǒng)計測試方法
      移動應(yīng)用眾包測試人員信譽(yù)度復(fù)合計算模型研究
      “閃電航空”來啦
      “閃電航空”來啦
      趣味(語文)(2021年11期)2021-03-09 03:11:36
      基于云計算的軟件自動化測試方法
      電子制作(2019年16期)2019-09-27 09:34:56
      DLD-100C型雷達(dá)測試方法和應(yīng)用
      電子制作(2019年15期)2019-08-27 01:12:02
      高校分析測試中心測試隊伍建設(shè)方案初探
      山東化工(2018年20期)2018-04-02 16:30:53
      淺析軟件測試中的心理學(xué)應(yīng)用
      對改良的三種最小抑菌濃度測試方法的探討
      達(dá)美航空的重生之路
      IT時代周刊(2015年7期)2015-11-11 05:49:55
      临泉县| 封丘县| 鄂托克前旗| 博野县| 庄河市| 修水县| 巴塘县| 日土县| 比如县| 麦盖提县| 旬阳县| 锦屏县| 科尔| 班玛县| 阿克陶县| 榆中县| 石屏县| 中山市| 错那县| 大竹县| 湛江市| 米林县| 普宁市| 安化县| 蒲江县| 颍上县| 通道| 梧州市| 万年县| 女性| 墨竹工卡县| 遂溪县| 宝兴县| 光泽县| 莎车县| 曲阜市| 杨浦区| 定日县| 建德市| 大渡口区| 西青区|