版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、白盒測試指南(說明:此白盒測試指南主要給白盒測試人員提供一些基本的白盒測試方法和技術(shù),由于涉及的問題廣泛, 測試內(nèi)容中的細(xì)節(jié)不一定準(zhǔn)確和完整, 還有待于各位的共同參與和不斷完善,歡迎多交流!)目的本方案主要實(shí)施 nc 產(chǎn)品程序代碼的白盒測試。 使界面符合設(shè)計(jì)規(guī)范, 適用于用戶; 保證程序創(chuàng)建的類與接口的完整與正確,以及程序模塊單獨(dú)正常運(yùn)行。保證局部模塊功能完備性,運(yùn)行正確性與穩(wěn)定性。測試項(xiàng)所要測試的類。如:nc.ui.bd.*nc.bs.bd.*nc.vo.bd.*測試依據(jù)1.nc 產(chǎn)品需求報告;需求規(guī)格說明書、用例描述清單2.設(shè)計(jì)文檔; (ooa、 ood、 crc卡 )如: aom( an
2、alysis object model )表示類間的靜態(tài)關(guān)系,是多個相關(guān)的用例共用的。asd( analysis sequence diagram) 是按業(yè)務(wù)工作的順序表示每一工作步驟執(zhí)行時類間的動態(tài)關(guān)系。一個用例對應(yīng)一個asd 。crc (collaborators & responsibilities card )卡是一個類的完整表述3.界面規(guī)范4.編碼規(guī)范5.開發(fā)命名標(biāo)準(zhǔn)通過的準(zhǔn)則1.界面測試通過的標(biāo)準(zhǔn):界面的樣式、大小、顏色、整體布局的設(shè)置;各種標(biāo)簽控件的使用及主題描述以及事件源控件的使用、快捷鍵使用都應(yīng)符合 nc 系統(tǒng)應(yīng)用框架需求報告和設(shè)計(jì)文檔的相關(guān)規(guī)范。2.程序代碼通過的標(biāo)準(zhǔn):創(chuàng)建
3、的類、接口、方法、屬性應(yīng)與設(shè)計(jì)文檔保持一致;程序的各種命名、注釋、代碼行的格式等應(yīng)符合程序開發(fā)命名標(biāo)準(zhǔn)和編碼規(guī)范 ;程序模塊能獨(dú)立穩(wěn)定運(yùn)行。測試環(huán)境配置1測試工具:2軟件環(huán)境:client 端:操作系統(tǒng):中文winnt/2000開發(fā)環(huán)境: va3.5 專業(yè)版待測試的源碼包server 端:操作系統(tǒng): win nt4.0開發(fā)環(huán)境: va3.5 專業(yè)版通訊環(huán)境:servlet3 db server 端: dbms : sql server4資源文件白盒測試總流程測試流程依據(jù),請參見代碼層次結(jié)構(gòu)規(guī)范。nc 系統(tǒng)中的對象主要分為如下幾種:界面對象 (uiobject)數(shù)值對象vo(valueobjec
4、t)業(yè)務(wù)對象bo(businessobject)數(shù)據(jù)管理對象dmo(datamanageobject)測試流程可按二種方式,其優(yōu)缺點(diǎn)對照:vovouibodmodbdbdmoboui前者:優(yōu)點(diǎn)是便于測試者從界面層直觀地錄入數(shù)據(jù),缺點(diǎn)是做回歸測試時,錄入數(shù)據(jù)需重復(fù)后者:原則是從底層測試,底層測試通過了,再依次往上一層測試;否則不需往上層測試缺點(diǎn):需給中間層做一測試小程序:根據(jù)程序中類的對象構(gòu)造輸入數(shù)據(jù)及將結(jié)果輸出到控制臺上, (可通過自行設(shè)計(jì)測試工具來改善,測試工具需求另附)優(yōu)點(diǎn):做回歸測試時,不用再構(gòu)造輸入數(shù)據(jù),只要再執(zhí)行一遍小測試程序測試步驟:需要列出所測試類的調(diào)用關(guān)系和關(guān)鍵方法的調(diào)用關(guān)系(
5、依據(jù)為數(shù)據(jù)流)。( 1)類關(guān)系圖。(2) 方法的功能調(diào)用關(guān)系圖:只需要列出一些調(diào)用關(guān)系較復(fù)雜的方法。7.1.配置好測試環(huán)境;7.2.編寫測試用例;另附7.3.靜態(tài)測試,走查代碼;代碼走查使用測試用例啟發(fā)檢測錯誤,沿程序邏輯走一遍,檢測程序結(jié)構(gòu)和實(shí)現(xiàn)上是否有問題7.4.動態(tài)測試界面初始化狀態(tài)測試;界面控件功能測試; (正反用例);業(yè)務(wù)功能測試(正反用例);數(shù)據(jù)流關(guān)聯(lián)測試(涉及多表的增、刪、改) ,并結(jié)合數(shù)據(jù)庫表的字段、外鍵、字段類型、精度、小數(shù)位數(shù)、非空、默認(rèn)值、備注、數(shù)據(jù)對象等。數(shù)據(jù)傳遞和接收一致,數(shù)據(jù)計(jì)算或處理后狀態(tài)正確;組合模塊整體運(yùn)行穩(wěn)定,不出現(xiàn)死機(jī);7.5.確定問題屬性:分為四類:錯誤
6、、缺陷、失效、故障錯誤是指計(jì)算值、觀測值、 測量值之間, 或條件與真值之間,不符合規(guī)定的或理論上的正確值或條件缺陷是指與期望值或特征值的偏差故障是指功能部件不能執(zhí)行所要求的功能。故障可能由錯誤、缺陷或失效引起。失效是指功能部件執(zhí)行其功能的能力喪失,系統(tǒng)或系統(tǒng)部件喪失了在規(guī)定限度內(nèi)執(zhí)行所要求功能的能力7.6.確定問題類別:問題類別分為以下幾大類:1.各層公用問題2.java 語言規(guī)范3.數(shù)據(jù)類型4.sql 語句規(guī)范5 界面 ui6.vo 數(shù)值對象7.bo 業(yè)務(wù)對象8.dmo 數(shù)據(jù)管理對象9.業(yè)務(wù)邏輯重點(diǎn)10.事務(wù)處理與隔離級別測試(詳見總體技術(shù)部相關(guān)文檔)11效率測試( 詳見總體技術(shù)部相關(guān)文檔)
7、7.7.填寫測試報告測試記錄需詳細(xì)填寫具體實(shí)施方法中的相關(guān)列表;上交的測試報告只需填寫未通過的項(xiàng)。(詳見第 10 節(jié))具體實(shí)施方法:8.1).各層公用問題:序測試項(xiàng)測試內(nèi)容質(zhì)量保證問題出錯號標(biāo)準(zhǔn)屬性頻率t1代 碼 與 設(shè)按需求、 ui,crc 設(shè)計(jì)文檔與編碼對照,看是否完全地實(shí)現(xiàn)了所有的ui 設(shè)計(jì)文檔和完備性錯誤計(jì)對照crc 卡中規(guī)定的內(nèi)容?t2代 碼 與 設(shè)按需求、 ui,crc 設(shè)計(jì)文檔與編碼對照,看是否創(chuàng)建了所需的數(shù)據(jù)庫或其他初始化數(shù)完備性錯誤計(jì)對照據(jù)文件?t3參數(shù)方法中被傳遞參數(shù)的類型、個數(shù)、順序及返回值是否正確?以符合ui 設(shè)計(jì)文檔和正確性錯誤返回值crc 卡為準(zhǔn)。t5參 數(shù) 的 傳
8、當(dāng)方法需要調(diào)用其它方法時,調(diào)用的參數(shù)是否正確?(ui 設(shè)計(jì)文檔和 crc 卡中有正確性錯誤遞調(diào)用說明)t6命名是否按命名規(guī)范進(jìn)行了類、方法、變量、屬性的命名?正確性錯誤t7公式代碼中的公式是否使用了設(shè)計(jì)文檔中的相應(yīng)數(shù)學(xué)公式。正確性錯誤t8注釋注釋是否使用簡潔明了的語言對每一個方法都進(jìn)行了充分必要的描述?是否對復(fù)雜易理解性缺陷的代碼進(jìn)行了注釋?當(dāng)程序的運(yùn)行是受某些特殊因素限制時,是否做了限制注釋?是否列出限制模塊運(yùn)行特性的全部特殊因素?t9冗 余 語 句是否存在永遠(yuǎn)執(zhí)行不到的語句和變量,而降低了程序的可理解性?易理解性缺陷和變量t10程 序 是 否對于程序中的大量重復(fù)內(nèi)容,是否使用了專門的類來實(shí)
9、現(xiàn)?可驗(yàn)證性缺陷冗余t11代 碼 整 體是否自始至終使用了程序員開發(fā)手冊和編碼規(guī)范中要求的格式、調(diào)用約定、一致性缺陷規(guī)范結(jié)構(gòu)等?t12代 碼 與 書在一個函數(shù)內(nèi)代碼的長度不允許超過100 行。建議如果一個函數(shù)的代碼長度超過一易理解性缺陷寫注釋個屏幕,那么或許這個函數(shù)太長了。使用統(tǒng)一的格式化代碼。 將 放在所有者的后面, 并且在下一行代碼前加入 tab鍵縮進(jìn);( tab 鍵比用若干個空格更容易控制使用統(tǒng)一的縮進(jìn)距離)類的注釋;接口的注釋;函數(shù)的注釋;類屬性的注釋;局部變量的注釋;請?jiān)斠姡捍a與注釋書寫風(fēng)格規(guī)范t包命名是否符合程序包命名規(guī)范t13t1.創(chuàng)建的屬性(字段)是否完整,類型與命名是否規(guī)范
10、,注釋是否清楚合理。t14類2.創(chuàng)建的方法是否完整;命名是否規(guī)范;修辭是否正確;參數(shù),參數(shù)類型,返回類型是否正確。3.調(diào)用的方法和傳遞的參數(shù)是否正確。1.參數(shù)傳遞、返回值是否正確2.特殊校驗(yàn)、處理是否有注釋t15t16t17t類命名t接口t方法第一個字母大寫的英文正常語序每個功能點(diǎn)的主程序(通常繼承系統(tǒng)管理框架)統(tǒng)一采用clientui 類名稱。業(yè)務(wù)邏輯代碼類以bo 結(jié)尾,如: generalledgerbo數(shù)值對象類以vo 結(jié)尾,如: employeevo數(shù)據(jù)管理對象類以dmo 結(jié)尾,如: employeedmo查詢對象類以qo 結(jié)尾,如: employeeqo非參照對話框類以dlg 結(jié)尾,
11、如: editemployeedlg參照對話框類以ref 結(jié)尾,如: workcenterref面板類以 panel 結(jié)尾,如: generalledgerpanel接口名的開頭加上字母i 前綴從第二個字母起,用首字母大寫的英文單詞描述1是否正確定義了此方法(包括修辭詞、返回類型、參數(shù)、參數(shù)類型)2注釋是否清楚3命名是否正確:方法函數(shù)名的第一個單詞小寫,后面的單詞第一個字母大寫;第一個單詞必須是動詞,使函數(shù)的意義清晰明了;存取對象的屬性使用setxxx() 和 getxxx() 函數(shù)形式訪問布爾類型的屬性可以使用isxxx ()函數(shù)t18t類屬性?所有類屬性全部以m_開頭,同其它變量區(qū)分開。?
12、集合類型的域,如數(shù)組、向量,必須使用復(fù)數(shù)形式來指出它們多值特性。?所有的域都是私有的, 用并且僅用getxxx 和 setxxx 等的存取函數(shù)去訪問域,。? 存取函數(shù)的可見性盡量為 protected 屬性的, getter 函數(shù)可以是 public 屬性的? 存取函數(shù)的命名規(guī)則是:getter 函數(shù) =get + 域名 (非布爾類型域)is + 域名 (布爾類型域)setter 函數(shù) =set + 域名t常量常量的命名全部使用大寫。用下劃線來分隔單詞。t19max_v aluestart_da teminimum_balancet類 所 實(shí) 現(xiàn)是否實(shí)現(xiàn)了要求的所有功能t20的功能t類 中 的
13、 校1界面級的校驗(yàn)是否齊全完備性錯誤t21驗(yàn)方法2業(yè)務(wù)級的校驗(yàn)是否齊全t繼承性面向?qū)ο蟪绦蚴欠耋w現(xiàn)繼承、封裝和多態(tài)的特性?t22封裝性多態(tài)性t面 向 對 象面向?qū)ο蟪绦蛑?,編寫類的方法時,是否同時考慮基類方法(base:function() )的t23特性行為和繼承類方法( derived:function() )的行為t數(shù) 據(jù) 封 裝數(shù)據(jù)成 是否 足數(shù)據(jù)封裝的要求。t24性有 制的 型 會破壞數(shù)據(jù)的封裝特性。例如:class hidenprivate:int a=1;char *p= hiden;class visiblepublic:int b=2;char *s= visible;.hi
14、den pp;visible *qq=(visible *)&pp;在上面的程序段中, pp 的數(shù)據(jù)成 可以通 qq 被隨意 t類 中 成 員以 ood 依據(jù), 中成 方法是否 了 中所要求的功能;如通 ood 仍不t25方法清楚, 依據(jù) ooa 、及需求 告 明 8.2).java語言規(guī)范走查內(nèi)容序測試項(xiàng) 內(nèi)容 量保 問題出 號 準(zhǔn)屬性 率j1下 是否有下 量越界 ?健壯性錯誤j2除數(shù)是否包含有除零 的可能?健壯性錯誤j4get 方法當(dāng) 一個不知是否 空的 象取其屬性 會引起空指 異常。如果健壯性錯誤空 指 針異 常 沒 有被接 收 程序?qū)?終止 。例 如 :j5字符串j6字符串 符+j7f
15、loatdoublej8floatdoublej9floatdoublej10switchj11switchbusinessdata1.getbusinessdate2.getoid()當(dāng)businessdata1.getbusinessdate2 為 null ,businessdata1.getbusinessdate2.getoid()將 生異常在字符串比 和將字符串寫入數(shù)據(jù)表前 trim() 掉它的前后空格。健壯性錯誤將字符串 操作中的 +操作符同加法運(yùn)算中的+ 操作混淆將 致正確性錯誤奇 怪 的 結(jié) 果 。 例 如 : y為 int類 型 , y的 值 為 5 ,g.drawstri
16、ng(y+2=+y+2,30,30);將 示 y+2=52不要用等于或不等于來比 浮點(diǎn) , 而 判斷其差 是否小于某正確性錯誤一指定小的 。例如: 89.6 可能 89.59999232458正確性錯誤不要 浮點(diǎn) 用做 數(shù)循 , 用整型 。不要使用 型 float 或者 double 的 量 行精確的金融 算。浮點(diǎn)正確性錯誤數(shù)的不精確會 致引起不正確金融 算的 ??啥?若干 來完成不同的金融 算。switch 句的末尾如果沒有 defaul 句將會不利于 理異常。健壯性缺陷是否在 switch 構(gòu)中的每一個case 句體 束 都有break 句?正確性錯誤j12if 語句在 if 語句體右括號
17、后緊跟一個分號常常是一個錯誤,會使if 語句成為順序語句。j13循環(huán)語句通過循環(huán)語句對一 vector 型變量賦值時 , 其 vector 變量的實(shí)例化語句是否被錯誤地包含在循環(huán)體內(nèi)?j14循環(huán)語句注意循環(huán)的條件中是否有差1 的現(xiàn)象?j15循環(huán)語句代碼是否有無窮循環(huán)的可能?( 循環(huán)條件永遠(yuǎn)為真 )j16數(shù)值范圍是否存在溢出錯誤j17thisthis 和 super 的用法是否正確superj18構(gòu)造子是否缺少構(gòu)造子方法j19方法聲明、參方法聲明錯誤數(shù)、參數(shù)錯誤返回值返回值錯誤j20計(jì)算計(jì)算錯誤j21比較比較錯誤j22控制流控制流錯誤j23類的修飾符修飾符是否符合以下原則:public 用于對所
18、有的類可見,private 用于對本類可見protected 不僅用于對子類可見, 也用于對同一個包的其它所有類可見正確性錯誤正確性錯誤正確性 錯誤可預(yù)測性 錯誤8.3).數(shù)據(jù)類型:序測試項(xiàng)測試內(nèi)容質(zhì)量保證問題出錯號標(biāo)準(zhǔn)屬性頻率d1null 轉(zhuǎn)化在設(shè)置值對象 vo 時,在 vo 內(nèi)部是否將空串 將轉(zhuǎn)化 null ,數(shù)值型數(shù)據(jù) ( 整數(shù)、浮點(diǎn)數(shù) )null 轉(zhuǎn)為 0。*在取得 vo 元素放到界面時(如放到 uitextfield )是否根據(jù)需要將null 轉(zhuǎn)化d2null 轉(zhuǎn)化為 或 0 或” 0.0 ”。d4控 件 數(shù) 據(jù)編輯控件數(shù)據(jù)類型是否與表中對應(yīng)字段數(shù)據(jù)類型一致類 型 的 轉(zhuǎn)1uitex
19、tfield 文本域數(shù)據(jù)類型在 nc.ui.pub.beans.textfield 包的 uitexttype 接換口中定義了 textstr、textint 、textdbl 、textdate 和 textdatetime 等 5 類,但布爾型使用 uicheckbox 或 uiradiobutton 控件,故沒有定義布爾型。d5ufdouble去掉原 ufcurrency 類型,重新封裝ufdouble ,所有的數(shù)值型及運(yùn)算是否采的使用用 ufdouble 。d6ufdatetime 的使用去掉原 uftime 類型,重新封裝 ufdatetime 。d7某 些 數(shù) 據(jù)封 裝 類 型的禁
20、用禁止使用的數(shù)據(jù)封裝 型,如boolean、short、long 、float、double 、date。d9雙 精 度 型 雙精度型控件是否控制最大 度范 :控 件 的 范如: 雙精度型, 數(shù)據(jù) 表中字段 decimal 型, pricision 為 20 位, 控制scale 為 8 位 需加入 句:ivjtxtshipunitnum.setmaxlength(20);ivjtxtshipunitnum.setnumpoint(8);d11最 大 長 度 置最大 度 maxlength( 默 20 位、 textdate 與 textdatetime 無效 ),的 置d12小 數(shù) 位 數(shù)
21、置小數(shù)位數(shù) numpoint( 默 4 位、只 textdbl 有效 )的 置d13禁 止 輸 入 置禁止 入的字符 delstr ,整數(shù)和浮點(diǎn)數(shù)也可 置禁止字符串,如 :字 符 的 設(shè)/ 禁止 入 數(shù)置settexttype(textstr);setdelstr(-);/ 只 入數(shù)字型字符settexttype(textdbl);setdelstr(-.);d14 方式整數(shù)和浮點(diǎn)數(shù)默 右 ,其它左 ,可以改 d15左 邊 字 符 置左 字符 定鎖 定 的 設(shè)(1)setfixtext(string)- 置串并 定和字符串相同的 度置(2)setfixtext(string , int)- 置
22、串并 定參數(shù) 定的 度(3)setfixtextlen(int)- 定參數(shù) 定的 度(4)settext(string)- 置串并取消 定任何 置都會修改以前 定的 定 度8.4).sql語句規(guī)范:(詳見數(shù)據(jù)庫處理規(guī)范)序號測試項(xiàng) 內(nèi)容 量保 問題出 準(zhǔn)屬性 率s1 寫 范 句全部用小寫s2sql 法禁止使用“ select * from ” 法。禁止使用“ insert into table_name values(?,?, 法, ) ” 一使用“ insert into table_name (col1,col2, ) values(?,?,。 .) ”s3sql 法如果在 句中有not
23、in ( in)操作,是否考 用 not exists( exists)來重寫。s4 型 避免 式或 含的 型 。例如在where 子句中 numeric 型和 int 型的列的比 s5當(dāng) sql 語句含有運(yùn)算符時, 運(yùn)算符需與其他字符串用空格區(qū)分。否則容易導(dǎo)致以下類似問題。在語句select ab from table 中, a,b 均為變量。拼寫該語句時,如果 a=6, b= -3 ,則語句變?yōu)?select 6-3 from table 。 - 變?yōu)?sql 的注釋,語句報錯s6查詢優(yōu)化為提高索引的效率,查詢路徑優(yōu)化(尤其是要盡力減少查詢嵌套)。s7視圖使用靜態(tài)視圖,不允許動態(tài)創(chuàng)建視圖,
24、索引,存儲過程等數(shù)據(jù)庫對象s8null不能將 null 與 空串“”視為相同s9多表連接1.sql 語句包含多表連接時,是否加上表的別名。3. 子查詢問題。對于能用連接方式或者視圖方式實(shí)現(xiàn)的功能,不要用子查詢。例如:select name from customer where customer_id in ( select customer_idfromorder where money1000) 。應(yīng)該用如下語句代替:select name fromcustomer inner join order on customer.customer_id=order.customer_id whe
25、re order.money100。s10復(fù)雜 sql 語句s11多 數(shù) 據(jù) 庫適配3. 多表關(guān)聯(lián)查詢時, 寫法必須遵循以下原則, 這樣做有利于建立索引, 提高查詢效率。 格式如下 select sum( table1.je) from table1 table1,table2 table2,table3 table3 where (table1 的等值條件( =)) and (table1 的非等值條件 ) and (table2 與 table1 的關(guān)聯(lián)條件 ) and (table2 的等值條件 ) and (table2 的非等值條件 ) and (table3 與 table2 的關(guān)
26、聯(lián)條件 ) and (table3 的等值條件 ) and (table3 的非等值條件 )。對復(fù)雜 sql 語句必須單獨(dú)測試:如多表查詢拚寫語句是否符合業(yè)務(wù)要求1.sql 語句轉(zhuǎn)換類。 調(diào)用方法: sqltranslator trans = new sqltranslator(); destsql = trans.getsql(sourcesql, databasetype)。2提供 sqlexception 信息轉(zhuǎn)換。同一個 sql 在不同數(shù)據(jù)庫操作, jdbc 返回的錯誤號以及錯誤信息不同。 sqlexception 信息轉(zhuǎn)換器將不同 jdbc 返回的錯誤號統(tǒng)一為以 sql server
27、7.0 為準(zhǔn),錯誤信息仍以不同 jdbc 返回的錯誤信息為主s11多 數(shù) 據(jù) 庫適配3 sql 法限制(1) 字符串 接必 用“| 符”號。例如:select f1 | f2 from test :而不是: select f1 + f2from test; 如果用 “+”號,則 oracle 不支持。(2) 左 接的寫法必 “outer ”關(guān) 字。例如:select f1 from t1 leftouter t2 on t1.f1 = t2.f1 ;而不是:select f1 from t1 left t2 on t1.f1 =t2.f1 。(3) 參與左 接的列不能 常量例如,不允 如下 句
28、:select * fromt1 left outer join t2 on t1.f1=a。(4) 在 case when 句中只能出 =、=、= 以及 is null 運(yùn)算符,不能出 、 、 != 、以及 is not null 運(yùn)算符。否 在 oracle的 decode 函數(shù)無法表達(dá)。( 5) 在 case when 句中參與比 的列只能有一個。 例如不能使用如下case when 句: casewhen f1 1 then .when f2 1then end。(6) 在 char 型比 ,要 列加上rtrim() 函數(shù),否 在oracle 中不會得到正確 果。( 7) 在 dele
29、te、 update、insert 、 select 句中 char 型的數(shù) 引用使用 引,例如 句: insert into t vlaues(“在booksql” ,5)server 中可以使用,而在 oracle、db2 中不支持。 :insert into t vlaues(book。,5)(8) 通配符不能使用a-c% 種形式, 寫成如:select *fromtable_name where col1 like a% or col1 like b% or col1 like c% 。(9) 不能通 來top n/percent 限制 果集的 數(shù),oracle 不支持( 10)uni
30、on 、order by 、group by 、having、betweenand 、in、exists、is null 用法一致s12函數(shù)不允 建函數(shù)。8.5).界面 ui 層: 提高 效率,界面 ui 可將黑盒 技 和白盒 技 合起來 行 8.5.1.代碼規(guī)范:序測試項(xiàng) 內(nèi)容 量保 問題出 號 準(zhǔn)屬性 率ui1 承 1從toftpanel 承一個 。每個界面 都要 承toftpanel :public class myui extends toftpanel2. 是否 界面 添加它需要的按 。a)添加按 屬性。b)添加按 屬性ui2添 加 按鈕c)將按 置到界面上。在構(gòu)造方法中是否添加如下
31、 句:setbuttons(m_arybuttongroup);響 應(yīng) 按ui3鈕ui4界 面 標(biāo)題3. 響應(yīng)按鈕。 在 onbuttonclicked(buttonobject bo) 方法中, 處理按鈕事件:public void onbuttonclicked(buttonobject bo) if (bo = m_bonormalbutton) onnormalbuttonclicked(); else if (bo = m_boxxxbutton) / other button disposing4. 設(shè)置界面標(biāo)題。在 gettitle() 方法中,返回界面的標(biāo)題: public s
32、tring gettitle() return 我的標(biāo)題 ; ui5其 他 業(yè)5. 完成其他業(yè)務(wù)代碼。務(wù)代碼在完成業(yè)務(wù)代碼時,可能需要用到帳套編碼、單位編碼、用戶編碼等信息,這些信息保存在clientenvironment類中。你可以在 toftpanel 的繼承類中使用方法 getclinetenvironment() 獲得一個 clientenvironmentui6客 戶 端 調(diào)對在客戶端用到的每個bo 類 xxxbo ,都要生成一個客戶端的代用 bo 對 理類 xxxbo_client 。xxxbo_client 和 xxxbo 的方法一一對應(yīng), xxxbo_client象實(shí)際上是 x
33、xxbo 對象在客戶端的一個包裝。在 ui 層中,只使用 xxxbo_client訪問 bs 層。例如:如果你要調(diào)用xxxbo 類中的一個update(myvo vo) 方法,那么在客戶端的代碼是:xxxbo_client.update(vo);ui7對 話 框 須對話框繼承nc.ui.pub.beans.uidialog繼 承 和 使對于提供消息的對話框,使用 nc.ui.pub.beans.messagedialog,不允用的類許使用 javax.swing.joptionpane,因?yàn)?joptionpane 在瀏覽器中運(yùn)行時存在問題ui8表 格 模 型須 繼 承 和使用的類表格模型繼承
34、nc.ui.pub.beans.table.votablemodel 或使用 nctablemodel8.5.2.ui 功能測試分為兩個主要手段:非正常用例手段:此階段主要是采用不合法的輸入數(shù)據(jù)和非正常的操作手段。測試系統(tǒng)的錯誤控制與處理能力。保證系統(tǒng)不死機(jī),能正常穩(wěn)定運(yùn)行。正常用例手段:此階段主要采用合法的業(yè)務(wù)數(shù)據(jù),正常的操作手段。保證ui 符合設(shè)計(jì)要求和操作習(xí)慣,能正常穩(wěn)定運(yùn)行,能正確處理業(yè)務(wù)數(shù)據(jù)。1、界面規(guī)范測試2.界面初始化測試3、編輯控件(除功能按鈕以外的控件)應(yīng)用測試;4、通用對話框測試5、參照框測試;6、狀態(tài)欄測試7、業(yè)務(wù)功能測試(新建、保存、刪除、查詢、瀏覽、退出)8. 界面級
35、校驗(yàn)測試序號測試項(xiàng)測試內(nèi)容質(zhì)量保證問題出錯標(biāo)準(zhǔn)屬性頻率ui20界面規(guī)范測試1同一界面,不能同時在同一屏上打開多個。2菜單、控件的一致性測試:與設(shè)計(jì)文檔相比較。主要查看菜單與控件是否齊全,控件的類型是否正確。3界面的整體布局測試:控件的整體布局是否協(xié)調(diào),顏色,尺寸是否合理。具有操作邏輯的控件,其擺放的先后位置是否合理。4圖標(biāo)、標(biāo)題、標(biāo)簽測試:各種圖標(biāo)使用是否符合規(guī)范;標(biāo)題文本、標(biāo)簽文本是否正確合理。5控件的鼠標(biāo)提示文本測試:是否有鼠標(biāo)提示,提示文本是否正確合理(針對重要的控件)。ui21界面初始化測試1.“增加”、 “退出”、“瀏覽”按鈕是否被激活, “取消”按鈕是否變灰。2.界面是否自動列示最
36、后(或最前)一條記錄?(如在列表 /卡片型界面中的卡片中 )3.各種標(biāo)簽文本和圖標(biāo)提示文本是否正確ui22界面控件功能測試1.最小化、最大化、關(guān)閉按鈕是否有效。2.菜單各種功能按鈕是否有效。3.按增加按鈕是否刷新界面,處于待輸入狀態(tài)。增加按鈕、刪除變灰,并激活取消、確定按鈕。光標(biāo)是否定位于第一個文本域內(nèi)。4.文本域內(nèi)是否能輸入正常長度、數(shù)據(jù)類型的數(shù)據(jù)(各提示鍵顯示的內(nèi)容是否正確) ;可根據(jù)前面已知文本自動顯示關(guān)聯(lián)的文本是否自動顯示。5.輸入非正常的數(shù)據(jù),系統(tǒng)是否有相應(yīng)的錯誤提示,術(shù)語是否正確6.在增加狀態(tài)下按取消按鈕,是否放棄當(dāng)前操作,返回前一界面,并激活增加按鈕。7.按刪除按鈕是否能刪除選中
37、的記錄。8.狀態(tài)欄顯示是否正確。9是否響應(yīng)鍵盤事件(enter,delete,tab)10。按退出按鈕是否能正常終止主應(yīng)用程序。ui23編輯控件的應(yīng)1 顯示控件和編輯控件應(yīng)該加以區(qū)分用測試:2 .屬性是否齊全3 控件的應(yīng)用是否合理4 能否正常接收數(shù)據(jù),對非法類型數(shù)據(jù)是否進(jìn)行了控制。5 允許輸入的數(shù)據(jù)長度是否符合要求。6 控件的邊界狀態(tài)是否設(shè)定。如文本框的滾動條等。7 是否有快捷鍵,快捷鍵是否有效。8 主要的功能按鈕是否響應(yīng)鍵盤事件。( esc:退出;: 前刪;delete:刪除選定的項(xiàng); f1:調(diào)出幫助; f5:調(diào)出定位或查找界面;enter:確定和光標(biāo)移動;alt+f4: 調(diào)出參照框;鍵盤上
38、的4 個瀏覽按鈕適用于樹的擴(kuò)展與伸收,及控件內(nèi)部的光標(biāo)移動,其中向下的箭頭用于下拉框;tab:用于控件的焦點(diǎn)移動;alt- 瀏覽按鈕 :用于選定菜單功能)ui24通用對話框測試:ui25參照框測試:1 圖標(biāo),標(biāo)題是否正確。2 標(biāo)簽,提示文本是否正確合理。3 功能按鈕是否齊全,是否合理有效。 (包括關(guān)閉小按鈕: x,相當(dāng)于取消對話框的功能。 )參照:分樹型、樹表、列表型參照:對于樹型參照,是否應(yīng)只顯示末級記錄,而不是所有記錄可選擇參照編碼,名稱或者助記碼模糊參照和預(yù)過濾的功能參照可以設(shè)置欄目可以對參照記錄進(jìn)行快速匹配定位,且該定位記錄自動顯示在當(dāng)前屏(目前存在此問題)可以對參照記錄進(jìn)行主,次關(guān)鍵
39、字排序,或者通過單擊表頭對任一列排序參照的自動檢查參照文本框獲得焦點(diǎn)時顯示編碼,離開顯示名稱模糊參照:輸入01* 再按參照按鈕,將只顯示以01 開頭的記錄輸入 0101?顯示編碼為8 為且以 0101 開頭的記錄參照預(yù)定位,輸入01,再按參照按鈕,光標(biāo)停在01 開頭的記錄雙擊參照表格的一行,結(jié)束參照并返回對應(yīng)參照返回的數(shù)據(jù),在保存數(shù)據(jù)庫時也要進(jìn)行業(yè)務(wù)合法性檢查,因?yàn)閰⒄辗祷氐臄?shù)據(jù)不一定是數(shù)據(jù)庫中存在的,可能在寫數(shù)據(jù)庫前基礎(chǔ)數(shù)據(jù)已發(fā)生改變,ui26狀態(tài)欄測試增加,修改,保存,刪除等操作應(yīng)在狀態(tài)欄顯示其操作狀態(tài)(成功、失敗等)。隨操作不同,狀態(tài)應(yīng)做相應(yīng)的變化。在查詢大數(shù)據(jù)量時,是否有提示用戶等待窗
40、口。ui27界面級校驗(yàn)測如起始日期不能大于截止日期,如果大于是否有錯誤提示,提示文本試是否正確。ui28業(yè) 務(wù)系統(tǒng)1 系統(tǒng)初始化分為兩種,初次使用本系統(tǒng)時各界面的初始化和再次使功 能初始用本系統(tǒng)時各界面的初始化。主要測試各菜單和功能按扭的缺省狀測試化狀態(tài)(變灰與激活)是否合理;各種控件的缺省值是否正確。態(tài)測2對于母子表的界面,注意母子表是否能同步顯示,顯示的明細(xì)記錄是試否正確。ui29新增:操作邏輯是否合理(包括業(yè)務(wù)數(shù)據(jù)輸入的先后順序)。比如應(yīng)先定位樹節(jié)點(diǎn),再按新增按鈕;按下新增按鈕后,各功能按鈕和菜單狀態(tài)變化是否正確;界面的編輯框是否刷新(注意合理的保留值不應(yīng)刷新);光標(biāo)定位是否合理。能否輸
41、入合法的數(shù)據(jù);能否正常地調(diào)出參照框,并導(dǎo)入所需的數(shù)據(jù)(包括下拉框,參照對話框,右鍵菜單等)。能否正常修改或清除數(shù)據(jù)(需要注意參照框的此項(xiàng)要求) 。在沒保存所編輯的記錄時,進(jìn)行其他操作,系統(tǒng)是否提示保存新增記錄,對話框文本是否正確合理。按保存按鈕后,是否進(jìn)行全面的邏輯校驗(yàn)(與設(shè)計(jì)文檔相符),與正常的業(yè)務(wù)邏輯保持一致;提示文本是否正確合理,對話框能否正常操作(見非正常用例階段的通用對話框測試描述)。退出對話框后光標(biāo)定位是否合理。能否正常保存數(shù)據(jù)。界面數(shù)據(jù)顯示是否正確。菜單、其它功能按鈕及控件狀態(tài)變化是否合理。能否查詢到此記錄,查詢到的結(jié)果是否與輸入的一致。ui30修改:能否正常修改數(shù)據(jù)。不應(yīng)該修改
42、的編輯框是否鎖死。在沒保存所編輯的記錄時,進(jìn)行其他操作,系統(tǒng)是否提示保存新增記錄,對話框文本是否正確合理。按保存按鈕后,是否進(jìn)行全面的邏輯校驗(yàn)(與設(shè)計(jì)文檔相符),與正常的業(yè)務(wù)邏輯保持一致;提示文本是否正確合理,對話框能否正常操作(見非正常用例階段的通用對話框測試描述)。退出對話框后光標(biāo)定位是否合理。能否正常保存修改數(shù)據(jù),界面數(shù)據(jù)顯示是否正確。菜單、其它功能按鈕及控件狀態(tài)變化是否合理。能否查詢到此記錄,查詢到的結(jié)果是否與輸入的一致。ui31刪除:刪除分為記錄刪除和行刪除兩種。刪除操作邏輯是否合理。如先定位后刪除,一次性刪除多條等。按刪除按鈕是否有提示,提示文本是否正確合理。具有業(yè)務(wù)邏輯時,是否遵循邏輯刪除規(guī)則,是否有提示,提示文本是否正確。記錄是否從界面上清除。是否顯示上一條記錄,菜單、功能按鈕、各種編輯控件狀態(tài)是否正確。通過查詢,驗(yàn)證是否正常刪除。ui32保存按保存后是否進(jìn)行所有的業(yè)務(wù)邏輯校驗(yàn)。是否有提示,提示文本是否正確。保存后,記錄是否從界面上清除。是否顯示上一條記錄,菜單、功能按鈕、各種編輯控件狀態(tài)是否正確。ui33查找輸入正常的匹配值能否查詢到合適的記錄。對于較長時間的查詢是否有等待提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙開影院合同范例
- 賣房合同與租房合同范例
- 傭金服務(wù)合同范例
- 家具物資購銷合同模板
- 店面轉(zhuǎn)讓 合同范例范例
- 建房租房合同范例
- 上海出境旅游合同范例
- 引入客戶入股合同范例
- 動物世界解析模板
- 高三畢業(yè)典禮演講稿
- 快樂讀書吧-讀后分享課:《十萬個為什么》教學(xué)案列
- 2024年 貴州茅臺酒股份有限公司招聘筆試參考題庫含答案解析
- 河上建壩糾紛可行性方案
- 第五單元學(xué)雷鋒在行動(教案)全國通用五年級下冊綜合實(shí)踐活動
- 2024年華融實(shí)業(yè)投資管理有限公司招聘筆試參考題庫含答案解析
- 2024年1月普通高等學(xué)校招生全國統(tǒng)一考試適應(yīng)性測試(九省聯(lián)考)歷史試題(適用地區(qū):貴州)含解析
- 兒童心理健康問題的評估與干預(yù)方案
- NB-T 47013.7-2012(JB-T 4730.7) 4730.7 承壓設(shè)備無損檢測 第7部分:目視檢測
- 空氣化工高精度氣體分裝及儲運(yùn)中心一期項(xiàng)目環(huán)評報告書
- 肝吸蟲護(hù)理查房課件
- 小腿抽筋的原因以及緩解和自救方法定稿
評論
0/150
提交評論