【正文】
ElseIf optCheck(2).Value = True Then 39。This is check if your query by is null If Trim() = Then MsgBox Please input bookAuthor name in order to query !, vbInformation + vbOKOnly 39。Reference function to ger data Exit Sub End If StrSql = select * from tBooks where cBooksAuthor like39。% amp。 Trim() amp。 %39。 GetData StrSql 39。Reference to get data If = 0 Then MsgBox This author do not exist,please input another author or choose another query way!, vbInformation + vbOKOnly = EnabledSet 39。Reference function to set checkbox enabled CheckConnect 39。Reference function if objrs is open then close it optCheck(2).Value = 0 = False Exit Sub End If optCheck(2).Value = False ElseIf optCheck(3).Value = True Then 39。This is check if your query is null If Trim() = Then MsgBox Please input Publisher name in order to query !, vbInformation + vbOKOnly 39。Reference function to get data Exit Sub End If StrSql = select * from tBooks where cBooksPublisher like 39。% amp。 Trim(txtBookPublisher) amp。 %39。 GetData StrSql 39。Reference function to get data If = 0 Then MsgBox This publisher do not exist,please input another publisher or choose another query way!, vbInformation + vbOKOnly = optCheck(3).Value = False EnabledSet 39。Reference function to set checkbox enabled CheckConnect 39。Reference function if objrs is open then close it = False Exit Sub End If optCheck(3).Value = False Else Exit Sub 39。If you don39。t choice query then exit sub End If Set = objRs 39。change columns name (0).Caption = 圖書(shū)編號(hào) (1).Caption = 圖書(shū)名稱(chēng) (2).Caption = ISBN號(hào) (3).Caption = 作者 (4).Caption = 出版社 (5).Caption = 類(lèi)別 (6).Caption = 價(jià)格 (7).Caption = 藏書(shū)數(shù)量 (8).Caption = 庫(kù)存數(shù)量 39。Bond data to text = (0).Value = (1).Value = (3).Value = (4).Value End If = False EnabledSet 39。Reference function to set checkbox enabled End SubPrivate Sub Form_Activate() FormMiddle frmBookQuery 39。Reference function to make form in MDIForm39。mddileEnd Sub第六章 測(cè)試分析報(bào)告有兩種基本方法可以用來(lái)標(biāo)識(shí)測(cè)試用例,即功能測(cè)試(黑盒測(cè)試)和結(jié)構(gòu)測(cè)試(白盒測(cè)試)。本次測(cè)試我主要采用了功能測(cè)試。功能測(cè)試的基本觀點(diǎn)是,任何程序都可以看作是將輸入定義域取值映射到輸出值域的函數(shù)。 測(cè)試計(jì)劃和要點(diǎn)軟件測(cè)試的本質(zhì)是針對(duì)要測(cè)試的內(nèi)容確定一組測(cè)試用例。在討論之前,我先把要測(cè)試各個(gè)模塊的計(jì)劃和要點(diǎn)列出: 主模塊測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接情況:正常情況,數(shù)據(jù)庫(kù)文件缺少,外部系統(tǒng)異常。系統(tǒng)設(shè)置獲?。赫G闆r,外部系統(tǒng)異常。對(duì)用戶輸入的響應(yīng):合法輸入,能夠正常調(diào)用子模塊; 非法輸入,系統(tǒng)能否辨別,并作出響應(yīng)(提出警告); 子模塊的異常狀況,系統(tǒng)能否及時(shí)做出響應(yīng)。 借閱模塊測(cè)試要點(diǎn)模塊正常運(yùn)行流程用戶輸入數(shù)據(jù)檢查(學(xué)生學(xué)號(hào)、圖書(shū)書(shū)號(hào)),包括數(shù)據(jù)合理性檢查,以及合法性檢查數(shù)據(jù)庫(kù)操作數(shù)據(jù)庫(kù)連接異常時(shí)的響應(yīng)情況 學(xué)生查詢模塊測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常時(shí)輸入合理合法參數(shù)輸入?yún)?shù)不合理輸入?yún)?shù)不合法數(shù)據(jù)庫(kù)連接異常;數(shù)據(jù)庫(kù)數(shù)據(jù)異常(讀者姓名為空) 圖書(shū)查詢模塊測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)數(shù)據(jù)正常輸入的書(shū)號(hào)合理合法輸入的書(shū)號(hào)不合理輸入的書(shū)號(hào)不合法數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異常 圖書(shū)歸還模塊測(cè)試要點(diǎn)模塊正常工作流程對(duì)輸入的查驗(yàn),包括輸入值的合法性與合理性檢驗(yàn)數(shù)據(jù)庫(kù)連接異常能否做出適當(dāng)處理數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理 測(cè)試用例測(cè)試用例是為了特定目的(如考察特定程序路徑或驗(yàn)證是否符合特定的需求)而設(shè)計(jì)的測(cè)試數(shù)據(jù)及與之相關(guān)的測(cè)試規(guī)程的一個(gè)特定的集合,或稱(chēng)為有效地發(fā)現(xiàn)軟件缺陷的最小測(cè)試執(zhí)行單元。根據(jù)上一節(jié)給出的測(cè)試要點(diǎn),又因?yàn)闇y(cè)試是不可能窮舉的。所以我們采用等價(jià)劃分法來(lái)進(jìn)行對(duì)圖書(shū)管理系統(tǒng)的測(cè)試。它將不能窮舉的測(cè)試過(guò)程進(jìn)行合理分類(lèi),從而保證設(shè)計(jì)出來(lái)的測(cè)試用例具有代表性和完整性。 主模塊測(cè)試用例表61 主模塊測(cè)試用例字段名稱(chēng)描 述標(biāo)識(shí)符C1測(cè)試項(xiàng)主模塊中的“系統(tǒng)”菜單欄,“業(yè)務(wù)”菜單欄的功能測(cè)試輸入標(biāo)準(zhǔn),沒(méi)有任何輸入字符,點(diǎn)擊相應(yīng)的菜單欄項(xiàng)目。,打開(kāi)主模塊。輸出標(biāo)準(zhǔn),單擊“系統(tǒng)”|“退出”命令,能正常退出,無(wú)提示信息。,未做任何操作,單擊“系統(tǒng)”|“退出”命令,能正常退出,無(wú)提示信息。,做相關(guān)的增刪或修改操作,未保存,單擊“系統(tǒng)”|“退出”命令,提示“修改信息未保存,保存修改嗎?”單擊“Yes”,保存修改,正常退出,單擊“No”,不保存修改,并退出。 借閱模塊測(cè)試用例表62 借閱模塊測(cè)試用例字段名稱(chēng)描 述標(biāo)識(shí)符C2測(cè)試項(xiàng)借閱模塊的功能測(cè)試輸入標(biāo)準(zhǔn),沒(méi)有任何輸入字符,點(diǎn)擊相應(yīng)的項(xiàng)目。、圖書(shū)號(hào)、借閱號(hào),點(diǎn)擊“登記”。、圖書(shū)號(hào)、借閱號(hào),點(diǎn)擊“登記”。輸出標(biāo)準(zhǔn),單擊 “退出”命令,能正常退出,無(wú)提示信息。,做相關(guān)的“借出”操作,未保存,單擊 “退出”命令,提示“修改信息未保存,保存修改嗎?”單擊“Yes”,保存修改,正常退出,單擊“No”,不保存修改,并退出。 學(xué)生查詢模塊測(cè)試用例表63 學(xué)生查詢模塊測(cè)試用例字段名稱(chēng)描 述標(biāo)識(shí)符C3測(cè)試項(xiàng)學(xué)生查詢模塊的功能測(cè)試輸入標(biāo)準(zhǔn),沒(méi)有任何輸入字符,點(diǎn)擊相應(yīng)的項(xiàng)目。、姓名,點(diǎn)擊“確定”。、姓名,點(diǎn)擊“確定”?!鞍葱彰樵儭眴芜x時(shí),輸入學(xué)號(hào),點(diǎn)擊“確定”?!鞍磳W(xué)號(hào)查詢”單選時(shí),輸入姓名,點(diǎn)擊“確定”。輸出標(biāo)準(zhǔn),單擊 “退出”命令,能正常退出,無(wú)提示信息。 圖書(shū)查詢模塊測(cè)試用例表64 圖書(shū)查詢模塊測(cè)試用例字段名稱(chēng)描 述標(biāo)識(shí)符C4測(cè)試項(xiàng)圖書(shū)查詢模塊的功能測(cè)試輸入標(biāo)準(zhǔn),沒(méi)有任何輸入字符,點(diǎn)擊相應(yīng)的項(xiàng)目。、作者、出版社,點(diǎn)擊“確定”。、作者、出版社,點(diǎn)擊“確定”。“按書(shū)名查詢”單選時(shí),輸入作者或出版社,點(diǎn)擊“確定”?!鞍醋髡卟樵儭眴芜x時(shí),輸入書(shū)名或出版社,點(diǎn)擊“確定”?!鞍闯霭嫔绮樵儭眴芜x時(shí),輸入書(shū)名或作者,點(diǎn)擊“確定”。輸出標(biāo)準(zhǔn),單擊 “退出”命令,能正常退出,無(wú)提示信息。 圖書(shū)歸還模塊測(cè)試用例表65 圖書(shū)歸還模塊測(cè)試用例字段名稱(chēng)描 述標(biāo)識(shí)符C5測(cè)試項(xiàng)圖書(shū)歸還模塊的功能測(cè)試輸入標(biāo)準(zhǔn),沒(méi)有任何輸入字符,點(diǎn)擊相應(yīng)的項(xiàng)目。、圖書(shū)號(hào),點(diǎn)擊“登記”。、圖書(shū)號(hào),點(diǎn)擊“登記”。輸出標(biāo)準(zhǔn),單擊 “退出”命令,能正常退出,無(wú)提示信息。,做相關(guān)的“借出”操作,未保存,單擊 “退出”命令,提示“修改信息未保存,保存修改嗎?”單擊“Yes”,保存修改,正常退出,單擊“No”,不保存修改,并退出。 測(cè)試結(jié)果及結(jié)論 測(cè)試的結(jié)果。表66 主模塊測(cè)試結(jié)果標(biāo)識(shí)符C1測(cè)試結(jié)果正常操作無(wú)任何異常處理出現(xiàn)與預(yù)期的偏差無(wú)說(shuō)明的問(wèn)題主模塊通過(guò)了功能測(cè)試表67 借閱模塊測(cè)試結(jié)果標(biāo)識(shí)符C2測(cè)試結(jié)果在輸入借閱號(hào)但是未輸入圖書(shū)號(hào)或?qū)W生學(xué)號(hào)時(shí),系統(tǒng)也能給出正確的借閱成功信息與預(yù)期的偏差應(yīng)該在借閱圖書(shū)時(shí),輸入完整的借閱信息,包括借閱號(hào)、圖書(shū)號(hào)、學(xué)生學(xué)號(hào)和借閱時(shí)間說(shuō)明的問(wèn)題圖書(shū)借閱模塊的借閱功能有待改進(jìn)表68 學(xué)生查詢模塊測(cè)試結(jié)果標(biāo)識(shí)符C3測(cè)試結(jié)果在單選“按姓名查詢”時(shí),輸入學(xué)生學(xué)號(hào)也能查詢到學(xué)生的相關(guān)信息。在單選“按學(xué)號(hào)查詢”時(shí),輸入學(xué)生姓名也能查詢到學(xué)生的相關(guān)信息。與預(yù)期的偏差應(yīng)該在單選按“姓名”或“學(xué)號(hào)”查,只能通過(guò)選中的方式查詢學(xué)生的相關(guān)信息。說(shuō)明的問(wèn)題學(xué)生查詢模塊的借閱功能有待改進(jìn)表69 圖書(shū)查詢模塊測(cè)試結(jié)果標(biāo)識(shí)符C4測(cè)試結(jié)果正常操作無(wú)任何異常處理出現(xiàn)與預(yù)期的偏差無(wú)說(shuō)明的問(wèn)題圖書(shū)查詢模塊通過(guò)了功能測(cè)試表610 圖書(shū)歸還模塊測(cè)試結(jié)果標(biāo)識(shí)符C5測(cè)試結(jié)果正常操作無(wú)任何異常處理出現(xiàn)與預(yù)期的偏差無(wú)說(shuō)明的問(wèn)題圖書(shū)歸還模塊通過(guò)了功能測(cè)試 缺陷分析及改進(jìn)本部分對(duì)上述缺陷和其他收集數(shù)據(jù)進(jìn)行綜合分析 缺陷發(fā)現(xiàn)效率 = 缺陷總數(shù)/執(zhí)行測(cè)試用時(shí) = 2/(5天) = /天用例質(zhì)量 = 缺陷總數(shù)/測(cè)試用例總數(shù) 100% = 2/5 100% = 40%在測(cè)試用例C2和C3中,發(fā)現(xiàn)的缺陷,通過(guò)對(duì)相關(guān)功能編碼的改進(jìn),已經(jīng)使測(cè)試的結(jié)果和預(yù)期達(dá)到的效果一致。 測(cè)試結(jié)論 1. 測(cè)試目標(biāo)完成 2. 測(cè)試已經(jīng)通過(guò) 3. 可以進(jìn)入下一階段項(xiàng)目目標(biāo)總結(jié)這次軟件工程課程設(shè)計(jì),我主要采用Visual Basic作為前臺(tái)開(kāi)發(fā)工具,Microsoft SQL Severe2000作為后臺(tái)數(shù)據(jù)庫(kù),結(jié)合軟件工程設(shè)計(jì)和數(shù)據(jù)庫(kù)編程的有關(guān)知識(shí),開(kāi)發(fā)了這個(gè)圖書(shū)管理系統(tǒng)。通過(guò)這次軟件工程課程設(shè)計(jì),我對(duì)于軟件工程設(shè)計(jì)的相關(guān)步驟和流程有了更深刻的理解,熟悉并掌握了Microsoft SQL ,另一方面,也對(duì)SQL語(yǔ)言作為嵌入式語(yǔ)言的功能有了更深刻的體會(huì)。同時(shí),我也發(fā)現(xiàn)自己對(duì)于軟件工程設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)的知識(shí)掌握的還不夠,設(shè)計(jì)和編程能力還有待于進(jìn)一步提高。這次課程設(shè)計(jì)給了我一個(gè)鍛煉自己,強(qiáng)化專(zhuān)業(yè)知識(shí)的機(jī)會(huì),通過(guò)這次課程設(shè)計(jì),我也得以一窺軟件工程設(shè)計(jì)的廣袤天地,我相信,只要認(rèn)真學(xué)習(xí),多借鑒別人的經(jīng)驗(yàn),多思考,多實(shí)踐,就一定能夠成為一個(gè)合格的軟件設(shè)計(jì)人員,能夠翱翔在軟件開(kāi)發(fā)的天地。同時(shí),在這里感謝我的指導(dǎo)老師趙旭俊老師的悉心指導(dǎo)。參考文獻(xiàn)[1](第四版).北京:清華大學(xué)出版社,2003年12月[2]:清華大學(xué)出版社,2005年7月[3]Paul (第二版).北京:機(jī)械工業(yè)出版社,2006年2月[4]郭勝, :機(jī)械工業(yè)出版社,2004年4月[5] :機(jī)械工業(yè)出版社,2005年3月