【正文】
最嚴重的錯誤是導致程序不能滿足用戶需求的那些錯誤。(2)應該在測試開始之前的相當長時間,就制定出測試計劃。一旦完成了需求模型就可以著手制定測試計劃,在確定了設計模型之后就可以立即開始設計詳細的測試方案。因此,在編碼之前就可以對所有測試工作進行計劃和設計。(3)把Pareto 原理應用于軟件測試。 Pareto 原理指出,測試發(fā)現(xiàn)的錯誤中的 80 %很可能是由程序中 20 %的模塊造成的。當然,問題是怎樣找出這些可疑的模塊并徹底地測試它們。(4)測試應該從“小規(guī)?!遍_始,并逐步進行“大規(guī)?!睖y試。通常,首先重點測試單個程序模塊,進一步的測試重點轉向在集成的模塊簇中尋找錯誤,最后在整個系統(tǒng)中尋找錯誤。 (5)窮舉測試是不可能的。所謂窮舉測試就是把程序所有可能的執(zhí)行路徑都檢查遍的測試。即使是一個中等規(guī)模的程序,其路徑排列數(shù)也是非常大的,由于受時間、人力和資源的限制,在測試過程中不可能執(zhí)行路徑的每一種組合。這就表明,測試只能證明程序中有錯誤,不能證明程序中沒有錯誤。但是,通過精心設計測試方案,有可能充分覆蓋程序邏輯并確保把過程設計中使用的所有條件都檢查一遍。(6)為了達到最佳的測試效果,應該由獨立的第三方來從事測試工作。所謂“最佳效果”是指具有最大可能性發(fā)現(xiàn)錯誤的測試(這是測試的基本目標)。軟件系統(tǒng)的軟件工程師并不是完成全部軟件測試工作的最佳人選( 通常由其主要承擔模塊測試工作)。 測試用例設計 等價類測試用例設計驗證管理員的規(guī)格說明在榮豐酒店管理系統(tǒng)中對管理員的信息的規(guī)定:“用戶名可以是任意數(shù)字、字母或漢字的組合,長度為110個字符或25個漢字。密碼可以為字符和數(shù)字的組合,長度要求為18個字符”。用等價類劃分的方法得到上述規(guī)格說明的要求,建立輸入等價類表格。 用戶名等價類表輸入條件有效等價類無效等價類用戶名組成數(shù)字(1),字母(2),漢字(3)非數(shù)字、字母或漢字(4)用戶名字符個數(shù)110個(5)0個(6),10個(7)用戶名漢字個數(shù)25個(8)2個(9),5個(10)下面選取了6個測試用例,其中前兩個覆蓋了所有的有效等價類,其他的覆蓋了4個無效等價類。輸入:adm123 }覆蓋(1),(2),(5)等價類輸入:唐睿 }覆蓋(3),(8)等價類輸入:tr@*¥ }用戶名有非法字符,覆蓋(4)等價類輸入:空 }用戶名為0個字符,覆蓋(6),(9)等價類輸入:adminstr4233 }用戶名多于10個字符,覆蓋(7)等價類輸入:那么愛你為什么 }用戶名多于5個漢字,覆蓋(10)等價類 密碼等價類表輸入條件有效等價類無效等價類密碼組成數(shù)字(1)字母(2)非數(shù)字或字母(3)密碼字符個數(shù)18個(4)0個(5),8個(6)下面選取了4個測試用例,其中第一個覆蓋了所有的有效等價類,其他的覆蓋了3個無效等價類。輸入:admin }覆蓋(1),(2),(4)等價類輸入:sss1amp。 }密碼有非法字符,覆蓋(3)等價類輸入:空 }密碼為0個字符,覆蓋(5)等價類輸入:34a5s2swq6dd }密碼多于8個字符,覆蓋(6)等價類 邊界值測試用例設計入住登記的規(guī)格說明入住登記的輸入文件由客戶入住信息組成,選擇其中重要信息組成如下的幾組:(1)房間號。這是客戶入住房間的名稱,為3個數(shù)字組成。(2)客戶姓名??蛻粜彰麤]有特定的限制,不超出8個字符。(3)入住押金。輸入的押金金額必須為數(shù)值型數(shù)字,通過邏輯驗證必須是大于入住天數(shù)和房間價格的乘積。根據(jù)輸入條件和邊界條件所選擇的測試用例。 入住登記的測試用例輸入條件測試用例房間號沒有房間號記錄房間號只有1個字符房間號有4個字符房間號只有1個漢字房間號有2個漢字客戶姓名沒有客戶姓名記錄客戶姓名只有1個字符客戶姓名有10個字符客戶姓名只有1個漢字客戶姓名有5個漢字入住押金沒有入住押金記錄入住押金為數(shù)據(jù)1000入住押金為4個字符入住押金為1個漢字 功能圖法測試用例設計管理員查詢某個房間信息的功能圖。其規(guī)格說明如下。其規(guī)格說明如下。(1)初始時要求管理員進行登錄。(2)進入登錄界面后要求管理員輸入其基本信息。(3)后臺數(shù)據(jù)庫對管理員的信息進行比對。若相同,則可以入系統(tǒng)進行查詢操作;若不同,要求管理員再次輸入信息。(4)管理員輸入要查詢房間的信息后,后臺數(shù)據(jù)庫檢查表中是否有與其對應的記錄,若沒有則要求管理員重新輸入查詢信息;否則顯示相應的查詢結果。根據(jù)功能圖和規(guī)格說明,設計出了測試用例。 軟件可靠性 基本定義1.軟件可靠性的定義1983年美國IEEE計算機學會對“軟件可靠性”作出了明確定義,此后該定義被美國標準化研究所接受為國家標準,1989年我國也接受該定義為國家標準。該定義包括兩方面的含義: (1)在規(guī)定的條件下,在規(guī)定的時間內,軟件不引起系統(tǒng)失效的概率; ?。?)在規(guī)定的時間周期內,在所述條件下程序執(zhí)行所要求的功能的能力; 其中的概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的故障的函數(shù),系統(tǒng)輸入將確定是否會遇到已存在的故障(如果故障存在的話)。 2.軟件的可用性通常用戶也很關注軟件系統(tǒng)可以使用的程度。一般來說,對于任何其故障是可以修復的系統(tǒng),都應該同時使用可靠性和可用性衡量它的優(yōu)劣程度。軟件可用性的一個定義是:軟件可用性是程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率??煽啃院涂捎眯灾g的主要差別是可靠性意味著在0到t這段時間間隔內系統(tǒng)沒有失效,而可用性只意味著在時刻t,系統(tǒng)是正常運行的。因此,如果在時刻t系統(tǒng)是可用的,則有下述種種可能:在0到t這段時間內,系統(tǒng)一直沒失效(可靠);在這段時間內失效了一次,但是又修復了;在這段時間內失效了兩次修復了兩次如此反復進行。如果在一段時間內,軟件系統(tǒng)故障停機時間分別為td1,td2…,正常運行時間分別為:tu1, tu2….,則系統(tǒng)的穩(wěn)態(tài)可用性,如式()所示。 Ass=Tup/(Tup+Tdown) ()Tup為成功運行的時間總和;Tdown為失敗的時間總和。如果引人系統(tǒng)平均無故障時間MTTF和平均維修時間MTTR的概念,則()式將會改變,如式()所示。 Ass=MTTF/(MTTF+MTTR) ()平均維修時間MTTR的是修復一個故障平均需要用的時間,它取決于維護人員的技術水平和對系統(tǒng)的熟悉程度,也和系統(tǒng)的可維護性有重要關系。平均無故障時間MTTF是系統(tǒng)按規(guī)格說明書規(guī)定成功地運行的平均時間,它主要取決于系統(tǒng)中潛伏的錯誤的數(shù)目,因此和測試的關系十分密切。 估算平均無故障時間的方法軟件的平均無故障時間MTTF是一個重要的質量指標,往往作為對軟件的一項要求,由用戶提出來。為了估算 MTTF,首先引入一些有關的量。在估算MTTF的過程中使用下述符號表示有關的數(shù)量:——————測試之前程序中錯誤總數(shù);——————程序長度(機器指令總數(shù));————————測試(包括調試)時間;——————在0至期間發(fā)現(xiàn)的錯誤數(shù); ————在0至期間改正的錯誤數(shù);經驗表明,平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比,如式()所示。 MTTF=1/(K*(Et/ItEc/It)) ()其中K為常數(shù),它的值應該根據(jù)經驗選取。美國的一些統(tǒng)計數(shù)字表明,K的典型值是200。估算平均無故障時間的公式,可以評價軟件測試的進展情況。 MTTF和ASS的估算對酒店管理系統(tǒng)進行為期10天的集成測試,平均每天測試2個小時。在測試期間記錄了數(shù)據(jù)如下:(1)在測試之前程序存在20條錯誤。(2)程序中指令的長度為24000行。(3)測試了10天每天2個小時共20小時,期間維護了5次共花費5小時。(4)在測試期間發(fā)現(xiàn)并改正了18條錯誤。綜合上述測試數(shù)據(jù)。Ass= Tup/(Tup+Tdown)=20/(20+5)=。MTTF=1/(200*(20/2400018/24000))=60小時結 論本系統(tǒng)功能基本符合酒店管理的需求,管理員能夠實現(xiàn)對酒店基本信息修改、結算等操作,而操作員登錄后也可實現(xiàn)房間查詢、入住退房等操作。數(shù)據(jù)庫可以根據(jù)用戶的操作自動更新,確保數(shù)據(jù)的一致性,提高工作效率,實現(xiàn)了中小型企業(yè)酒店日常的基本操作輔助任務。本系統(tǒng)通過使用C.NET進行編程,與Windows系列操作系統(tǒng)有良好的兼容性,通過調用系統(tǒng)自帶dataGridView控件來綁定數(shù)據(jù)庫,實現(xiàn)添加、刪除、查詢、更新數(shù)據(jù)庫等操作,保證了良好的穩(wěn)定性和安全性。系統(tǒng)窗體調用為Windows應用窗體調用,系統(tǒng)本身安全性更優(yōu)越于C/S結構系統(tǒng)。本系統(tǒng)很多地方還存在不足。比如訂房模塊,電話費統(tǒng)計,客房服務,支票結賬,信用卡消費,客戶信息網絡驗證,叫早服務,消費項等模塊并沒有實現(xiàn),還需要進一步的完善。還有對于論文中涉及到的一些知識點了解不夠多,這些都有待進一步加強。致 謝四年的學習生涯馬上就要畫上句號了,畢業(yè)前所有的努力與付出都凝聚在這畢業(yè)設計里面。相信它雖然算不上上乘之作,但的確是我用心血澆灌的答卷。這里面更有我的論文指導老師***老師的耐心點撥和誠懇建議,正是在她不遺余力的幫助下,論文的思路從混亂到清晰,語言從瑣碎到凝練,一步步接近成熟。感謝徐老師。在整個系統(tǒng)的設計過程中,遇到過很多障礙,挫折,但是進過仔細的查證,翻找一些實用案例,和其他同學進行交流溝通最終使問題迎刃而解。經過反復的測試,一個完整的系統(tǒng)終于完成了,這種成就感著實讓自己欣喜了一番,當然系統(tǒng)仍然存在一些不足,需要我在今后的學習過程中來完善改進。作為計算機專業(yè)的畢業(yè)生,對不同層次和不同的要求,均要有不同的設計。任何事情不能一定要追求一種將所有的事情在一個系統(tǒng)里面都能解決的結果,這樣做的行為只會導致最終一事無成或者推遲成果的出世。哲學的觀點和自然科學的方法論也沒有這樣要求,任何技術都是不斷進步的,任何成果都是要在不同的時期補充新鮮的東西才能有生命力的。需要做的就是不斷的補充完善最初的成果,不斷的將新的知識補充到設計的軟件之中,這樣才能更好地服務工作和社會。老師的諄諄教導和殷殷鼓勵同樣給了我莫大的支持,她嚴謹?shù)闹螌W態(tài)度使我深受啟發(fā);感謝以及各位任課老師,他們豐厚的知識積累和敬業(yè)精神,給予了我很多的教益。 同時也感謝我的同學們,正是和他們四年的朝夕相處,一起上課一起討論問題,讓我逐漸有了對問題的思考意識,從而更好地規(guī)劃自己的學業(yè)。四年的求學時光給我留下了美好的回憶,它將成為我今后人生旅途中新的起點。參考文獻[1] 鄭阿奇,C實用教程.電子工業(yè)出版社,2008:P156162[2] 黃興榮.C程序設計實用教程.清華大學出版社,2009:P3579[3] 馬駿.C程序設計及應用教程.人民郵電出版社,2009:P4356 [4] 東方人華.SQL與C.NET數(shù)據(jù)庫入門與提高.清華大學出版社.:P1326.[5] 蔣文沛.SQL Server2005實用教程.人民郵電出版社,2009:P6685[6] 鄒建.中文版SQL Server 2005開發(fā)管理實例.人民郵電出版社.:P2028.[7] 劉衛(wèi)宏.SQL SERVER 2005實用教程.科學出版社.:P60123. [8] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.高等教育出版社.2002:P203242附 錄附錄A JSP IntroductionJSP is the abbreviation of Java Server Pages. It is the technical standards of dynamic web page. Adding Java programs and JSP marks to the traditional HTML web page files makes JSP web page. The synthesis application network superiority and the user carry on the interaction Moreover JSP is opposite to the traditional homepage manufacture technology says, it has the obvious merit. JSP not like CGI, ISAPI and NSAPI equally difficulty with piles and the maintenance, simultaneously equally only cannot adapt the small current capacity website like PHP, moreover has the good expansion, also equally does not receive the cross platform like ASP the limit, has solved this cross platform bottleneck. JSP has manifested now the most advanced website development webserver meets with request for