楊玉 王博 徐震陽 錢佳琛



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