摘 ?要:現(xiàn)階段,隨著敏捷開發(fā)等軟件編程方式的出現(xiàn),為軟件開發(fā)模式帶來了新方式。本文根據(jù)以往工作經(jīng)驗(yàn),對軟件測試變化流程和問題進(jìn)行總結(jié),并從測試策略及計(jì)劃、測試設(shè)計(jì)和用例寫作、測試的執(zhí)行和測試的評估、運(yùn)維問題反饋、測試管理系統(tǒng)的整體設(shè)計(jì)五方面,論述了測試流程設(shè)計(jì)和管理系統(tǒng)的實(shí)現(xiàn)方法。
關(guān)鍵詞:敏捷開發(fā);版本控制;測試流程;管理系統(tǒng)
中圖分類號:TP311.52 ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)13-0025-02
Implementation Analysis of Test Process Design and Management System Based on
Agile and Version Control
SUN Degang
(Shandong Huayu University of Technology,Dezhou ?253034,China)
Abstract:At this stage,with the advent of software programming methods such as agile development,it has brought new ways to the software development model. Based on past work experience,this paper summarizes the software test change process and problems,and from five aspects of test strategy and planning,test design and use case writing,test execution and test evaluation,operation and maintenance problem feedback,and overall design of test management system. The implementation of the test process design and management system is discussed.
Keywords:agile development;version control;test process;management system
0 ?引 ?言
在具體敏捷和版本控制下進(jìn)行測試流程設(shè)計(jì)和管理系統(tǒng)設(shè)計(jì),相關(guān)工作人員首先要做的就是對軟件測試流程進(jìn)行全面分析,并以此為基礎(chǔ),與具體軟件開發(fā)和測試流程相適應(yīng)。后續(xù)管理中,人們需要引進(jìn)具體的版本管理工具,確保管理和測試流程穩(wěn)定進(jìn)行。通過上述工作的開展,可以將測試管理工具的作用呈現(xiàn)出來。
1 ?軟件測試變化流程和問題分析
1.1 ?測試計(jì)劃階段
從瀑布模型研究中可以看出,單個(gè)版本之中的軟件開發(fā)周期可以達(dá)到幾個(gè)月,有時(shí)還可能達(dá)到一年以上,延長了軟件計(jì)劃和需求分析的時(shí)間。在此過程中,需求分析師和項(xiàng)目經(jīng)理等均需要有足夠的時(shí)間去制定相關(guān)設(shè)計(jì)計(jì)劃,測試經(jīng)理則只需要根據(jù)實(shí)際情況設(shè)計(jì)測試計(jì)劃。站在敏捷開發(fā)角度來說,一個(gè)版本只需要規(guī)劃大致的開發(fā)范圍即可,并根據(jù)用戶體驗(yàn)情況,對開發(fā)列表進(jìn)行補(bǔ)充和順序調(diào)整,此時(shí),軟件測試工作也需要隨之改變。各個(gè)測試經(jīng)理也需要根據(jù)具體項(xiàng)目設(shè)計(jì)要求,參與到需求分析工作之中。這主要是由于測試經(jīng)理對系統(tǒng)功能最為熟悉,容易看出系統(tǒng)中存在哪些缺陷,并對軟件開發(fā)節(jié)奏進(jìn)行有序調(diào)整。
1.2 ?測試設(shè)計(jì)階段
一般情況下,瀑布模型中的軟件設(shè)計(jì)在單個(gè)版本開發(fā)之中能夠展示出穩(wěn)定性特點(diǎn),這也導(dǎo)致其設(shè)計(jì)周期進(jìn)一步延長,為測試人員爭取到更多測試用例集的設(shè)計(jì)時(shí)長。但在具體敏捷開發(fā)設(shè)計(jì)之中,往往需要經(jīng)歷設(shè)計(jì)、重構(gòu)以及設(shè)計(jì)再重構(gòu),流程極為復(fù)雜??偟膩碚f,軟件設(shè)計(jì)本身屬于不斷進(jìn)化的過程,這就要求相應(yīng)的測試用例以及用例組成結(jié)構(gòu)同樣應(yīng)該具備時(shí)刻變化的特點(diǎn),否則無法滿足系統(tǒng)的設(shè)計(jì)需求。
1.3 ?測試執(zhí)行階段和評估階段
整個(gè)模型之中的軟件開發(fā)工作開展,會(huì)留下大量時(shí)間讓測試人員開展多輪次的測試操作,確保測試執(zhí)行和問題回歸。但從實(shí)際軟件開發(fā)操作中可以看出,該項(xiàng)測試工作被劃分到用戶交付周期之中,在相關(guān)迭代操作結(jié)束之后,方可實(shí)現(xiàn)對系統(tǒng)的集成測試,在此過程中,各個(gè)測試工作人員需要在第一時(shí)間內(nèi)融入開發(fā)過程之中。在自動(dòng)化測試工具的作用之下,測試階段可以節(jié)省大量的人力物力。整個(gè)測試評估的重點(diǎn)內(nèi)容集中在系統(tǒng)穩(wěn)定性展示以及模塊質(zhì)量上,具體穩(wěn)定性等指標(biāo)可以在測試工作全部結(jié)束之后,進(jìn)行系統(tǒng)度量操作。站在敏捷開發(fā)角度來說,具體迭代操作應(yīng)該根據(jù)實(shí)際用戶情況,開展不同形式的質(zhì)量評估操作,并將最終結(jié)果反饋給項(xiàng)目經(jīng)理,實(shí)現(xiàn)用戶資源的合理調(diào)配[1]。
2 ?基于敏捷和版本控制的測試流程設(shè)計(jì)和管理系統(tǒng)實(shí)現(xiàn)方法
2.1 ?測試策略及計(jì)劃
在實(shí)際工作執(zhí)行過程中,人們可以借助于測試策略,實(shí)現(xiàn)對無法預(yù)知的軟件開發(fā)問題進(jìn)行替代。一般來說,該種測試策略與傳統(tǒng)測試計(jì)劃存在很大不同,只是根據(jù)迭代周期進(jìn)行迭代測試策略的制定,測試內(nèi)容則不會(huì)出現(xiàn)任何改變。例如,當(dāng)?shù)_(dá)成之后,需要達(dá)成相應(yīng)的指標(biāo),當(dāng)收斂到一定數(shù)量的缺陷之后,才能為下一輪開發(fā)創(chuàng)造有利條件。除此之外,在測試計(jì)劃的制定上,工作人員需要根據(jù)具體的迭代開發(fā)范圍和用戶故事,制定出合理的測試計(jì)劃,此時(shí),每個(gè)用戶故事的測定時(shí)間大約在1天左右。由于測試周期有限,實(shí)際測試任務(wù)可以精確到半天左右,還要根據(jù)實(shí)際情況,確保交付工作可以在第一時(shí)間內(nèi)得到全面更新。
2.2 ?測試設(shè)計(jì)和用例寫作
這個(gè)測試設(shè)計(jì)工作的開展,主要開始于系統(tǒng)分析師對需求做何解釋,而且系統(tǒng)分析師除了對設(shè)計(jì)和開發(fā)人員進(jìn)行講解之外,還應(yīng)該參與到設(shè)計(jì)工作之中。另外,該項(xiàng)操作內(nèi)容需要在講解會(huì)議上,將用戶要點(diǎn)、功能需求以及性能等指標(biāo)提出來,輔助用戶完成相關(guān)工作。站在用例寫作角度來說,測試寫作也屬于其中之一,人們可以借助于用戶故事需求,對用例寫作進(jìn)行深入性講解。在該階段之中,人們需要重點(diǎn)關(guān)注的內(nèi)容是用例分層和原子化形態(tài)。所謂分層,主要是將ATC劃分出來,而且在后續(xù)測試工作開展上,各個(gè)開發(fā)人員還需要自測試用例。從原子性展示角度來說,用例必須完成相應(yīng)的功能測試,而且相關(guān)功能測試也只能完成一個(gè),為了應(yīng)對需求方面的變化,原子性中的部分用例同樣可以被使用。例如,在很多時(shí)候,測試人員會(huì)向開發(fā)人員提出要求,讓其提供某個(gè)具體模塊的自動(dòng)化測試用例,進(jìn)而實(shí)現(xiàn)快速發(fā)現(xiàn)和回歸,倘若自動(dòng)化測試用例與相關(guān)要求不符,ATC自然也會(huì)存在很多問題。
2.3 ?測試的執(zhí)行和測試的評估
由于人們對ATC自測試形式進(jìn)行了深入應(yīng)用,進(jìn)而為自動(dòng)化測試工作的執(zhí)行奠定了基礎(chǔ),此時(shí),人們可以借助于ATC回歸測試和自動(dòng)化測試,對用戶故事的轉(zhuǎn)測試進(jìn)行全面檢查,看其是否處于合理狀態(tài),如果該用戶故事測試與相關(guān)要求不符,與之相對應(yīng)的記錄工作也無法通過次數(shù)的約束。倘若轉(zhuǎn)測試通過,人們可以借助于完整的測試用例,開展有效的發(fā)散測試工作。測試評估過程中,在每個(gè)迭代操作時(shí)均應(yīng)該執(zhí)行,維護(hù)需求上線的合理性,并在每個(gè)版本工作結(jié)束之后,將測試報(bào)告提交給相關(guān)部門。相比之下,測試報(bào)告可以簡單,也可以復(fù)雜,但在實(shí)際版本測試報(bào)告之中,需要將迭代測試內(nèi)容更好地全面展示出來[2]。
2.4 ?運(yùn)維問題反饋
當(dāng)系統(tǒng)的迭代需求上線之后,人們可以借助于合理方法,以及合理的測試環(huán)境,確保所有功能均能得到測試,之后將測試結(jié)果上傳到生產(chǎn)環(huán)境之中。此種情況之下,生產(chǎn)環(huán)境測試需要轉(zhuǎn)移到線上,尤其是對于一些關(guān)鍵的功能點(diǎn)測試,否則將會(huì)對系統(tǒng)后續(xù)上線工作的開展帶來相應(yīng)影響,嚴(yán)重時(shí)還會(huì)導(dǎo)致系統(tǒng)服務(wù)中斷時(shí)間過長。從以往工作中也可以看出,同一版本下的軟件測試過程沒有順序規(guī)律,幾乎每一個(gè)迭代都會(huì)重復(fù)進(jìn)行,具體一個(gè)版本的軟件測試過程如圖1所示。
2.5 ?測試管理系統(tǒng)的整體設(shè)計(jì)
在該系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)過程中,可以為測試策略的管理和歸檔等操作提供支撐,每個(gè)用戶都是測試經(jīng)理。從問題單管理中也可以看出,主要涉及的流程內(nèi)容有提交、審核和回歸等等。其中,基礎(chǔ)功能的建設(shè)顯得極為重要,主要內(nèi)容有用戶管理、組織管理以及git關(guān)聯(lián)等等,具體模塊劃分情況如圖2所示。該系統(tǒng)的核心模塊可以將用例管理和用戶管理權(quán)限,直接劃分給用戶管理,將系統(tǒng)的整體性特點(diǎn)展示出來。但從具體敏捷開發(fā)角度來說,人們和系統(tǒng)的需求始終處于不斷變化的狀態(tài)之中,與之相對應(yīng)的設(shè)計(jì)工作更是處于不同的重構(gòu)狀態(tài)。為此,在具體用例設(shè)計(jì)上,人們主要是根據(jù)實(shí)際迭代情況,對其進(jìn)行深入性修改操作,最終形成多版本代碼。由于不同迭代版本問題與不同的測試用例相互對應(yīng),具體測試用例維護(hù)不能一成不變。
3 ?結(jié) ?論
綜上所述,借助于敏捷開發(fā),可以將具體系統(tǒng)對軟件測試的影響全面展示出來,并提出具體的測試流程,確保整個(gè)設(shè)計(jì)和開發(fā)工作與測試管理系統(tǒng)的使用。一般來說,在實(shí)際軟件開發(fā)過程中,會(huì)應(yīng)用到git等版本控制工具,但與測試系統(tǒng)并不存在特殊關(guān)系,從這里也可以看出,版本關(guān)聯(lián)顯得極為重要。
參考文獻(xiàn):
[1] 王羿,洪津,駱冬根,等.基于ECRS分析法的光學(xué)載荷發(fā)射場測試流程設(shè)計(jì)和優(yōu)化 [J].大氣與環(huán)境光學(xué)學(xué)報(bào),2019,14(2):123-128.
[2] 侯立剛,楊揚(yáng),葉彤旸,等.一種與2D物理設(shè)計(jì)流程兼容的3D測試基準(zhǔn)電路的生成系統(tǒng) [J].現(xiàn)代電子技術(shù),2017,40(24):5-8.
作者簡介:孫德剛(1978.04-),男,漢族,山東德州人,高級工程師,學(xué)士學(xué)位,研究方向:教育信息化、軟件開發(fā)。