【正文】
軟件測試范例: 讀者圖 書預(yù)定測試用例 功能模塊 名稱 圖書借閱 編制人 何志剛 功能特性 根據(jù)圖書名來借閱圖書 測試目的 驗證 輸入圖書名是否正確 , 正確則允許借閱,否則不能進行借閱。msgbox ok if ok=1 then msgbox ookk navigate ?shuhao= amp。 39。nbsp。 color: 00FF00。 fontsize: xlarge。 代碼: !DOCTYPE html PUBLIC //W3C//DTD XHTML Transitional//EN html xmlns= head meta equiv=ContentType content=text/html。 按照書號條件查詢: strsql=select * from 圖書表 where 書號 = 39。charet=gb2312” title留言板 /title /head body div align=centerimg src=Images/ alt=dl width=1024 height=100 hspace=100 align=middle //div p /p p /p p /p table width=43% border=0 align=center tr align=center bgcolor=00FFFF td colspan=3span class=STYLE2圖書管理系統(tǒng)登錄/span/td /tr tr align=center bgcolor=99FF00 /td /trtd colspan=”2” Width=”542” height=”1”hr/td/tr /table 用戶名或密碼錯誤! brbr 單擊 a href=””重新登錄 /a /body /html : % Session(“username”)=” ” (“”) % 管理員操作平臺界面( ) 圖 管理員操作平臺界面 管理員操作平臺,包括:管理員用戶對圖書的查詢、借閱者圖書的歸還、圖書的借閱、圖書的添加、圖書的刪除、查詢用戶、添加用戶和刪除用戶功能模塊。 SERVER=localhost。39。 對要顯示讀者信息的欄位賦值 end if 如果找到了要還的書,便可以還書或續(xù)借了 if returnno = then 顯示 請先輸入還書編號 光標定位于還書編號 exit sub end if if state =no then 光標定位于還書編號 exit sub end if if book_no = then 顯示 請選擇 要還的書 ! exit sub end if //提交當前表單 *****以上這段程序可以放在借書按的單擊事件中 *****以下是續(xù)借按扭的單擊事件的算法 sub contiborrow //續(xù)借按扭單擊事件 if book_no = then 顯示 請選擇要續(xù)借的書 ! exit sub end if reloan =yes 提交表單 end sub 提交表單后,要對庫中的數(shù)據(jù)表進行還書和續(xù)借的操作了 從提交的表單中提取所有的讀者信息和當前所要還的圖書編號 count=0 //設(shè)當前無過期書籍 if book_no and reader_no then if 當前日期 借閱日期 60 then if reloan=yes then 提示 書已過期 ,不能續(xù)借 ! 不再做任何更改庫中記錄的操作,所回續(xù)借前的狀態(tài) 結(jié)束 ASP 程序的運行 end if end if if reloan=yes then 將當前書籍的借閱日期減一個月,因為續(xù)借只能是一個月 else 還原當前所還書籍的借閱者,借閱日期,是否借閱為初始狀態(tài)。 算法描述如 下 : 首先導(dǎo)入數(shù)據(jù)庫連接,以便對讀者信息表和圖書基本信息表進行查詢和修改: !include file= 因為還書只能是擁有圖書館工作人員以上的權(quán)限的人才能進行的操作,所以在程序開始部份還應(yīng)先判斷一下用戶的權(quán)限,如果沒有工作人員的權(quán)限,則要先進行管理員登陸,即轉(zhuǎn)向登陸界面 ,這部分的操作和借書是一樣的 : if session(user_name)= then 導(dǎo)向管理員登陸界面 end if 接下來是還書的操作 : //變量說明部分 // returnno 為還書編號 // state 表示當前有無可還書的記錄 //reloan 表示是否要續(xù)借 //step 表示是否提交過表單 ,1初始狀態(tài) ,2已經(jīng)提交 //reader_no 表示還書者讀者編號 //book_no 表示當前要還的或要續(xù)借的圖書編號 //count 表示當前有沒有過期未還的書 sub return //還書按扭單擊事件 if returnno = then 顯示 請輸入還書編號 ! 光標定位到輸入還書編號欄 else step=1 帶上還書編號提交表單 end if 接下是查詢該還書編號的書 If request(returnno) then 在數(shù)據(jù)庫中查詢該編號的圖書 if 查詢的記錄數(shù) =0 and reader_no= then 提示“可能輸入了無效的圖書編號或該書 沒有借出 ,請重輸 !” 結(jié)束程序的繼續(xù)執(zhí)行 else 對將要顯示的當前所要還的書籍的表格中的借閱者,書籍編號,書名,作者,借閱日期單元格的內(nèi)容填值 if 當前日期 借閱日期 60 then 更改讀者信息表中的 reader_state 為 1 提示用戶“你的書已過期 !” end if //根據(jù)借閱者的讀者證號查詢該讀者的相關(guān)信息 sqlstr2=select * from book_readerinfo where reader_no=39。 還書功能的具體實現(xiàn) 還書是在借書的基礎(chǔ)上來操作的過程,總的原則是,沒有借書,就沒有還書,還書所要實現(xiàn)的功能,在某種程度上和借書是相似的,同樣要提示讀者是否有過期未還的書,此時也需要對庫中的信息進行更改。 算法描述如下: 首先導(dǎo)入數(shù)據(jù)庫連接,以便對讀者信息表和圖書基本信息表進行查詢和修改 , 因為借書只能是擁有圖書館工作人員以上的權(quán)限的人才能進行的操作,所以在程序開始部份還應(yīng)先判斷一下用戶的權(quán)限,如果沒有工作人員的權(quán)限,則要先進行管理員登陸,即轉(zhuǎn)向登陸界讀者 查詢個人信息 圖書管理系統(tǒng) 操作員 管理員 查詢圖書信息 查看借閱情況 修改密碼 借書處理 查看讀者借閱情況 還書處理 讀者信息管理 圖書信息管理 修改密碼 面:(此處用到“ session“這個物件來 [4]存取一個變量記錄登陸的用戶名,它可以在同一個客戶端多個打開的瀏覽器之間傳遞變量 值,如果用戶能過了管理員登陸,則變量值不會為空,相反則為空: if session(user_name)= then 導(dǎo)向管理員登陸界面 end if 接下來就是借書操作了: //變量說明部分 //readerno 為讀者證號 //borrowno 為借書編號 //number 為是否標志是否查詢的讀者信息是否存在,初始為 1,表示有信息,如果輸入讀者證號后,沒有查到讀者信息,則更新為 0。在程序中 ,利用 vb script 腳本語言實現(xiàn)畫面的控制 ,利用 asp 語言來實現(xiàn)對庫的操作和算法流程的控制。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。39。)) BEGIN EXEC statement = N39。) AND type in (N39。39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。)) BEGIN EXEC statement = N39。) AND type in (N39。 end else begin set outParam=0。, N39。 END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。39。39。39。39。39。39。39。39。39。39。39。, N39。)) BEGIN CREATE TABLE [dbo].[BorrowRec]( [borrowRecID] [int] IDENTITY(1,1) NOT NULL, [readerID] [nvarchar](50) NOT NULL, [bookID] [nvarchar](50) NOT NULL, [beginDate] [datetime] NULL, [endDate] [datetime] NULL, [borrowStatus] [bit] NULL, [overdueDays] [int] NULL, [penalty] [money] NULL, CONSTRAINT [PK_BorrowRec_1] PRIMARY KEY CLUSTERED ( [borrowRecID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END 存儲過程腳本: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。)) BEGIN CREATE TABLE [dbo].[BookType]( [bookTypeID] [int] IDENTITY(1,1) NOT NULL