楊玉 王博 徐震陽 錢佳琛
摘? 要:近年來,隨著互聯(lián)網(wǎng)的高速發(fā)展和軟件市場規(guī)模的快速提升,在各類軟件項目研發(fā)過程中,出現(xiàn)了軟件測試周期長、需求變動后難以快速迭代等諸多問題。鑒于此,文章在探究敏捷開發(fā)和敏捷測試優(yōu)勢和特點的基礎(chǔ)上,構(gòu)建了軟件質(zhì)量智能分析平臺。該平臺以圖書館智能管理系統(tǒng)作為測試案例,展示了覆蓋全過程的測試管理功能,使得團隊協(xié)作更高效、數(shù)據(jù)分析更智能。
關(guān)鍵詞:軟件研發(fā);敏捷測試;團隊協(xié)作;軟件質(zhì)量分析
中圖分類號:TP311? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2023)06-0120-04
Research on the Construction of Software Quality Intelligent Analysis Platform
YANG Yu, WANG Bo, XU Zhenyang, QIAN Jiachen
(School of Computer Engineering, Jiangsu Ocean University, Lianyungang? 222005, China)
Abstract: In recent years, with the rapid development of the Internet and the rapid improvement of the software market scale, many problems have emerged in the process of various software project research and development, such as long software testing cycle, difficult to quickly iterate after demand changes, and so on. In view of this, based on exploring the advantages and characteristics of agile development and agile testing, this paper constructs an intelligent software quality analysis platform. The platform takes the library intelligent management system as a test case, showing the test management function covering the whole process, which makes team collaboration more efficient and data analysis more intelligent.
Keywords: software development; agile testing; teamwork; software quality analysis
0? 引? 言
軟件是數(shù)字經(jīng)濟發(fā)展的基礎(chǔ),是數(shù)字中國、科技強國建設(shè)的關(guān)鍵支撐。2021年11月30日,工信部在《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》中明確提出到2025年,基礎(chǔ)軟件和關(guān)鍵軟件供給能力顯著提升,新興軟件長板優(yōu)勢持續(xù)鞏固[1]。2022年10月26日,工信部公布前三季度我國軟件業(yè)務(wù)收入74 763億元,同比增長9.8%,我國軟件業(yè)運行態(tài)勢平穩(wěn),軟件業(yè)務(wù)收入穩(wěn)步增長[2]。軟件質(zhì)量是軟件的生命,它直接影響著軟件的使用和維護,如今軟件開發(fā)已經(jīng)向輕量級的敏捷開發(fā)方式進行轉(zhuǎn)變。敏捷開發(fā)在滿足快速響應(yīng)的需求同時也要保證軟件產(chǎn)品的質(zhì)量。在敏捷開發(fā)和敏捷測試模型中,開發(fā)與測試的工作相輔相成,強調(diào)測試驅(qū)動開發(fā),這就對測試人員與開發(fā)人員的專業(yè)素養(yǎng)與協(xié)同能力提出了更高的要求。解決項目管理人員、開發(fā)人員和測試人員在整個軟件研發(fā)過程中所面臨的問題,并給出較好地解決方案,在快速響應(yīng)與迭代的敏捷測試基礎(chǔ)上,進行軟件質(zhì)量智能分析,從而更好地保證軟件產(chǎn)品的質(zhì)量。
1? 平臺需求分析
敏捷開發(fā)能夠及時、持續(xù)地響應(yīng)客戶的頻繁反饋,而敏捷測試是遵循敏捷開發(fā)規(guī)則的測試實踐,確認(rèn)客戶的有效需求能得以圓滿實現(xiàn)和確保整個研發(fā)過程安全和可靠。本平臺基于敏捷測試的思想來實現(xiàn)軟件質(zhì)量智能分析,主要包括用戶管理、項目管理、質(zhì)量分析三大模塊。超級管理員擁有最高權(quán)限,可以管理部門、用戶、權(quán)限、項目、模塊、需求、用例、缺陷等。普通用戶由管理員分配不同角色,在自己的角色權(quán)限框架內(nèi)完成從需求到測試用例以及缺陷管理等各類工作。
1.1? 權(quán)限管理模塊分析
軟件是智力密集型創(chuàng)新團隊中個體認(rèn)知過程的直接產(chǎn)品[3]。本平臺的系統(tǒng)用戶主要分為管理人員、開發(fā)人員、測試人員三類角色,共同構(gòu)成一個項目團隊,一個角色可以擁有多個權(quán)限,不同角色的權(quán)限有所不同。本平臺的用戶管理通過與其他管理模塊的信息交互,使得企業(yè)的研發(fā)過程更為順暢。用戶管理以項目為單位,隨著企業(yè)規(guī)模的擴大,員工人數(shù)的增加,需要平臺支持對人員的個性化管理。管理人員可以為每個項目動態(tài)分配工作人員,并為員工分配不同的角色和權(quán)限。
1.2? 項目管理模塊分析
軟件研發(fā)的每個環(huán)節(jié)都嚴(yán)格按照要求進行,才能保證軟件質(zhì)量。項目管理主要包含測試需求、測試用例和缺陷報告三方面。基于敏捷測試的思想,測試人員在項目初期就要開展需求評審,根據(jù)測試需求設(shè)計并執(zhí)行測試用例,將異常用例轉(zhuǎn)移到缺陷管理中。這個過程中測試人員會根據(jù)需求隨時變更,及時調(diào)整測試策略和優(yōu)化測試用例。開發(fā)人員負(fù)責(zé)修復(fù)可重現(xiàn)的軟件缺陷,完成后再由測試人員進行驗證,若通過則關(guān)閉此缺陷,否則繼續(xù)循環(huán)該流程。管理人員也會對項目所存在的問題和風(fēng)險進行跟蹤和管理,確保項目得到保質(zhì)保量地推進。
1.3? 質(zhì)量分析模塊分析
隨著軟件不斷迭代發(fā)展,軟件維護成本也相應(yīng)增加[4]。軟件產(chǎn)品質(zhì)量的好壞可以通過是否滿足用戶需求、測試用例的通過率以及缺陷的修復(fù)率來進行客觀分析。因此,本平臺可以匯總當(dāng)前團隊的所有項目數(shù)據(jù),如團隊人數(shù)、測試項目個數(shù)、已完成需求數(shù)、待辦數(shù)等。根據(jù)項目的不同分類通過餅圖、柱狀圖等圖表直觀的展示新增和已完成的測試需求、測試用例和缺陷的數(shù)據(jù)匯總,從而為軟件質(zhì)量智能分析提供更為全面的數(shù)據(jù)支撐。
1.4? 非功能需求分析
本平臺的非功能需求主要集中在易用性、兼容性和可靠性等幾個方面。平臺應(yīng)具備易理解、易學(xué)習(xí)、易操作等特性,用戶經(jīng)過簡單培訓(xùn)或自主學(xué)習(xí)即可掌握平臺的主要操作流程,支持主流瀏覽器的訪問和操作。一個平臺的使用舒適度會很大程度上影響用戶的體驗度,需要做到界面布局合理、設(shè)計風(fēng)格統(tǒng)一、UI交互適合主流習(xí)慣。對于可靠性的考量需要從時間維度和空間維度來分析,新增測試用例和缺陷管理是兩個高頻操作,要盡可能地保障關(guān)鍵業(yè)務(wù)能夠正常進行。
2? 平臺設(shè)計
2.1? 總體設(shè)計
敏捷開發(fā)強調(diào)個人和交互的中心性、工作軟件的增量交付、與客戶的協(xié)作以及對變化的響應(yīng)[5]。本平臺基于敏捷測試以及對軟件質(zhì)量保障的需求進行分析和設(shè)計,可以生成基于單個項目或多個項目的工作匯總和軟件質(zhì)量分析。平臺的邏輯分層架構(gòu)大致分為應(yīng)用層、數(shù)據(jù)層和接入層,如圖1所示。
應(yīng)用層主要包括用戶管理、測試管理和軟件質(zhì)量管理,通過Web服務(wù)實現(xiàn)用戶與系統(tǒng)的交互,為管理人員、測試人員和研發(fā)人員提供相應(yīng)的服務(wù)。數(shù)據(jù)層為應(yīng)用層提供各種已經(jīng)封裝好的數(shù)據(jù),有用戶數(shù)據(jù)的整合、測試數(shù)據(jù)的整合和軟件質(zhì)量報告數(shù)據(jù)的生成。接入層通過提供統(tǒng)一的數(shù)據(jù)上傳和下載功能來減少開發(fā)語言和終端工具的差異,使平臺擁有更強的擴展性。
根據(jù)平臺的需求分析和總體架構(gòu)設(shè)計中的描述,對平臺的功能模塊進一步劃分為用戶、需求、測試用例、缺陷和質(zhì)量分析五個模塊,如圖2所示。
2.2? 用戶管理
現(xiàn)代軟件開發(fā)一般都會以團隊形式展開,以期縮短從需求到上線之間的時間[6]。平臺的用戶可以進行注冊和登錄,用戶信息有用戶名、密碼、性別、電話、郵箱、部門、角色、權(quán)限等?;拘畔⒂伤鶎俨块T統(tǒng)一維護管理,角色和權(quán)限分配則由管理人員根據(jù)項目工作需求組建團隊,并對團隊成員的角色和權(quán)限靈活分配。
2.3? 測試管理
測試管理模塊包含需求、測試用例和缺陷三個子模塊。需求管理模塊主要是新建并管理各類項目的測試需求,為后面的測試用例提供需求依據(jù)。測試人員依據(jù)測試需求去設(shè)計測試用例,一條測試需求可以關(guān)聯(lián)多個測試用例。測試用例執(zhí)行過程中若存在實際結(jié)果與預(yù)期結(jié)果不一致的情況,則將該條測試用例設(shè)為缺陷,轉(zhuǎn)到缺陷管理中進一步處理和跟蹤。
2.4? 質(zhì)量分析
在生成項目統(tǒng)計時,會根據(jù)當(dāng)前團隊工作的基本信息、操作數(shù)據(jù)、研發(fā)數(shù)據(jù)、項目數(shù)據(jù)、需求狀態(tài)、用例狀態(tài)、缺陷狀態(tài)等信息統(tǒng)計出團隊效率指標(biāo)數(shù)據(jù),對軟件質(zhì)量進行數(shù)據(jù)分析。此外,還會根據(jù)所有項目的狀態(tài)來動態(tài)地生成團隊成員能力雷達圖,展示團隊在創(chuàng)新、測試、管理、效率、項目等方面的表現(xiàn),為管理人員優(yōu)化團隊結(jié)構(gòu)提供數(shù)據(jù)支持。
3? 平臺實現(xiàn)
敏捷開發(fā)的核心思想在于快速、增量式地交付可工作的軟件[7]。本平臺的主要作用是協(xié)調(diào)管理人員、研發(fā)人員和測試人員之間的關(guān)系,使得研發(fā)工作更為順暢,軟件產(chǎn)品質(zhì)量分析更為便捷。平臺部署環(huán)境為Linux系統(tǒng)的CentOS系統(tǒng),服務(wù)器為Spring Boot內(nèi)嵌的Apache服務(wù)器。平臺前端使用Vue 3.0、ElementUI的樣式框架、Echarts的圖表框架、Vite的前端構(gòu)建工具等前端組件完成頁面渲染工作,后端使用Spring Boot框架、MySQL數(shù)據(jù)庫和Navicat數(shù)據(jù)庫管理工具等技術(shù)完成系統(tǒng)協(xié)作開發(fā)。
3.1? 用戶管理
在用戶管理頁面,若新成員加入項目團隊,則由管理人員在平臺中錄入該員工的基本信息并授予角色和權(quán)限。管理人員也可以在某個軟件項目成立時或者團隊成員的工作發(fā)生變動時,使用此模塊為該員工調(diào)整其角色以及相應(yīng)的權(quán)限分配。
3.2? 需求管理
在需求管理頁面,管理人員可以在指定項目下添加測試需求的相關(guān)信息,如需求標(biāo)題、需求描述、指定測試人員、截止日期、優(yōu)先級等。被指派的測試人員查看到該需求信息時,此需求的狀態(tài)由“未處理”自動被設(shè)置為“處理中”,并且可以在測試用例管理頁面中將多個用例關(guān)聯(lián)到此需求。敏捷研發(fā)接受需求變更,旨在為客戶贏得更多的競爭優(yōu)勢。所以若客戶對產(chǎn)品需求提出修改意見,都會對關(guān)聯(lián)的測試用例和缺陷產(chǎn)生影響,因此,平臺會對該類需求及其相關(guān)聯(lián)的部分都進行高亮顯示,提醒測試人員進行再次確認(rèn)。
3.3? 測試用例管理
在測試用例管理界面,主要實現(xiàn)測試用例信息的新增、修改、與需求和缺陷的關(guān)聯(lián)以及用例的執(zhí)行統(tǒng)計。測試用例的屬性主要有所屬項目、所屬模塊、用例類型、關(guān)聯(lián)需求、優(yōu)先級、用例標(biāo)題、前置條件、執(zhí)行步驟和預(yù)期結(jié)果等,如圖3所示。測試用例管理頁面的每一條用例都有一個顯示用例結(jié)果的功能按鈕,用表格展示所有用例的執(zhí)行情況,如執(zhí)行時間、執(zhí)行人和執(zhí)行結(jié)果。表格中的下拉列表用于顯示測試用例每一個執(zhí)行步驟的通過情況和運行結(jié)果,若實際結(jié)果與預(yù)期結(jié)果不一致,則將該測試用例轉(zhuǎn)為缺陷并指派對接的研發(fā)人員負(fù)責(zé)缺陷修復(fù)。
3.4? 缺陷管理模塊
在缺陷管理頁面可以新增和修改缺陷,缺陷信息主要包含所屬項目、所屬模塊、當(dāng)前指派人員、截止時間、缺陷類型、優(yōu)先級、缺陷標(biāo)題、重現(xiàn)步驟等內(nèi)容,如圖4所示。研發(fā)人員在缺陷管理界面查看到指派給自己的缺陷,進一步確認(rèn)缺陷是否存在或者產(chǎn)生的原因,待缺陷修復(fù)后,提交缺陷的解決方案、指定的測試人員、缺陷解決時間、缺陷狀態(tài)等信息。再由測試人員對已修復(fù)的缺陷逐一驗證,若確認(rèn)無誤則將該缺陷標(biāo)記為關(guān)閉狀態(tài)。至此,一個缺陷的生命周期結(jié)束。缺陷的狀態(tài)除了打開—修復(fù)—關(guān)閉三個基本狀態(tài)以外,還有延遲、無法解決、功能增強等其他狀態(tài),所以測試人員需要對所有缺陷進行實時跟蹤與監(jiān)控,確保缺陷都能得到及時解決和處理。
3.5? 軟件質(zhì)量分析模塊
在項目質(zhì)量分析界面中可以查看以公司為單位的基本數(shù)據(jù)、操作數(shù)據(jù)和能力雷達圖,以項目為單位的研發(fā)數(shù)據(jù)、項目數(shù)據(jù),當(dāng)前項目測試團隊的工作概況,以餅圖來呈現(xiàn)項目、需求、用例、缺陷等信息。該界面主要實現(xiàn)團隊工作匯總和項目數(shù)據(jù)匯總,以列表、條形圖和餅圖等多種形式展現(xiàn)項目的相關(guān)數(shù)據(jù),如圖5所示,為公司管理人員進行項目管理與工作總結(jié)提供了數(shù)據(jù)支撐,對軟件質(zhì)量的分析評判更為直觀明了。
4? 結(jié)? 論
習(xí)近平總書記在中共中央政治局第三十四次集體學(xué)習(xí)時強調(diào)“要全面推進產(chǎn)業(yè)化、規(guī)?;瘧?yīng)用,重點突破關(guān)鍵軟件,推動軟件產(chǎn)業(yè)做大做強,提升關(guān)鍵軟件技術(shù)創(chuàng)新和供給能力”。在軟件快速迭代開發(fā)的浪潮下,傳統(tǒng)軟件研發(fā)流程中測試需求難以快速反映到測試用例和缺陷上,從而影響了軟件產(chǎn)品的質(zhì)量和客戶的競爭優(yōu)勢。本文針對軟件質(zhì)量如果實現(xiàn)智能分析進行探究,合理運用相關(guān)技術(shù),解決管理人員、測試人員和研發(fā)人員之間工作溝通的障礙,從測試需求到測試用例,再到缺陷管理以及軟件質(zhì)量的智能分析展示,可以更好地提高軟件研發(fā)全過程的工作效率,并更好地保障軟件產(chǎn)品的質(zhì)量。今后在管理界面中的富文本編輯器功能改進、測試數(shù)據(jù)的自動生成,以及采用AI模型對缺陷數(shù)量與位置進行預(yù)測分析等方面還需進一步深入研究。
參考文獻:
[1] 工信部信息技術(shù)發(fā)展司.《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》解讀 [N].中國電子報,2021-12-03(7).
[2] 工業(yè)和信息化部運行監(jiān)測協(xié)調(diào)局.2022年前三季度軟件業(yè)經(jīng)濟運行情況 [EB/OL].[2022-10-18].https://www.miit.gov.cn/jgsj/yxj/xxfb/art/2022/art_42a03e3ea3a647c1a62c53cd7b895905.html.
[3] 梁惠惠.對軟件開發(fā)模式變遷的研究 [J].現(xiàn)代信息科技,2019,3(22):1-4+8.
[4] 郭亞琳,李曉晨,任志磊,等.自動化軟件重構(gòu)質(zhì)量目標(biāo)與非質(zhì)量目標(biāo)有效性研究 [J].計算機科學(xué),2022,49(11):55-64.
[5] 錢雨,孫新波,孫浩博,等.數(shù)字化時代敏捷組織的構(gòu)成要素、研究框架及未來展望 [J].研究與發(fā)展管理,2021,33(6):58-74.
[6] 榮國平,張賀,邵棟,等.軟件過程與管理方法綜述 [J].軟件學(xué)報,2019,30(1):62-79.
[7] 龔蘭蘭,凌興宏.基于敏捷開發(fā)的SSM Web應(yīng)用開發(fā)實踐 [J].實驗技術(shù)與管理,2020,37(2):160-163+167.
作者簡介:楊玉(1979—),女,漢族,江蘇揚州人,講師,博士,研究方向:軟件質(zhì)量保障、智慧教育。
收稿日期:2022-11-09
基金項目:2022-2023年度連云港市社會科學(xué)基金項目(22LKT0019);2021年江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)項目(202111641099Y);2022年江蘇省計算機學(xué)會教學(xué)類項目(JSCS2022028);2021年江蘇海洋大學(xué)教育教學(xué)改革項目(JGX2021019)