版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)(論文)第PAGEII頁畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)論文題目:邊界測試方法研究及應(yīng)用學(xué)生姓名:學(xué)生學(xué)號(hào):專業(yè)班級(jí):學(xué)院名稱:指導(dǎo)老師:學(xué)院院長:年 6月6日邊界測試方法研究及應(yīng)用摘要目前雖然軟件產(chǎn)業(yè)內(nèi)各方對軟件測試越來越關(guān)注,但軟件測試化理論大部分仍然停留在紙上,人們發(fā)現(xiàn)很多的理論很難在實(shí)踐中得到運(yùn)用。所以現(xiàn)在人們對軟件測試的研究很多都面向那些能在實(shí)際項(xiàng)目中得到很好實(shí)踐的技術(shù)的理論研究上。本文以軟件測試中黑盒測試的一個(gè)方法“邊界值測試方法研究”為題目,首先介紹了軟件測試的相關(guān)理論,并著重介紹了邊界測試方法的研究理論,然后根據(jù)實(shí)際的項(xiàng)目,學(xué)生信息管理系統(tǒng)的功能測試對邊界值測試方法進(jìn)行分析,從而得出邊界值測試方法作為一個(gè)理論研究與實(shí)際運(yùn)用結(jié)合得很好的軟件測試方法,它為我們在其他軟件測試?yán)碚摰难芯颗c實(shí)際運(yùn)用提供了很好的經(jīng)驗(yàn)。關(guān)鍵詞:軟件測試,黑盒測試,邊界值測試,等價(jià)劃分ResearchandApplicationofBoundaryValueTestingAbstractAlthoughsoftwaretestingisconcernedmoreandmorebythesoftwareindustry,softwaretestingtheoryremainsontheories,forlotsoftheoriescannotbeusedinpractice.Atpresentmostresearcharebasedonthetheoriesthatcanmakeuseinpractice.Thistheoryisaboutboundaryvaluetesting.Theoriesonsoftwaretesting,especiallyonboundaryvaluetesting,arefirstlyintroduced.Andthentheboundaryvaluetestingwillbeanalyzedonthebasicof"StudentsInformationManagement".Atlast,wewillrealizethatboundaryvaluetestingisagoodtestingmethod,whichgivegoodexperienceforothertestingtheories.Keyword:softwaretesting,blackboxtesting,boundaryvaluetesting,equivalencepartitioning目錄1 緒論 11.1 課題背景 11.2 研究現(xiàn)狀及存在的問題 11.3 邊界值測試方法及研究意義 11.4 論文簡介 22 軟件測試?yán)碚摻榻B 32.1 概述 32.2 測試?yán)碚?32.2.1 軟件測試基礎(chǔ) 32.2.2 測試案例設(shè)計(jì) 72.2.3 黑盒測試?yán)碚?82.2.4 測試用例 82.2.5 邊界值分析法 93 邊界值測試方法分析 113.1 邊界測試方法介紹 113.1.1 定義 113.1.2 與等價(jià)劃分的區(qū)別 113.1.3 邊界值分析法的考慮 113.1.4 一些常見的邊界值 113.1.5 邊界值分析 123.1.6 基于邊界值分析方法選擇測試用例的原則 143.2 實(shí)例分析 143.2.1 系統(tǒng)介紹 143.2.2 實(shí)例分析 153.2.3 邊界值測試方法的運(yùn)用分析 223.2.4 邊界值測試方法的分析結(jié)論 23總結(jié)…………………24致謝…………………25參考文獻(xiàn)……………26附錄…………………27A.軟件測試術(shù)語 27緒論課題背景軟件測試作為一門年輕的科學(xué),還處于研究的起步階段。目前雖然軟件產(chǎn)業(yè)內(nèi)各方對軟件測試越來越關(guān)注,但軟件測試?yán)碚摯蟛糠秩匀煌A粼诩埳希瑢浖y試的研究讓人們感覺走到了一種紙上談兵的窘境,因?yàn)樵谌藗儼l(fā)現(xiàn)很多的理論很難在實(shí)踐中得到運(yùn)用。邊界值測試方法作為一種理論研究與實(shí)際運(yùn)用能夠很好結(jié)合的測試方法很值得我們?nèi)パ芯俊Q芯楷F(xiàn)狀及存在的問題從六十年代末出現(xiàn)“軟件危機(jī)”開始,開發(fā)者們就開始了從理論上對軟件開發(fā)規(guī)律進(jìn)行廣泛和深入的研究,提出了以“工程”的方法來開發(fā)、維護(hù)和管理軟件,以提高軟件的生產(chǎn)效率和質(zhì)量,產(chǎn)生了軟件工程。到60年代初期,軟件測試與調(diào)試分開來,開始了一些初步的研究工作。1972年,北卡羅米納大學(xué)舉行了首屆軟件測試正式會(huì)議。隨后,Hetzel及Myers等人的一批專著相繼出版,成為研究軟件測試過程的里程碑。80年代初期,軟件質(zhì)量得到了普遍的重視,關(guān)于軟件測試的各種國際標(biāo)準(zhǔn)得到了制訂,如IEEE、ANSI和ISO標(biāo)準(zhǔn),其后關(guān)于軟件測試的各種理論研究得到了進(jìn)一步的發(fā)展。并且人們對軟件測試也進(jìn)行了詳細(xì)的分類。從測試的類型來看,測試分為2種:黑盒測試和白盒測試。從測試實(shí)際的前后過程來看,軟件測試是由一系列不同的測試所組成,這些軟件測試的步驟分為:單元測試、組裝測試(集成測試)、確認(rèn)測試和系統(tǒng)測試?,F(xiàn)在軟件測試已經(jīng)形成其特有的一系列的理論系統(tǒng)。軟件測試作為一門年輕的科學(xué),還處于研究的起步階段。目前雖然軟件產(chǎn)業(yè)內(nèi)各方對軟件測試越來越關(guān)注,并且人們對軟件測試的研究很多都面向那些能在實(shí)際項(xiàng)目中得到很好實(shí)踐的理論的研究。邊界值測試方法及研究意義邊界值分析法,有較好的測試回報(bào)率。該法較簡單,僅是用于考察正處于等價(jià)劃分邊界或在邊界附近的狀態(tài)。因此,只需明確邊界條件這一定義即可。邊界條件,是指輸入和輸出等價(jià)類中那些恰好處于邊界、或超過邊界、或在邊界以下的狀態(tài)。邊界值分析也是一種黑盒測試方法,是對等價(jià)劃分分析方法的一種補(bǔ)充,由長期的測試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出的邊界上。因此針對各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。選擇測試用例的原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)該取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù);如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1格、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測試數(shù)據(jù);根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則一;根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則二;如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合的第一個(gè)和最后一個(gè)元素作為測試用例;如果程序用了一個(gè)內(nèi)部結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測試用例;分析規(guī)格說明,找出其他可能的邊界條件。實(shí)際上邊界值測試方法是在實(shí)際運(yùn)用中很常用的一種測試技術(shù),大多數(shù)的軟件測試人員在某種程度上自發(fā)的執(zhí)行BVA。它是一種理論研究與實(shí)際運(yùn)用能夠很好的得以結(jié)合的測試技術(shù)。在本論文中將結(jié)合實(shí)際的測試項(xiàng)目分析邊界值測試方法理論在實(shí)際項(xiàng)目中的運(yùn)用情況。該課題的研究將對其他軟件測試?yán)碚撆c實(shí)際項(xiàng)目運(yùn)用提供幫助。論文簡介在本文中我們將在第二章中將對目前比較經(jīng)典的測試?yán)碚撟鋈娴慕榻B,用來幫助我們對測試概念的理解,加深對軟件測試技術(shù)各方面的理解。并了解一些軟件測試的相關(guān)術(shù)語幫助我們的測試工作和論文的寫作,由于篇幅有限就將其放在附錄中。在第三章中,將對邊界值測試方法的理論進(jìn)行詳細(xì)的介紹,并結(jié)合實(shí)際項(xiàng)目(學(xué)生信息管理系統(tǒng))的功能測試分析邊界值測試方法在軟件測試的各個(gè)過程的使用情況特別是如何使用邊界值分析方法對測試用例的建立,引入一個(gè)測試案例并用邊界值法對其分析并建立測試用例。最后將提出分析總結(jié)。軟件測試?yán)碚摻榻B概述軟件測試是軟件工程的一個(gè)重要部分,從測試的類型來看,測試分為2種:黑盒測試和白盒測試。黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,把系統(tǒng)看成一個(gè)黑盒子,不考慮程序的內(nèi)在邏輯,只根據(jù)需求規(guī)格說明書的要求來檢查程序的功能是否符合它的功能說明。白盒測試又稱為結(jié)構(gòu)測試和邏輯驅(qū)動(dòng)測試,允許測試人員對程序內(nèi)部邏輯結(jié)構(gòu)及有關(guān)信息來設(shè)計(jì)和選擇測試用例,對程序的邏輯路徑進(jìn)行測試。從測試實(shí)際的前后過程來看,軟件測試是由一系列的不同測試所組成,這些軟件測試的步驟分為:單元測試、組裝測試(集成測試)、確認(rèn)測試和系統(tǒng)測試。單元測試針對每個(gè)模塊進(jìn)行的測試,通常在編碼階段進(jìn)行,必要的時(shí)候要制作驅(qū)動(dòng)模塊和樁模塊。集成測試在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng),必須精心計(jì)劃,應(yīng)提交集成測試計(jì)劃、集成測試規(guī)格說明和集成測試分析報(bào)告。確認(rèn)測試驗(yàn)證軟件的功能和性能及其它的特性是否與用戶的要求一致,系統(tǒng)測試是在實(shí)際運(yùn)行環(huán)境下進(jìn)行一系列的測試。軟件開發(fā)的過程是自頂向下的,測試則正好相反,以上這些過程就是自底向上,逐步集成的。本章中我們主要是對軟件測試的黑盒測試類型的理論進(jìn)行介紹。黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,把系統(tǒng)看成一個(gè)黑盒子,不考慮程序的內(nèi)在邏輯,只根據(jù)需求規(guī)格說明書的要求來檢查程序的功能是否符合它的功能說明。黑盒測試常用的方法包括等價(jià)劃分法,邊界值分析法,錯(cuò)誤推測法,因果圖等方法,在實(shí)際測試中我們將綜合運(yùn)用這些測試方法進(jìn)行測試。最后我們將介紹關(guān)于軟件測試的術(shù)語,由于正文篇幅限制我們將其放在附錄A中,這些術(shù)語將對我們的研究軟件測試和論文寫作過程中提供幫助。測試?yán)碚撥浖y試基礎(chǔ)(1)測試目標(biāo)GlenMyers[MYE79]在他關(guān)于測試的優(yōu)秀著作中陳述了一系列可以服務(wù)于軟件測試目標(biāo)的規(guī)則:測試是一個(gè)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。一個(gè)好的測試案例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的案例。一個(gè)成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。上述目標(biāo)隱含了一個(gè)觀點(diǎn)上的戲劇性變化,他們和通常的觀點(diǎn)(既一個(gè)成功的測試是指沒有找到錯(cuò)誤的測試)正好相反。我們的目標(biāo)是設(shè)計(jì)這樣的測試,他們能夠系統(tǒng)的揭示不同類型的錯(cuò)誤并且耗費(fèi)最少時(shí)間和最小工作量。如果成功構(gòu)造了測試(根據(jù)上面陳述目標(biāo)),則能夠在軟件中揭示錯(cuò)誤。測試的第二個(gè)好處在于他證實(shí)了軟件依據(jù)規(guī)約所具有的功能及其性能需求,此外,構(gòu)造測試時(shí)的數(shù)據(jù)收集提供了軟件可靠性以及軟件整體質(zhì)量的一些信息。但是,有一件事測試無法完成:測試無法說明錯(cuò)誤和缺陷不存在,它只能表示錯(cuò)誤和缺陷已經(jīng)出現(xiàn)。(2)測試原則在設(shè)計(jì)有效的測試案例之前,軟件工程師必須理解指導(dǎo)軟件測試的基本原則。Davis[DAV95]提出了一組測試原則:所有的測試都應(yīng)可以追溯到客戶需求。正如我們所知,軟件測試的目標(biāo)在于發(fā)現(xiàn)錯(cuò)誤。而最嚴(yán)重的錯(cuò)誤(從客戶角度看)是那些導(dǎo)致程序無法滿足需求的錯(cuò)誤。應(yīng)該在測試工作真正開始前較長時(shí)間就進(jìn)行測試計(jì)劃。測試計(jì)劃可以在需求模型一完成就開始,詳細(xì)的測試案例定義可以在設(shè)計(jì)模型被確定后立即開始,因此,所有的測試可以在任何代碼產(chǎn)生前就被計(jì)劃和設(shè)計(jì)。Pareto原則可以應(yīng)用于軟件測試。簡單而言,Pareto原則暗示著測試發(fā)現(xiàn)的錯(cuò)誤中的80%很可能起源于程序模塊中的20%。當(dāng)然,問題在于分離這些有疑點(diǎn)的模塊并進(jìn)行徹底的測試。測試應(yīng)從“小規(guī)模”開始,逐步轉(zhuǎn)向“大規(guī)?!薄W畛醯臏y試通常把焦點(diǎn)放在單個(gè)程序模塊上,進(jìn)一步測試的焦點(diǎn)則轉(zhuǎn)向在集成的模塊簇中尋找錯(cuò)誤,最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。窮舉測試是不可能的。甚至在一個(gè)大小適度的程序,其路徑排列的數(shù)量也非常大,因此,在測試中不可能運(yùn)行路徑的每一種組合,然而,充分覆蓋程序邏輯并確保使用程序設(shè)計(jì)中的所有條件是有可能的。為了達(dá)到最有效,應(yīng)該由獨(dú)立的第三方來構(gòu)造測試?!白钣行А敝赴l(fā)現(xiàn)錯(cuò)誤的可能性最高的測試(測試的主要目標(biāo))。(3)可測試性在理想的情況下,軟件工程師在設(shè)計(jì)計(jì)算機(jī)程序、系統(tǒng)或產(chǎn)品時(shí)因該考慮可測試性,這就使得負(fù)責(zé)測試的人能夠更容易設(shè)計(jì)有效的測試案例,但是什么是“可測試性”呢?JamesBach以下面的方式描述可測試性。軟件可測試性就是一個(gè)計(jì)算機(jī)程序能夠被測試的容易程度。因?yàn)闇y試是如此的困難,因此,需要知道做些什么才能使測試過程理順。有時(shí),測試員愿意去做對于測試過程有幫助的事,而一個(gè)包括可能的設(shè)計(jì)點(diǎn)、特性等等的檢查表對他們是有用的??隙ù嬖诳捎糜谠诤芏喾矫鏈y量可測試性的度量,有時(shí)可測試性被用來表示一個(gè)特定測試集覆蓋產(chǎn)品的充分程度。在軍方還用它來表示工具被檢驗(yàn)和修復(fù)的容易程度。這兩種意義都略不同于軟件可測試性。下面的檢查表提供了一組導(dǎo)致可測試軟件的特征:可操作性:系統(tǒng)的錯(cuò)誤很少(錯(cuò)誤增加測試過程中的分析和報(bào)告的開銷)。沒有阻礙測試執(zhí)行的錯(cuò)誤。產(chǎn)品的功能階段演化(允許同時(shí)開發(fā)和測試)??捎^察性:每個(gè)輸入有唯一的輸出。系統(tǒng)狀態(tài)和變量可見或在運(yùn)行中可查詢。過去的系統(tǒng)狀態(tài)和變量可見或在運(yùn)行中可查詢(如:事務(wù)日志)。所有影響輸出的因素都可見。容易識(shí)別錯(cuò)誤的輸出。通過自測機(jī)制自動(dòng)檢測內(nèi)部錯(cuò)誤。自動(dòng)報(bào)告內(nèi)部錯(cuò)誤??色@取原代碼。可控制性:所有可能的輸出都產(chǎn)生與某種輸入組合。通過某種輸入組合,所有代碼都可能被執(zhí)行。測試工程師可直接控制硬件和軟件的狀態(tài)及變量。輸入和輸出格式保持一致且是結(jié)構(gòu)化的。能夠便利的對測試進(jìn)行刻畫,自動(dòng)化和再生??煞纸庑裕很浖到y(tǒng)由獨(dú)立模塊構(gòu)成。能夠獨(dú)立測試各軟件模塊。簡單性:功能簡單性。結(jié)構(gòu)簡單性。代碼簡單性。穩(wěn)定性:軟件的變更是不經(jīng)常的。軟件的變更是可控制的。軟件的變更不影響已有的測試。軟件失效后得到良好恢復(fù)。易理解性:設(shè)計(jì)能夠被很好的理解。內(nèi)部,外部和共享構(gòu)件之間的依賴性能夠被很好的理解。設(shè)計(jì)的變更被通知??呻S時(shí)獲取技術(shù)文檔。技術(shù)文檔組織合理。技術(shù)文檔明確詳細(xì)。技術(shù)文檔保持精確性。軟件工程師可以運(yùn)用JamesBach提出的這些屬性來開發(fā)可測試的軟件配置(即程序,數(shù)據(jù)和文檔)。但關(guān)于測試本身呢?Kaner,Falk和Nguyen[KAN93]給出“好”測試的一些屬性:一個(gè)好的測試發(fā)現(xiàn)錯(cuò)誤的可能性很高。為了達(dá)到這個(gè)目標(biāo),測試者必須理解軟件并嘗試設(shè)想軟件如何才能失敗,理想的,故障的類型被探測。一個(gè)好的測試并不冗余。測試的時(shí)間和資源是有限的,沒有必要構(gòu)造一個(gè)與其他測試用途完全相同的測試,每一個(gè)測試都應(yīng)該有不同的用途(哪怕是細(xì)微的差別)。一個(gè)好的測試應(yīng)該是“最佳品種”。在一組目的相似的測試中,時(shí)間和資源的限制可能只影響其某個(gè)子集的執(zhí)行,此外應(yīng)該使用最可能找到所有錯(cuò)誤的測試。一個(gè)好的測試既不會(huì)太簡單,也不會(huì)太復(fù)雜。雖然有時(shí)會(huì)將一組測試組合到一組測試案例中,但是其副作用可能會(huì)屏蔽錯(cuò)誤。通常,每一個(gè)測試應(yīng)該獨(dú)立執(zhí)行。測試案例設(shè)計(jì)軟件和其他工程產(chǎn)品的測試設(shè)計(jì)與產(chǎn)品本身的設(shè)計(jì)一樣具有挑戰(zhàn)性,然而由于已經(jīng)討論過的一些原因,軟件工程師經(jīng)常將測試作為一種事后的措施,開發(fā)一些“感覺上正確”但是缺乏完整保證的測試案例。再回頭看看測試目標(biāo),我們必須設(shè)計(jì)出最可能發(fā)現(xiàn)最多錯(cuò)誤且耗費(fèi)最少時(shí)間和最少代價(jià)的測試。已經(jīng)出現(xiàn)了大量軟件測試案例設(shè)計(jì)方法,這些方法為開發(fā)人員進(jìn)行測試提供了系統(tǒng)的方法。更重要的是,方法提供了一種有助于確保完全測試的機(jī)制,并提供了發(fā)現(xiàn)軟件錯(cuò)誤的最高可能性。能夠采用以下兩種方法之一對任何工程化產(chǎn)品進(jìn)行測試:(1)若了解產(chǎn)品已被設(shè)計(jì)要完成的規(guī)定功能,則測試的進(jìn)行要去驗(yàn)證各功能完全可執(zhí)行,同時(shí)在各功能中尋找錯(cuò)誤;(2)若了解產(chǎn)品的內(nèi)部原理,則測試的進(jìn)行要確?!八札X輪吻合”,既內(nèi)部操作依據(jù)規(guī)約執(zhí)行,而且所有的內(nèi)部構(gòu)件被充分利用。第一種測試方法被稱為黑盒測試,第二種則被稱為白盒測試。如果考慮計(jì)算機(jī)軟件,黑盒測試指在軟件借口上進(jìn)行的測試,雖然設(shè)計(jì)黑盒測試是為了發(fā)現(xiàn)錯(cuò)誤,它們卻被用來證實(shí)軟件功能的可操作性,證實(shí)很好地接收輸入并正確地產(chǎn)生輸出,以及證實(shí)對外部信息完整性(如:數(shù)據(jù)文件)的保持。黑盒測試檢驗(yàn)系統(tǒng)的一些基本特征,很少涉及軟件的內(nèi)部邏輯結(jié)構(gòu)。軟件的白黑測試依賴對程序細(xì)節(jié)的嚴(yán)密檢驗(yàn),提供針對特定條件和/與循環(huán)集的測試案例,對軟件的邏輯路徑進(jìn)行測試,在不同的點(diǎn)檢驗(yàn)“程序的狀態(tài)”以判定預(yù)期狀態(tài)或待驗(yàn)證狀態(tài)與真實(shí)狀態(tài)是否相符。黑盒測試?yán)碚摵诤袦y試也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個(gè)功能是否都能正常使用,在測試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價(jià)類劃分、邊界值分析、因果圖、錯(cuò)誤推測等,主要用于軟件確認(rèn)測試。“黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進(jìn)行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測試情況有無窮多個(gè),人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進(jìn)行測試。黑盒測試的優(yōu)點(diǎn)有:比較簡單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn);與軟件的內(nèi)部實(shí)現(xiàn)無關(guān);從用戶角度出發(fā),能很容易的知道用戶會(huì)用到哪些功能,會(huì)遇到哪些問題;基于軟件開發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;在做軟件自動(dòng)化測試時(shí)較為方便。黑盒測試的缺點(diǎn)有:不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;自動(dòng)化測試的復(fù)用性較低。測試用例測試用例(Testcase)實(shí)際上是對軟件運(yùn)行過程中所有可能存在的目標(biāo)、運(yùn)動(dòng)、行動(dòng)、環(huán)境和結(jié)果的描述,是對客觀世界的一種抽象。設(shè)計(jì)測試用例即設(shè)計(jì)針對特定功能或組合功能的測試方案,并編寫成文檔。測試用例應(yīng)該體現(xiàn)軟件工程的思想和原則。測試用例的選擇既要有一般情況,也應(yīng)有極限情況以及最大和最小的邊界值情況。因?yàn)闇y試的目的是暴露應(yīng)用軟件中隱藏的缺陷,所以在設(shè)計(jì)選取測試用例和數(shù)據(jù)時(shí)要考慮那些易于發(fā)現(xiàn)缺陷的測試用例和數(shù)據(jù),結(jié)合復(fù)雜的運(yùn)行環(huán)境,在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查應(yīng)用軟件是否都能產(chǎn)生正確的輸出。設(shè)計(jì)測試用例就是針對特定功能或組合功能設(shè)計(jì)測試方案,并編寫成文檔。測試用例的選擇既要有一般情況,也應(yīng)有極限情況以及最大和最小的邊界值情況。因?yàn)闇y試的目的是暴露應(yīng)用軟件中隱藏的缺陷,所以在設(shè)計(jì)選取測試用例和數(shù)據(jù)時(shí)要考慮那些易于發(fā)現(xiàn)缺陷的測試用例和數(shù)據(jù),結(jié)合復(fù)雜的運(yùn)行環(huán)境,在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查應(yīng)用軟件是否都能產(chǎn)生正確的輸出。一個(gè)典型的測試用例應(yīng)該包括下列詳細(xì)信息:測試目標(biāo);待測試的功能;測試環(huán)境及條件;測試日期;測試輸入;測試步驟;預(yù)期的輸出;評價(jià)輸出結(jié)果的準(zhǔn)則。所有的測試用例應(yīng)該經(jīng)過專家評審才可以使用。設(shè)計(jì)與選取測試用例集的第一步是對測試用例進(jìn)行描述,這種描述是否權(quán)威、完整、可理解與規(guī)范化,則決定了該測試用例能否或多大程度上可以被操作人員、軟件研制人員和試驗(yàn)鑒定人員所理解接受。所以,規(guī)范化的測試用例描述在軟件測試與評估中具有重要的作用。邊界值分析法邊界值分析也是一種黑盒測試方法,邊界值分析方法是對等價(jià)類劃分方法的補(bǔ)充.邊界值分析方法的考慮:長期的測試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤[4]。使用邊界值分析方法設(shè)計(jì)測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測試數(shù)據(jù)?;谶吔缰捣治龇椒ㄟx擇測試用例的原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)。根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則1。根據(jù)規(guī)格說明的每個(gè)輸出條件,應(yīng)用前面的原則2。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測試用例。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。分析規(guī)格說明,找出其它可能的邊界條件。邊界值測試方法分析邊界測試方法介紹定義邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價(jià)類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。與等價(jià)劃分的區(qū)別邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測試條件[4]。邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況邊界值分析法的考慮長期的測試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì)測試用例,首先應(yīng)確定邊界情況。通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測試的邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測試數(shù)據(jù)。一些常見的邊界值對16-bit的整數(shù)而言32767和-32768是邊界[4];屏幕上光標(biāo)在最左上、最右下位置;報(bào)表的第一行和最后一行;數(shù)組元素的第一個(gè)和最后一個(gè)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次邊界值分析邊界值分析使用等價(jià)類劃分法相同的劃分,只是邊界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測試用例。例:測試計(jì)算平方根的函數(shù)--輸入:實(shí)數(shù)--輸出:實(shí)數(shù)--規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息"平方根非法-輸入值小于0"并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。等價(jià)劃分可以考慮如下劃分:(a)輸入:(i)<0和(ii)>=0(b)輸出:(a)>=0和(b)Error測試用例有兩個(gè):輸入4,輸出2。對應(yīng)于(ii)和(a)。輸入-10,輸出0和錯(cuò)誤提示。對應(yīng)于(i)和(b)。(3)邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測試用例:輸入{最小負(fù)實(shí)數(shù)}。輸入{絕對值很小的負(fù)數(shù)}。輸入0。輸入{絕對值很小的正數(shù)}。輸入{最大正實(shí)數(shù)}。(4)通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:數(shù)字、字符、位置、重量、大小、速度、方位、尺寸、空間等。(5)相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、
最短/最長、空/滿等情況下。(6)利用邊界值作為測試數(shù)據(jù):表3.1利用邊界值作為測試數(shù)據(jù)項(xiàng)邊界值測試用例的設(shè)計(jì)思路字符起始-1個(gè)字符/結(jié)束+1個(gè)字符假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸入1個(gè)和255個(gè)字符作為有效等價(jià)類;輸入0個(gè)和256個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值數(shù)值最小值-1/最大值+1假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的數(shù)值作為邊界條件空間小于空余空間一點(diǎn)/大于滿空間一點(diǎn)例如在用U盤存儲(chǔ)數(shù)據(jù)時(shí),使用比剩余磁盤空間大一點(diǎn)(幾KB)的文件作為邊界條件(7)內(nèi)部邊界值分析:在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說明或常識(shí)中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種:數(shù)值的邊界值檢驗(yàn):計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。字符的邊界值檢驗(yàn):在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。下表中列出了一些常用字符對應(yīng)的ASCII碼值。其他邊界情況?;谶吔缰捣治龇椒ㄟx擇測試用例的原則如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說明中規(guī)定:"重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為……"。作為測試用例,我們應(yīng)取10及50,還應(yīng)取10.01,49.99,9.99及50.01等。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)。比如,一個(gè)輸入文件應(yīng)包括1~255個(gè)記錄,則測試用例可取1和255,還應(yīng)取0及256等。根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則1。例如,某程序的規(guī)格說明要求計(jì)算出"每月保險(xiǎn)金扣除額為0至1165.25元",其測試用例可取0.00及1165.24、還可取0.01及1165.26等。再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次"最少顯示1條、最多顯示4條情報(bào)摘要",這時(shí)我們應(yīng)考慮的測試用例包括1和4,還應(yīng)包括0和5等。根據(jù)規(guī)格說明的每個(gè)輸出條件,應(yīng)用前面的原則2。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測試用例。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。分析規(guī)格說明,找出其它可能的邊界條件。實(shí)例分析系統(tǒng)介紹本軟件系統(tǒng)是一個(gè)學(xué)生成績管理系統(tǒng)。該系統(tǒng)有4個(gè)功能,包括班級(jí)學(xué)生成績管理、年級(jí)學(xué)生成績查詢、參數(shù)設(shè)置與庫操作和安裝。該系統(tǒng)只有一個(gè)年級(jí),該年級(jí)有五個(gè)班級(jí),分別為一班、二班、三班、四班和五班。學(xué)生的成績分五個(gè)科目,分別為語文、數(shù)學(xué)、物理、化學(xué)和英語。學(xué)生成績按百分制計(jì)。班級(jí)成績統(tǒng)計(jì)信息有五項(xiàng),分別為科目、平均成績、總成績、及格人數(shù)和優(yōu)秀人數(shù)。年級(jí)成績統(tǒng)計(jì)信息有五項(xiàng),分別為科目、平均成績、總成績、及格人數(shù)和優(yōu)秀人數(shù)。學(xué)生信息有九項(xiàng),分別為姓名、學(xué)號(hào)、語文成績、數(shù)學(xué)成績、英語成績、物理成績、化學(xué)成績、總成績和平均成績。該系統(tǒng)提供增加學(xué)生信息的操作界面,包括輸入學(xué)號(hào)、學(xué)生姓名以及各科成績。提供修改學(xué)生信息的操作界面,包括修改學(xué)生姓名以及各科成績。提供學(xué)生信息組合查詢界面,查詢項(xiàng)包括語文、數(shù)學(xué)、英語、物理、化學(xué)成績,查詢條件為大于等于、等于、小于等于。提供參數(shù)設(shè)置與庫操作界面,包括優(yōu)秀分?jǐn)?shù)線和不及格科目數(shù)的設(shè)置,以及導(dǎo)入樣品數(shù)據(jù)庫的操作界面。提供年級(jí)學(xué)生成績列表、班級(jí)學(xué)生成績列表、各種查詢結(jié)果列表的顯示,包括學(xué)號(hào)、姓名、各科成績、總成績、平均成績;顯示中對于不及格或優(yōu)秀的分?jǐn)?shù)用不同顏色顯示,對于成績不達(dá)標(biāo)的學(xué)生的姓名用不同顏色顯示,加以區(qū)分。我們在這里將以該系統(tǒng)的一些實(shí)例為分析對象進(jìn)行分析。實(shí)例分析有一個(gè)學(xué)生標(biāo)準(zhǔn)化考試批閱試卷,產(chǎn)生成績報(bào)告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個(gè)字符的記錄組成,所有記錄分為三組。如圖3.1所示:圖3.1學(xué)生信息輸入文件標(biāo)題:這一組只有一個(gè)記錄,其內(nèi)容為輸出成績報(bào)告的名字。試卷各題標(biāo)準(zhǔn)答案記錄:每個(gè)記錄均在第80個(gè)字符處標(biāo)上數(shù)字"2"。該組的第一個(gè)記錄的第1至第3個(gè)字符為題目編號(hào)(取值為1至999)。第10至第59個(gè)字符給出第1至第50題的答案(每個(gè)合法字符表示一個(gè)答案)。該組的第2,第3……個(gè)記錄相應(yīng)為第51至第100,第101至第150,…題的答案。每個(gè)學(xué)生的答卷描述:該組中每個(gè)記錄的第80個(gè)字符均為數(shù)字"3"。每個(gè)學(xué)生的答卷在若干個(gè)記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生姓名及學(xué)號(hào),第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數(shù)超過50,則第2,第3……紀(jì)錄分別給出他的第51至第100,第101至第150……題的解答。然后是學(xué)生乙的答卷記錄。學(xué)生人數(shù)不超過200,試題數(shù)不超過999。程序的輸出有4個(gè)報(bào)告:(a)按學(xué)生學(xué)號(hào)排列成績單,列出每個(gè)學(xué)生的成績、名次。(b)按學(xué)生成績排序的成績單。(c)平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報(bào)告。(d)試題分析報(bào)告。按試題號(hào)排序,列出各題學(xué)生答對的百分比。分別考慮輸入條件和輸出條件,以及邊界條件。給出下表所示的輸入條件及相應(yīng)的測試用例如表3.2。表3.2輸入條件及測試用例輸入條件測試用例標(biāo)題沒有標(biāo)題標(biāo)題只有一個(gè)字符標(biāo)題有80個(gè)字符試題數(shù)試題數(shù)為1試題數(shù)為50試題數(shù)為51試題數(shù)為100試題數(shù)為0標(biāo)準(zhǔn)答案記錄沒有標(biāo)準(zhǔn)答案記錄,有標(biāo)題標(biāo)準(zhǔn)答案記錄多于一個(gè)標(biāo)準(zhǔn)答案記錄少一個(gè)學(xué)生人數(shù)0個(gè)學(xué)生1個(gè)學(xué)生200個(gè)學(xué)生201個(gè)學(xué)生學(xué)生答題某學(xué)生只有一個(gè)回答記錄,但有兩個(gè)標(biāo)準(zhǔn)答案記錄該學(xué)生是文件中的第一個(gè)學(xué)生該學(xué)生是文件中的最后一個(gè)學(xué)生(記錄數(shù)出錯(cuò)的學(xué)生)學(xué)生答題某學(xué)生有兩個(gè)回答記錄,但只有一個(gè)標(biāo)準(zhǔn)答案記錄該學(xué)生是文件中的第一個(gè)學(xué)生(記錄數(shù)出錯(cuò)的學(xué)生)該學(xué)生是文件中的最后一個(gè)學(xué)生學(xué)生成績所有學(xué)生的成績都相等每個(gè)學(xué)生的成績都不相等部分學(xué)生的成績相同(檢查是否能按成績正確排名次)有個(gè)學(xué)生0分有個(gè)學(xué)生100分輸出條件及相應(yīng)的測試用例表如表3.3。表3.3輸出條件及測試用例輸出條件測試用例輸出報(bào)告a,b有個(gè)學(xué)生的學(xué)號(hào)最?。z查排序號(hào)排序是否正確)有個(gè)學(xué)生的學(xué)號(hào)最大(檢查排序號(hào)排序是否正確)適當(dāng)?shù)膶W(xué)生人數(shù),使產(chǎn)生的報(bào)告剛好滿一頁(檢查打印頁數(shù))學(xué)生人數(shù)比剛才多出一個(gè)(檢查打印換頁)輸出報(bào)告c平均成績100平均成績0標(biāo)準(zhǔn)偏差為最大值(有一半的0分,其他一百分)標(biāo)準(zhǔn)偏差為0(所有成績相等)輸出報(bào)告d所有學(xué)生都答對第一題所有學(xué)生都答錯(cuò)第一題所有學(xué)生都答對最后一題所有學(xué)生都答錯(cuò)最后一題選擇適當(dāng)?shù)脑囶}數(shù),使第四個(gè)報(bào)告剛好打滿一頁試題數(shù)比剛才多1,使報(bào)告打滿一頁后,剛好剩下一題未打?qū)Ρ鞠到y(tǒng)的一個(gè)模塊—增加學(xué)生信息模塊的功能測試。其規(guī)格說明如下:一條完整的學(xué)生信息包括學(xué)生的學(xué)號(hào)、姓名、語文成績、數(shù)學(xué)成績、英語成績、物理成績和化學(xué)成績。學(xué)號(hào)是學(xué)生信息的關(guān)鍵字,不能重復(fù)。每個(gè)班級(jí)的學(xué)號(hào)范圍和學(xué)號(hào)的數(shù)據(jù)要求見數(shù)據(jù)字典。增加重復(fù)學(xué)號(hào)和非數(shù)據(jù)字典要求的學(xué)號(hào)時(shí),系統(tǒng)應(yīng)給出提示。增加信息時(shí),學(xué)號(hào)是必須輸入的,否則,系統(tǒng)應(yīng)給出提示。增加信息時(shí),姓名是必須輸入的,否則,系統(tǒng)應(yīng)給出提示。姓名的數(shù)據(jù)要求見數(shù)據(jù)字典。語文成績、數(shù)學(xué)成績、英語成績、物理成績和化學(xué)成績的數(shù)據(jù)要求見數(shù)據(jù)字典。其數(shù)據(jù)字典如表3.4。表3.4學(xué)生信息管理系統(tǒng)數(shù)據(jù)字典序號(hào)數(shù)據(jù)含義輸入(I)輸出(O)常數(shù)(C)類型范圍區(qū)間約束1姓名I/O文本字母或漢字長度[1,12]個(gè)半角字符2各科成績I/O數(shù)字,單精度型[0,100]至多輸入一位小數(shù)3總成績O數(shù)字,單精度型[0,20000]保留小數(shù)點(diǎn)后一位4平均成績O數(shù)字,單精度型[0,100]四舍五入后保留小數(shù)點(diǎn)后兩位5班級(jí)及格人數(shù)O數(shù)字,長整型[0,40]6班級(jí)優(yōu)秀人數(shù)O數(shù)字,長整型[0,40]7年級(jí)及格人數(shù)O數(shù)字,長整型[0,200]8年級(jí)優(yōu)秀人數(shù)O數(shù)字,長整型[0,200]9優(yōu)秀分?jǐn)?shù)線I數(shù)字,長整型[80,90]缺省值為8510及格分?jǐn)?shù)線C數(shù)字,長整型6011年級(jí)人數(shù)O數(shù)字,長整型[0,200]12一班學(xué)生學(xué)號(hào)I/O數(shù)字,長整型[1,40]13二班學(xué)生學(xué)號(hào)I/O數(shù)字,長整型[41,80]14三班學(xué)生學(xué)號(hào)I/O數(shù)字,長整型[81,120]15四班學(xué)生學(xué)號(hào)I/O數(shù)字,長整型[121,160]16五班學(xué)生學(xué)號(hào)I/O數(shù)字,長整型[161,200]17成績不達(dá)標(biāo)科目數(shù)I數(shù)字,長整型[2,4]缺省值為218查詢條件分?jǐn)?shù)值I數(shù)字,單精度型[0,100]至多輸入一位小數(shù)而根據(jù)規(guī)格說明書及數(shù)據(jù)字典建立該模塊的測試用例如表3.5和3.6。表3.5依據(jù)數(shù)據(jù)字典建立的測試用例1用例ID號(hào)2007-04-XSGL-002測試方法手工設(shè)計(jì)人楊雪峰日期2007.04.18測試目的測試班級(jí)學(xué)生成績管理(增加學(xué)生信息)功能是否達(dá)到軟件規(guī)格說明書中的要求前提條件系統(tǒng)中已按照默認(rèn)方式安裝好該軟件測試過程順序測試步驟與數(shù)據(jù)輸入描述期望結(jié)果實(shí)際結(jié)果判定結(jié)果1選擇一班,點(diǎn)擊“顯示”按鈕點(diǎn)擊“新增記錄”在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“39”,姓名為“測試”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入1、2、3、4、5顯示一般所有學(xué)生信息。彈出學(xué)生信息錄入窗口增加學(xué)號(hào)為“39”、姓名為“測試”、語文、數(shù)學(xué)、物理、化學(xué)、英語分?jǐn)?shù)分別為1、2、3、4、5的學(xué)生信息能顯示一班所有學(xué)生信息能彈出學(xué)生信息錄入窗口,默認(rèn)學(xué)號(hào)顯示為1能增加學(xué)號(hào)為39姓名為測試的學(xué)生,但是成績顯示為語文“1”、數(shù)學(xué)“2”、物理“4”、化學(xué)“5”、英語“3”不通過2在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“39”,姓名為“測試A”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入“100”、“85”、“60”、“59.5”、“0”顯示“添加的學(xué)號(hào)重復(fù)”能顯示“添加的學(xué)號(hào)重復(fù)”通過3在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“40”,姓名為“測試”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入“105”、“80”、“0”、“0.5”、“0”顯示“語文成績必須為0~100之間的實(shí)數(shù)”能顯示“語文成績必須為0~100之間的實(shí)數(shù)”通過4在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“41”,姓名為“測試B”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入“0”、“0”、“0”、“0”、“0”顯示“一班學(xué)號(hào)在1~40之間”能顯示“一班學(xué)號(hào)在1~40之間”通過5在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“0”,姓名為“測試C”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入“0”、“0”、“0”、“0”、“0”顯示“請輸入一個(gè)1~200之間的整數(shù)”能顯示“請輸入一個(gè)1~200之間的整數(shù)”通過測試人日期表3.6依據(jù)數(shù)據(jù)字典建立的測試用例2用例ID號(hào)2007-04-XSGL-002測試方法手工設(shè)計(jì)人楊雪峰日期2007.04.18測試目的測試班級(jí)學(xué)生成績管理(增加學(xué)生信息)功能是否達(dá)到軟件規(guī)格說明書中的要求前提條件系統(tǒng)中已按照默認(rèn)方式安裝好該軟件測試過程順序測試步驟與數(shù)據(jù)輸入描述期望結(jié)果實(shí)際結(jié)果判定結(jié)果1在彈出學(xué)生信息錄入窗口中錄入學(xué)號(hào)為“40”,姓名為“測試”,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次錄入“100”、“100”、“100”、“100”、“100”增加學(xué)號(hào)為“40”、姓名為“測試”、語文、數(shù)學(xué)、物理、化學(xué)、英語分?jǐn)?shù)分別為“100”、“100”、“100”、“100”、“100”的學(xué)生信息能增加學(xué)號(hào)為40姓名為測試的學(xué)生,成績顯示為語文“100”、數(shù)學(xué)“100”、物理“100”、化學(xué)“100”、英語“100通過2在刪除23號(hào)學(xué)生后增加學(xué)號(hào)為23的“張海鋒”記錄,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次輸入0.1、0.2、0.3、0.4、0.5增加學(xué)號(hào)為“23”、姓名為“張海鋒”、語文、數(shù)學(xué)、物理、化學(xué)、英語分?jǐn)?shù)分別為0.1、0.2、0.3、0.4、0.5的學(xué)生信息能增加學(xué)號(hào)為“23”、姓名為“張海鋒”的學(xué)生,但是語文、數(shù)學(xué)、物理、化學(xué)、英語分?jǐn)?shù)分別為0.1、0.2、0.4、0.5、0.3的學(xué)生信息不通過3在清空二班數(shù)據(jù)后,增加學(xué)號(hào)為41的測試B,語文、數(shù)學(xué)、物理、化學(xué)、英語的分?jǐn)?shù)依次輸入1、2、3、4、5增加學(xué)號(hào)為“41”、姓名為“測試B”、語文、數(shù)學(xué)、物理、化學(xué)、英語分?jǐn)?shù)分別為1、2、3、4、5的學(xué)生信息能增加學(xué)號(hào)為41姓名為測試B的學(xué)生,但是成績顯示為語文“1”、數(shù)學(xué)“2”、物理“4”、化學(xué)“5”、英語“3”不通過4重新恢復(fù)樣品數(shù)據(jù)庫,在一班中點(diǎn)擊新增學(xué)生信息彈出信息錄入窗口,其中學(xué)號(hào)應(yīng)該默認(rèn)為未被占用的學(xué)號(hào)默認(rèn)學(xué)號(hào)始終為1不通過測試人日期在本模塊的測試當(dāng)中必須特別考慮數(shù)據(jù)字典中所要求的姓名,學(xué)號(hào),總成績,各科成績各個(gè)班級(jí)所要求的取值范圍要特別的注意。其實(shí)也說明了一個(gè)很重要的問題,就是測試的時(shí)候考慮邊界值的情況的話一定要特別的主要規(guī)格說明書中的數(shù)據(jù)字典,對數(shù)據(jù)字典的透徹的分析將是我們討論邊界值測試的一個(gè)重點(diǎn)方面。本模塊的測試很能說數(shù)據(jù)字典對于我們利用邊界值的重要處。下面是本模塊中對于各個(gè)班級(jí)學(xué)生數(shù)的控制要求的測試必須使用的一些測試用例,而它的直接的要求就是來自數(shù)據(jù)字典做出的規(guī)定。例如對于一班學(xué)生學(xué)號(hào)的輸入,如表3.7。表3.7學(xué)號(hào)輸入測試用例輸入文件測試用例一班學(xué)生學(xué)號(hào)學(xué)號(hào)為“1”,學(xué)號(hào)為“39”,學(xué)號(hào)為“40”,學(xué)號(hào)為“41”,學(xué)號(hào)為“20”,邊界值測試方法的運(yùn)用分析邊界值測試方法作為一種測試方法,可以從實(shí)驗(yàn)項(xiàng)目中看到它有極其廣泛的運(yùn)用。但它的使用也有其使用的一般特點(diǎn),具體分析結(jié)果如下:邊界值測試作為一中黑盒測試,它是對等價(jià)劃分的一個(gè)補(bǔ)充,所以說邊界值測試是建立在等價(jià)劃分的基礎(chǔ)上的,邊界值分析使用與等價(jià)類劃分法相同的劃分。在使用邊界值測試方法時(shí)候,要對輸入和輸出的邊界值情況進(jìn)行分別測試,因?yàn)閷τ谲浖斎敕秶倪吔绮⒉豢偸悄艽磔敵龇秶倪吔缜闆r。在使用邊界值測試方法的過程當(dāng)中,要求我們在測試的過程中對軟件的數(shù)據(jù)字典必須有很清楚的了解,因?yàn)樵跀?shù)據(jù)字典中已經(jīng)詳細(xì)的規(guī)定了一些對于軟件輸入和輸出的范圍規(guī)定,而那些范圍的邊界情況是我們在軟件測試中必須要關(guān)注的重點(diǎn)。在使用邊界值法進(jìn)行測試的過程中,根據(jù)工程時(shí)間我們對與一個(gè)等價(jià)域的測試要考慮至少包括七個(gè)點(diǎn):既兩個(gè)邊界點(diǎn),小于邊界下界點(diǎn),大于邊界下界點(diǎn),小于邊界上界點(diǎn),大于邊界上界的點(diǎn),最后現(xiàn)在一個(gè)非邊界點(diǎn)測試。在邊界值測試過程當(dāng)中有時(shí)我們會(huì)發(fā)現(xiàn)某些邊界條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界條件或子邊界條件。如果程序用了一個(gè)內(nèi)部結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測試用例。邊界值測試方法的分析結(jié)論由于軟件需求的不完整性、軟件邏輯路徑的組合性、輸入數(shù)據(jù)的大量性及結(jié)果多樣性等因素,哪怕是一個(gè)極其簡單的程序,要想窮盡所有邏輯路徑,所有輸入數(shù)據(jù)和驗(yàn)證所有結(jié)果是非常困難的一件事情。所以就要求我們對軟件的測試過程中能尋找出一個(gè)使用有限的邏輯路徑而達(dá)到較大的覆蓋度,并尋找出軟件的最多的Bug。在軟件測試中,對于軟件的缺陷同樣存在著80-20原則,80%
的軟件缺陷常常生存在軟件
20%
的空間里。這個(gè)原則告訴我們,如果你想使軟件測試有效地話,記住常常光臨其高危多發(fā)
“
地段
”
。在那里發(fā)現(xiàn)軟件缺陷的可能性會(huì)大的多。這一原則對于軟件測試人員提高測試效率及缺陷發(fā)現(xiàn)率有著重大的意義。而根據(jù)測試人員長期的測試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。從而可以是我們能夠使用最少的測試用例尋找出軟件更多的缺陷。所以說邊界值測試方法是軟件測試方面理論研究與實(shí)踐得到很好結(jié)合的一種測試方法??偨Y(jié)軟件測試作為一門年輕的科學(xué),還處于研究的起步階段。目前雖然軟件產(chǎn)業(yè)內(nèi)各方對軟件測試越來越關(guān)注,但軟件測試過程優(yōu)化理論大部分仍然停留在紙上,人們發(fā)現(xiàn)很多的理論很難在實(shí)踐中得到運(yùn)用。所以現(xiàn)在人們對軟件測試的研究很多都面向那些能在實(shí)際項(xiàng)目中得到很好實(shí)踐的理論的研究。邊界值測試方法作為一個(gè)理論研究與實(shí)際運(yùn)用得到很好結(jié)合的軟件測試方法,它為我們其他軟件測試?yán)碚摰难芯拷o出了很好的經(jīng)驗(yàn)。讓軟件測試?yán)碚撆c測試實(shí)際能得到同步的發(fā)展,最終促進(jìn)軟件產(chǎn)品質(zhì)量的提高。本論文以“邊界測試方法研究及應(yīng)用”為題,主要是探討了邊界測試方法的一些理論,并結(jié)合邊界測試?yán)碚摲椒ㄑ芯咳绾卧趯?shí)際的項(xiàng)目中使用邊界測試方法,特別是如何建立測試案例,并對比了邊界測試方法與其他的測試方法及測試?yán)碚撚泻蝺?yōu)點(diǎn)使其理論研究能夠與實(shí)際的運(yùn)用結(jié)合得如此的緊密。致謝在完成整個(gè)畢業(yè)設(shè)計(jì)期間,得到了很多老師和同學(xué)的幫助與指導(dǎo),因?yàn)橛辛怂麄兊闹笇?dǎo)幫助才能使得這篇論文最終能夠順利的完成。在這里對他們表示由衷的感謝。特別要提出致謝的是我的指導(dǎo)老師xx老師,如果沒有他的指導(dǎo),這篇論文也不可能按期的完成。此外還要感謝同事xx,在我論文實(shí)習(xí)期間給予了我很大的幫助。在本篇論文完成之際,我要對他們表示衷心的感謝。在以后的工作學(xué)習(xí)中,我也要再接再厲,不辜負(fù)他們對我的期望。參考文獻(xiàn)[1]古樂,史九林.軟件測試技術(shù)概論[M].北京:清華大學(xué)出版社,2004:12-50.[2]JohnD.McGregorDavidA.Sykes.面向?qū)ο蟮能浖y試[M].北京:機(jī)械工業(yè)出版社,2002:20-38.[3]RogerS.Pressman.軟件工程-實(shí)踐者的研究方法[M].北京:機(jī)械工業(yè)出版社,2002:333-341.[4]Vince.測試用例設(shè)計(jì)白皮書[EB/OL]./vincetest,2003.[5]GlenfordJ.Myers著.TheArtofSoftwaretesting[M].JohnWiley&Sons,Inc,2004:9-11.[6]WilliamE.Perry.軟件測試的有效方法[M].北京:機(jī)械工業(yè)出版社,2002.[7]RonPatton.軟件測試[M].北京:機(jī)械工業(yè)出版社,2002.[8]CSDN.軟件測試的主要內(nèi)容與常用方法[EB/OL].,2005.[9]Tag.邊界值分析法實(shí)例[EB/OL].,2004.[10]RonPatton著.SoftwareTesting[M].SamsPublishing,2006:30-48.[11]Advin.軟件測試的基礎(chǔ)知識(shí)概要介紹[EB/OL].,2006.[12]張雪萍,張猛,莊雷.面向?qū)ο筌浖y試探討[J].信息工程大學(xué)學(xué)報(bào),2003,3(3):72-75.[13]VoasJM,MillerK.Softwaretestability:thenewverification.IEEESoftware,1995:17-28.[14]微軟公司.微軟公司軟件測試?yán)碚摵蜏y試實(shí)踐[EB/OL]./china/CTC/Newsletter/06/ctc2.htm,2004.[15]朱少明.軟件測試演義-中高級(jí)系列[EB/OL].,2005.[16]陳會(huì)霞,周利華.關(guān)于軟件測試的淺議[D].西安:西安電子科技大學(xué),2005.[17]RandallW.Rice,CSQA,CST,CSTM.ThingsITellNewTesters[EB/OL]./,2005.[18]HarryRobinson.PredictingtheFutureofTesting[EB/OL].,2005.[19]鄧紅艷,武芳,趙敬東,李永紅,趙劍峰.GIS軟件測試方法[D].河南鄭州:信息工程大學(xué)測繪學(xué)院,2005.[20]劉菲菲,單錦輝,姜瑛.軟件的易測試性分析方法評述[D].北京:北京大學(xué)軟件研究所,2005.附錄A.軟件測試術(shù)語AcceptanceTesting--可接受性測試actualoutcome--實(shí)際結(jié)果adHocTesting--隨機(jī)測試algorithm--算法algorithmanalysis--算法分析 alphatesting--Alpha測試analysis--分析anomaly--異常applicationsoftware--應(yīng)用軟件architecture--構(gòu)架ASQ--自動(dòng)化軟件質(zhì)量(AutomatedSoftwareQuality)assertion--斷言assertionchecking--斷言檢查audit--審計(jì)audittrail--審計(jì)跟蹤automatedtesting--自動(dòng)化測試Backus-NaurForm--BNF范式baseline--基線basicblock--基本塊basistestset--基本測試集behaviour--行為benchmark--標(biāo)桿/指標(biāo)/基準(zhǔn)betatesting--Beta測試big-bangtesting--大錘測試/一次性集成測試blackboxtesting--黑盒測試
。bottom-uptesting--由低向上測試boundaryvalue--邊界值boundaryvaluecoverage--邊界值覆蓋boundaryvaluetesting--邊界值測試boundaryvalueanalysis--邊界值分析branch--分支branchcondition--分支條件branchconditioncombinationcoverage--分支條件組合覆蓋branchconditioncombinationtesting--分支條件組合測試branchconditioncoverage--分支條件覆蓋branchconditiontesting--分支條件測試branchcoverage--分支覆蓋branchoutcome--分支結(jié)果branchpoint--分支點(diǎn)branchtesting--分支測試breadthtesting--廣度測試bug--缺陷capture/playbacktool--捕獲/回放工具Capture/ReplayTool--捕獲/回放工具CASE--計(jì)算機(jī)輔助軟件工程(computeraidedsoftwareengineering)CAST--計(jì)算機(jī)輔助測試cause-effectgraph--因果圖certification--證明changecontrol--變更控制codeaudit--代碼審計(jì)codeCoverage--代碼覆蓋率codeInspection--代碼檢視codeWalkthrough--代碼走讀code-basedtesting--基于代碼的測試codingstandards--編程規(guī)范compatibilityTesting--兼容性測試completepathtesting--完全路徑測試completeness--完整性complexity--復(fù)雜性component--組件componentTesting--組件測試computationdatause--計(jì)算數(shù)據(jù)使用computersystemsecurity--計(jì)算機(jī)系統(tǒng)安全性condition--條件conditioncoverage--條件覆蓋conditionoutcome--條件結(jié)果configurationcontrol--配置控制configurationmanagement--配置管理conformancecriterion--一致性標(biāo)準(zhǔn)conformanceTesting--一致性測試consistency--一致性consistencychecker--一致性檢查器controlflow--控制流controlflowgraph--控制流圖conversiontesting--轉(zhuǎn)換測試correctivemaintenance--故障檢修correctness--正確性correctness--正確性coverage--覆蓋率coverageitem--覆蓋項(xiàng)crash--崩潰criticality--關(guān)鍵性criticalityanalysis--關(guān)鍵性分析cycloramiccomplexity--循環(huán)復(fù)雜度datacorruption--數(shù)據(jù)污染datadefinition--數(shù)據(jù)定義datadefinitionC-usecoverage--數(shù)據(jù)定義C-use覆蓋datadefinitionC-usepair--數(shù)據(jù)定義C-use使用對datadefinitionP-usecoverage--數(shù)據(jù)定義P-use覆蓋datadefinitionP-usepair--數(shù)據(jù)定義P-use使用對datadefinition-usecoverage--數(shù)據(jù)定義使用覆蓋datadefinition-usepair--數(shù)據(jù)定義使用對datadefinition-usetesting--數(shù)據(jù)定義使用測試datadictionary--數(shù)據(jù)字典dataflowanalysis--數(shù)據(jù)流分析dataflowcoverage--數(shù)據(jù)流覆蓋dataflowdiagram--數(shù)據(jù)流圖dataflowtesting--數(shù)據(jù)流測試dataintegrity--數(shù)據(jù)完整性datause--數(shù)據(jù)使用datavalidation--數(shù)據(jù)確認(rèn)deadcode--死代碼Debugging--調(diào)試decision--判定Decisioncondition--判定條件decisioncoverage--判定覆蓋decisionoutcome--判定結(jié)果decisiontable--判定表DepthTesting--深度測試designofexperiments--實(shí)驗(yàn)設(shè)計(jì)design-basedtesting--基于設(shè)計(jì)的測試deskchecking--桌面檢查diagnostic--診斷dirtytesting--骯臟測試disasterrecovery--災(zāi)難恢復(fù)documentationtesting--文檔測試domain--域domaintesting--域測試dynamicanalysis--動(dòng)態(tài)分析DynamicTesting--動(dòng)態(tài)測試embeddedsoftware--嵌入式軟件emulator--仿真End-to-Endtesting--端到端測試entityrelationshipdiagram--實(shí)體關(guān)系圖entrypoint--入口點(diǎn)EquivalenceClass--等價(jià)類equivalencepartitioncoverage--等價(jià)劃分覆蓋equivalencepartitiontesting--等價(jià)劃分測試EquivalencePartitioning--等價(jià)劃分error--錯(cuò)誤errorguessing--錯(cuò)誤猜測errorseeding--錯(cuò)誤播種/錯(cuò)誤插值exception--異常/例外executablestatement--可執(zhí)行語句ExhaustiveTesting--窮盡測試exitpoint--出口點(diǎn)expectedoutcome--期望結(jié)果failure--失效fault--故障feasiblepath--可達(dá)路徑featuretesting--特性測試FMEA--失效模型效果分析(FailureModesandEffectsAnalysis)FMECA--失效模型效果關(guān)鍵性分析(FailureModesandEffectsCriticalityAnalysis)FMEA的一個(gè)擴(kuò)展,它分析了失效結(jié)果的嚴(yán)重性FTA--故障樹分析(FaultTreeAnalysis)functionaldecomposition--功能分解FunctionalSpecification--功能規(guī)格說明書FunctionalTesting--功能測試glassboxtesting--玻璃盒測試IEEE--美國電子與電器工程師學(xué)會(huì)(InstituteofElectricalandElectronicEngineers)incrementaltesting--漸增測試infeasiblepath--不可達(dá)路徑inputdomain--輸入域inspection--檢視installabilitytesting--可安裝性測試instrumentation--插裝instrumenter--插裝器IntegrationTesting--集成測試interface--接口interfaceanalysis--接口分析interfacetesting--接口測試invalidinputs--無效輸入isolationtesting--孤立測試Job--工作jobcontrollanguage--工作控制語言LCSAJ--線性代碼順序和跳轉(zhuǎn)(LinearCodeSequenceAndJump)LCSAJcoverage--LCSAJ覆蓋LCSAJtesting--LCSAJ測試LoadTesting--負(fù)載測試logicanalysis--邏輯分析logic-coveragetesting--邏輯覆蓋測試maintainability--可維護(hù)性maintainabilitytesting--可維護(hù)性測試modifiedcondition/decisioncoverage--修改條件/判定覆蓋modifiedcondition/decisiontesting--修改條件/判定測試MonkeyTesting--跳躍式測試MTBF--平均失效間隔實(shí)際(meantimebetweenfailures)MTTF--平均失效時(shí)間(meantimetofailure)MTTR--平均修復(fù)時(shí)間(meantimetorepair)multipleconditioncoverage--多條件覆蓋mutationanalysis--變體分析NegativeTesting--逆向測試/反向測試/負(fù)面測試non-functionalrequirementstesting--非功能性需求測試N-switchcoverage--N切換覆蓋N-switchtesting--N切換測試N-transitions--N轉(zhuǎn)換operationaltesting--可操作性測試outputdomain--輸出域partitiontesting--分類測試path--路徑pathcoverage--路徑覆蓋pathsensitizing--路徑敏感性pathtesting--路徑測試performancetesting--性能測試portabilitytesting--可移植性PositiveTesting--正向測試precondition--預(yù)置條件predicate--謂詞predicatedatause--謂詞數(shù)據(jù)使用programinstrumenter--程序插裝progressivetesting--遞進(jìn)測試pseudo-random--偽隨機(jī)QA--質(zhì)量保證(qualityassurance)QC--質(zhì)量控制(qualityco
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國電信山東煙臺(tái)分公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國安全生產(chǎn)科學(xué)研究院第一批公開招聘補(bǔ)充高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國農(nóng)業(yè)科學(xué)院蜜蜂研究所資源昆蟲保護(hù)團(tuán)隊(duì)招聘科研助理高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025東方航空公司江西分公司招聘地面服務(wù)部特種車輛司機(jī)1名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年福建南平浦城縣事業(yè)單位招聘56人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年浙江省杭州市部分市屬事業(yè)單位招聘71人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年安徽肥西縣部分單位招聘人員擬聘人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年江蘇事業(yè)單位判斷模塊突破歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 古馬隆樹脂行業(yè)相關(guān)投資計(jì)劃提議
- 音樂節(jié)特邀舞蹈演員聘用協(xié)議
- 護(hù)士血標(biāo)本采集不合格原因分析品管圈魚骨圖柏拉圖
- 集裝箱運(yùn)輸駕駛員安全操作規(guī)程范文
- 內(nèi)分泌科糖尿病“一病一品”
- 年會(huì)小游戲萬能模板
- 學(xué)校關(guān)于加強(qiáng)校園防性侵害防欺凌和暴力工作的實(shí)施方案6篇
- 解除合同的補(bǔ)充協(xié)議
- 2023年中醫(yī)養(yǎng)生之藥膳食療考試試題
- 《醫(yī)學(xué)人文課件》
- 四川省成都市龍泉驛區(qū)2023-2024學(xué)年三年級(jí)數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含答案
- 高空除銹刷漆施工方案模板
- 鍋爐控制器modbus協(xié)議支持說明
評論
0/150
提交評論