摘要:軟件測(cè)試環(huán)節(jié)直接影響著產(chǎn)品的成敗,本文所介紹的測(cè)試用例系統(tǒng)設(shè)計(jì)是使用基于.NET的面向?qū)ο蟮目梢暬幊坦ぞ吲cSQL Server數(shù)據(jù)庫(kù)相結(jié)合,采用應(yīng)用服務(wù)器技術(shù)的C/S架構(gòu),按項(xiàng)目測(cè)試流程進(jìn)行設(shè)計(jì),把測(cè)試用例融入項(xiàng)目設(shè)計(jì)中,貫穿整個(gè)開(kāi)發(fā)過(guò)程,大大減少重復(fù)工作量以及充分發(fā)揮每個(gè)人的效率,提高測(cè)試效率和速度。所設(shè)計(jì)的系統(tǒng)包括用戶(hù)管理,項(xiàng)目管理,測(cè)試用例庫(kù)管理,缺陷管理等功能模塊,集成安全性與可維護(hù)性,實(shí)現(xiàn)集中管理,使整個(gè)軟件系統(tǒng)開(kāi)發(fā)的業(yè)務(wù)周期縮短、開(kāi)發(fā)成本降低,也同步提高項(xiàng)目的核心競(jìng)爭(zhēng)力。
關(guān)鍵詞:NET框架;軟件測(cè)試;功能模塊;測(cè)試用例
中圖分類(lèi)號(hào):TP311.52文獻(xiàn)標(biāo)志碼:A文章編號(hào):1001-5922(2024)10-0145-04
Test case system design based on .NET Framework technology
SHEN Yanhua1,F(xiàn)ENG Yanhui2,3,JIANG Peng2,3
(1. Shanghai Xingjian Vocational College,Shanghai 200072,China;2. Jing’an Campus,Shanghai Open University,Shanghai 200040,China;3. Shanghai Jing’an Amateur University,Shanghai 200040,China)
Abstract:Software testing directly affects the success and failure of the product. The test case system design intro?duced in this paper was based on the combined use of .NET object-oriented visual programming tools and SQL Serv?er database,the application server technology of C/S architecture was used according to the project test process de?sign,the test case were integrated into the project design,throughout the entire development process,which greatlyreduced the repetitive workload and gave full play to everyone’s efficiency,improving the efficiency and speed oftesting. The designed system included user management,project management,test case library management,defectmanagement and other functional modules,integrated security and maintainability,realized centralized manage?ment,shortened the business cycle of the entire software system development,reduced the development cost,andimproved the core competitiveness of the project simultaneously.
Key words:.NET framework;software testing;function module;test case
有效的軟件測(cè)試對(duì)軟件開(kāi)發(fā)和軟件質(zhì)量保證至關(guān)重要,大量的案例都表明,越早開(kāi)展軟件缺陷測(cè)試,軟件開(kāi)發(fā)的成本就會(huì)越低,也提高了軟件質(zhì)量控制的效率[1-2]。之前對(duì)軟件測(cè)試的研究主要集中在測(cè)試管理工具、系統(tǒng)功能和自動(dòng)測(cè)試等方面,目前主要的測(cè)試管理工具包括QADirector、TestDirector、Ratio?nal Quality Manager、ClearQuest、Bugzilla、Subversion、Quality Center、Bug Tracker等,這些測(cè)試管理工具側(cè)重在實(shí)現(xiàn)軟件測(cè)試階段的不同功能[3],其中一些工具主要是針對(duì)軟件的全過(guò)程管理,可以完成測(cè)試計(jì)劃、任務(wù)跟蹤和統(tǒng)計(jì)分析[4],還有一些工具側(cè)重于對(duì)軟件的單一管理,如進(jìn)度管理、需求跟蹤、測(cè)試用例管理和軟件缺陷管理等等[5]。例如,有研究者使用subver?sion工具來(lái)研究軟件的配置管理,并使用測(cè)試用例的離線管理方法,為軟件開(kāi)發(fā)過(guò)程中的協(xié)同開(kāi)發(fā)提供了參考依據(jù)[6]。此外,還有研究者使用Bugzilla工具研究了軟件bug報(bào)告生命周期中事件日志的生成,結(jié)果表明它可以提高軟件工程中的質(zhì)量控制[7]。在針對(duì)軟件自動(dòng)化測(cè)試的研究中,有學(xué)者研究了基于Robot架構(gòu)的電池管理自動(dòng)化測(cè)試系統(tǒng),實(shí)現(xiàn)了繼電器數(shù)據(jù)轉(zhuǎn)發(fā)的自動(dòng)化軟件測(cè)試[8]。還有學(xué)者在Robot架構(gòu)上擴(kuò)展了Django框架,這樣的設(shè)計(jì)可以提高Web框架的軟件自動(dòng)化測(cè)試效率[9]。
而從軟件工程的角度來(lái)看,軟件測(cè)試則可分為需求測(cè)試、設(shè)計(jì)測(cè)試、單元測(cè)試、功能測(cè)試、集成測(cè)試、性能測(cè)試、維護(hù)測(cè)試等[10-11]。在當(dāng)下對(duì)開(kāi)發(fā)設(shè)計(jì)的應(yīng)用程序需求不斷擴(kuò)展和靈活性增強(qiáng)的背景下,軟件測(cè)試管理系統(tǒng)正變得越來(lái)越復(fù)雜,難以滿(mǎn)足復(fù)雜軟件測(cè)試管理業(yè)務(wù)的需求[12-13]。
1系統(tǒng)概述
本系統(tǒng)的設(shè)計(jì)采用C/S架構(gòu),是按現(xiàn)實(shí)的軟件項(xiàng)目測(cè)試流程進(jìn)行設(shè)計(jì),整個(gè)測(cè)試過(guò)程分為系統(tǒng)管理、用例管理,項(xiàng)目管理,缺陷管理、日志管理、文檔管理和測(cè)試報(bào)告等功能模塊,其中的數(shù)據(jù)涵蓋用例數(shù)據(jù)、項(xiàng)目管理數(shù)據(jù)、軟件缺陷數(shù)據(jù)、用戶(hù)管理數(shù)據(jù)等,項(xiàng)目有關(guān)人員可按系統(tǒng)權(quán)限和項(xiàng)目權(quán)限這兩級(jí)權(quán)限進(jìn)行訪問(wèn)控制,共享和使用數(shù)據(jù),以客觀測(cè)試數(shù)據(jù)作為最終決策的依據(jù)[14-15]。
系統(tǒng)設(shè)計(jì)依據(jù).NET架構(gòu)的設(shè)計(jì)規(guī)范,遵循層次化分布式應(yīng)用軟件的框架開(kāi)發(fā)邏輯[16],在設(shè)計(jì)的過(guò)程中對(duì)系統(tǒng)數(shù)據(jù)的訪問(wèn)通過(guò)使用通用的配置文件,提高系統(tǒng)的整體運(yùn)行效率。在設(shè)計(jì)的策略中,將系統(tǒng)從構(gòu)架上分為數(shù)據(jù)層、業(yè)務(wù)層、視圖層和表示層,在視圖層,實(shí)現(xiàn)構(gòu)建客戶(hù)端用戶(hù)視圖必要的顯示格式和相關(guān)事件的觸發(fā),而在表示層實(shí)現(xiàn)人機(jī)交互所需的控制邏輯和部分業(yè)務(wù)會(huì)話(huà)邏輯,再加上貫穿所有系統(tǒng)邏輯層的業(yè)務(wù)實(shí)體,將顯示格式、顯示控制邏輯、模型數(shù)據(jù)3部分有效地分隔開(kāi)來(lái),大大加強(qiáng)了系統(tǒng)架構(gòu)的可擴(kuò)展性[17-18]。
2數(shù)據(jù)庫(kù)訪問(wèn)模塊
數(shù)據(jù)庫(kù)的模塊調(diào)用是通過(guò)ADO.NET實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)的方式,運(yùn)用.NET語(yǔ)言來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的鏈接,以Web方式讀入數(shù)據(jù)表和執(zhí)行SQL語(yǔ)句的模塊設(shè)計(jì),實(shí)現(xiàn)了客戶(hù)端與服務(wù)器端之間的響應(yīng)[19-20]。
數(shù)據(jù)庫(kù)連接類(lèi)代碼
Imports System.Data.SqlClient
Public Class dbcon
Public Shared conn As SqlConnection
Public Shared Sub createcon()
'建立到指定數(shù)據(jù)庫(kù)的連接
conn = New SqlConnection(\"Data Source=.;
Initial Catalog=TCMS;Integrated Security=True\")
3系統(tǒng)詳細(xì)設(shè)計(jì)
系統(tǒng)在開(kāi)發(fā)的過(guò)程中按照需要實(shí)現(xiàn)的相應(yīng)功能,設(shè)計(jì)了對(duì)應(yīng)的模塊,并定義相互之間的數(shù)據(jù)接口,明確功能模塊之間的層次結(jié)構(gòu),其中用戶(hù)界面層,是與用戶(hù)應(yīng)用有密切關(guān)系的內(nèi)容,主要接受用戶(hù)的輸入信息,并將系統(tǒng)的處理結(jié)果顯示給用戶(hù)。專(zhuān)業(yè)軟件層,是項(xiàng)目中特殊的應(yīng)用部分,它們被利用的可能性很小。在開(kāi)發(fā)時(shí)可以適當(dāng)減小軟件元素的粒度,以便分離出更多的可利用構(gòu)件,減少專(zhuān)用軟件層的規(guī)模。通用軟件層,是由一些公共構(gòu)件組成,常用的操作有更新、保存、刪除、檢索等。一個(gè)項(xiàng)目管理系統(tǒng)的層次組織如圖1所示。
3. 1用戶(hù)管理模塊設(shè)計(jì)
用戶(hù)管理模塊主要是通過(guò)新增、修改和刪除等操作實(shí)現(xiàn)對(duì)用戶(hù)的信息確認(rèn),并可以針對(duì)不同的用戶(hù)分派部門(mén),以及設(shè)置相應(yīng)的操作權(quán)限。
'判斷當(dāng)前確認(rèn)操作是否為添加用戶(hù)
cm.CommandText = \"select count(*) from
users where UserName ='\" amp; CStr(Trim(TBox_Name.Text)) amp; \"'\"
'判斷當(dāng)前確認(rèn)操作是否為修改用戶(hù)
createcon()
cm.CommandType = CommandType.Text
3. 2項(xiàng)目管理模塊設(shè)計(jì)
項(xiàng)目管理模塊是整個(gè)系統(tǒng)的核心,可以對(duì)不同項(xiàng)目開(kāi)發(fā)相應(yīng)的測(cè)試用例,根據(jù)項(xiàng)目組織執(zhí)行測(cè)試用例,安排測(cè)試人員進(jìn)行測(cè)試是本模塊的主要功能。項(xiàng)目經(jīng)理能生成項(xiàng)目,并能添加項(xiàng)目組成員,只有項(xiàng)目組成員才有權(quán)對(duì)項(xiàng)目進(jìn)行更改。除客戶(hù)外所有人員都有權(quán)進(jìn)入項(xiàng)目,執(zhí)行測(cè)試任務(wù),項(xiàng)目經(jīng)理可為每段測(cè)試任務(wù)安排結(jié)束時(shí)間,系統(tǒng)會(huì)自動(dòng)為每個(gè)項(xiàng)目計(jì)算進(jìn)度。
對(duì)于項(xiàng)目管理模塊我們可以把它看作一個(gè)比較大的子系統(tǒng),其下又分為添加項(xiàng)目、管理項(xiàng)目、刪除項(xiàng)目、項(xiàng)目查詢(xún)4個(gè)子系統(tǒng),其設(shè)計(jì)界面如圖2所示。
使用TreeView控件從數(shù)據(jù)表中讀取結(jié)點(diǎn)位置數(shù)據(jù),生成所有測(cè)試項(xiàng)目的樹(shù)結(jié)點(diǎn)結(jié)構(gòu)。
'TODO:將數(shù)據(jù)加載到表“TCMSDataSetCase.case_info”中,可以根據(jù)需要移動(dòng)或移除。
Me.Case_infoTableAdapter.Fill(Me.TCMS?DataSetCase.case_info)
Me.Project_1_casesTableAdapter.Fill(Me.TCMSDataSetProject_1.project_1_cases)
'TODO:使用DataAdapter數(shù)據(jù)表中Node的所有條目畫(huà)出TreeView的結(jié)構(gòu)圖
FullName = ds.Tables(\"Node\").Rows(i).Item(0).ToString.Trim
NodeName = Split(FullName, \"\\")
'取數(shù)據(jù)庫(kù)中節(jié)點(diǎn)名前的路徑
Path = FullName.Substring(0, FullName.LastIndexOf(\"\\"))
Path = FullName.Substring(0, Full?Name.LastIndexOf(\"\\") + 1)
'創(chuàng)建第一層結(jié)點(diǎn)
根據(jù)在測(cè)試項(xiàng)目目錄樹(shù)中所選取的具體測(cè)試項(xiàng)目,在數(shù)據(jù)表中查詢(xún)顯示相應(yīng)的用例詳細(xì)信息。
'讀取項(xiàng)目中對(duì)應(yīng)的測(cè)試用例管理信息,把用戶(hù)信息轉(zhuǎn)為字符型值,防止表值為NULL現(xiàn)象
CBox_Tester.Text = Trim(ds.Tables
(\"case\").Rows(0).Item(2).ToString())
DT_EndTime.Text = Trim(ds.Tables(\"case\").Rows(0).Item(3).ToString())
信息'讀取測(cè)試用例庫(kù)中對(duì)應(yīng)的測(cè)試用例具體cm.CommandText = \"select * from
case_info where Mnemonic = '\" + ListBox1.Selecte?dItem.ToString + \"'\"
3. 3測(cè)試用例模塊設(shè)計(jì)
測(cè)試用例模塊是整個(gè)測(cè)試用例管理系統(tǒng)的基礎(chǔ),首先由系統(tǒng)的使用者創(chuàng)建測(cè)試用例庫(kù),再依據(jù)這些測(cè)試用例數(shù)據(jù)模擬運(yùn)行所開(kāi)發(fā)的軟件,檢測(cè)反饋在運(yùn)行過(guò)程中的各類(lèi)問(wèn)題。
If Me.CBox_Query.Text = String.Empty Or Me.CBox_Opinion.Text = String.Empty Or Me.CBox_Con?dition.Text = String.Empty Then
3. 4缺陷管理模塊設(shè)計(jì)
主要用于測(cè)試人員或用戶(hù)上報(bào)的產(chǎn)品缺陷,與測(cè)試用例庫(kù)一樣,保存大量的記錄,是測(cè)試用例管理系統(tǒng)的基石之一,項(xiàng)目經(jīng)理會(huì)把上報(bào)的缺陷轉(zhuǎn)分給相關(guān)研發(fā)人員,指定缺陷的緊急程度,更改缺陷狀態(tài)及指定修改完成時(shí)間,研發(fā)人員可根據(jù)完成情況更改缺陷狀態(tài),測(cè)試人員完成驗(yàn)證測(cè)試后,更改缺陷狀態(tài)為“已驗(yàn)證”或“重新打開(kāi)”。在缺陷管理模塊的代碼中比較特殊的是添加附件功能,可以上傳、下載文件到服務(wù)器。
If opendlg.ShowDialog() = Windows.Forms.Dialo?
gResult.OK Then
'去除目錄,只取文件名
Array.Reverse(name)
FileOpen(1, DownloadFileName, Open?
Mode.Append)
4結(jié)語(yǔ)
軟件測(cè)試是整個(gè)軟件開(kāi)發(fā)過(guò)程中重要性最高,影響最大的環(huán)節(jié),直接影響著最終產(chǎn)品的成功與失敗。通過(guò)測(cè)試用例系統(tǒng)的核心設(shè)計(jì),建立規(guī)范的測(cè)試用例,嚴(yán)格把關(guān)每一階段的軟件質(zhì)量工作,可以清晰、有效的發(fā)現(xiàn)在軟件開(kāi)發(fā)過(guò)程中的各類(lèi)問(wèn)題,并盡可能的把問(wèn)題消滅在萌芽中,這可以給測(cè)試管理人員帶來(lái)極大的便利,也會(huì)幫助企業(yè)改善現(xiàn)有的測(cè)試
流程,順利完成所開(kāi)發(fā)的項(xiàng)目。
隨著我國(guó)軟件市場(chǎng)的迅速發(fā)展,測(cè)試的成功與失敗將直接關(guān)系到所設(shè)計(jì)的軟件的競(jìng)爭(zhēng)力和生命力,要想產(chǎn)品在競(jìng)爭(zhēng)中取得優(yōu)勢(shì),必須在測(cè)試方面提高管理意識(shí),這是每一位測(cè)試管理者所面臨的重要課題。
【參考文獻(xiàn)】
[1]陳湞斐,邢寧,李志新,等. SVPWM逆變器供電時(shí)FSCW-PMSM損耗特性研究[J].電力工程技術(shù),2023,42(4):73-83.
[2]劉海龍,李移倫,吳海波.基于粒子群優(yōu)化算法的搬運(yùn)機(jī)器人標(biāo)定方法研究[J].電氣自動(dòng)化,2022,44(5):98-101.
[3]蔣武衡,王利莉,胡周,等.建筑碳纖維復(fù)合材料的拉伸與計(jì)算機(jī)模擬[J].合成材料老化與應(yīng)用,2022,51(5):63-65.
[4]侯萍,龔曉峰.基于TestDirector的軟件自動(dòng)化測(cè)試系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(8):1775-1777.
[5]葛文龍.基于ClearQuest的軟件變更管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦,2019(3):120-122.
[6]方友軒,劉健,董燕秋,等.基于VSTO和Subversion的測(cè)試用例管理實(shí)現(xiàn)[J].電腦與電信,2014(10):59-62.
[7]馮國(guó)聰,樊凱,葉婉琦.基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)設(shè)計(jì)[J].微型電腦應(yīng)用,2023,39(5):141-143.
[8]韓慧超,吳長(zhǎng)水.基于Robot框架的電池管理系統(tǒng)自動(dòng)化測(cè)試的研究[J].農(nóng)業(yè)裝備與車(chē)輛工程,2020,5(58):51-55.
[9]康彥.基于Robot Framework的Django框架自動(dòng)化測(cè)試研究與應(yīng)用[J].湖南工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2019(29):41-44.
[10]朱譽(yù),劉洋,于珍,等.多級(jí)智能技術(shù)安全校核母線負(fù)荷預(yù)測(cè)系統(tǒng)優(yōu)化設(shè)計(jì)[J].粘接. 2023,50(2):176-179.
[11]王用杰,楊紅雨,王玲,等.實(shí)時(shí)軟件測(cè)試管理的設(shè)計(jì)與實(shí)踐[J].中國(guó)民航飛行學(xué)院學(xué)報(bào),2005(1):112-113.
[12]王鵬.恒源煤礦主井提升機(jī)無(wú)人值守智能監(jiān)控系統(tǒng)的研究和應(yīng)用[J].能源技術(shù)與管理,2018,43(2):133-135.
[13]斛嘉乙,符永蔚,樊映川.軟件測(cè)試技術(shù)指南[M].北京:機(jī)械工業(yè)出版社,2019.
[14]莫海城.基于等值網(wǎng)絡(luò)模型的電子設(shè)備故障智能分析診斷技術(shù)[J].粘接. 2023,50(9):192-196.
[15]杜慶峰.軟件測(cè)試技術(shù)(第2版)[M].北京:清華大學(xué)出版社,2020.
[16]埃斯波西托,索爾塔雷羅著. NET企業(yè)級(jí)應(yīng)用架構(gòu)設(shè)計(jì)(第2版)[M].李永倫譯.北京:人民郵電出版社,2016.
[17]張永財(cái). NET框架程序開(kāi)發(fā)與應(yīng)用[M].長(zhǎng)春:東北師范大學(xué)出版社,2017.
[18]拓應(yīng)全.基于網(wǎng)絡(luò)技術(shù)的井下無(wú)軌膠輪車(chē)交通管控系統(tǒng)設(shè)計(jì)優(yōu)化[J].粘接. 2023,50(1):182-186.
[19]李俊松,王雷,張靳予,等.基于改進(jìn)VECMP的電力通信網(wǎng)絡(luò)路由優(yōu)化算法研究[J].電測(cè)與儀表,2021,58(7):136-142.
[20]楊曉春,秦婧,劉存勇. SQL Server 2017數(shù)據(jù)庫(kù)從入門(mén)到實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2020.