開發(fā)人員如何做好單元測試.doc_第1頁
開發(fā)人員如何做好單元測試.doc_第2頁
開發(fā)人員如何做好單元測試.doc_第3頁
開發(fā)人員如何做好單元測試.doc_第4頁
開發(fā)人員如何做好單元測試.doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

如何做好單元測試一 什么是單元測試?單元測試是開發(fā)人員在程序編寫或修改過程中,完成某一功能模塊后,對完成的模塊進(jìn)行的測試。一個功能模塊,一個類,一個方法,一個窗口,一個按鈕,一個選擇框,一個輸入列等等都可以成為一個測試單元。一般來說,單元測試由開發(fā)人員完成。二 為什么要進(jìn)行單元測試?1 在集成測試前,開發(fā)人員做好單元測試,可以避免模塊出現(xiàn)一些常見的錯誤,減少BUG率;2 在集成測試或驗收測試的過程中,開發(fā)人員修改問題之后,尤其要做好單元測試,這樣可以避免修改帶來其他的問題,減少修改后的BUG率。開發(fā)人員將問題修改后,不進(jìn)行自我測試,直接交給測試人員的做法不是好習(xí)慣;3 在試運(yùn)行和實施中,開發(fā)人員修改問題后,做好單元測試,減少面對用戶的BUG,減少出現(xiàn)錯誤數(shù)據(jù)的機(jī)會,可以提高軟件的服務(wù)質(zhì)量,提高實施的效率,否則由于程序的問題帶來的錯誤數(shù)據(jù),將在很長一段時間內(nèi)花費(fèi)開發(fā)和維護(hù)人員大量的精力進(jìn)行調(diào)整和清理,還可能影響用戶報表數(shù)據(jù)。 三 單元測試的覆蓋范圍 單元測試覆蓋在程序的編碼和修改的所有過程,包括:編碼階段,測試階段,實施階段,服務(wù)階段。尤其是系統(tǒng)上線之后的實施階段和服務(wù)階段,修改問題后,需要嚴(yán)格的單元測試,這種情況下,往往還要配合流程的測試,避免修改影響其他流程的運(yùn)行和流程數(shù)據(jù)。四 典型測試用例1 邊界值測試由長期的測試工作經(jīng)驗得知,大量的錯誤是發(fā)生在輸入或輸出的邊界上。開發(fā)人員對自己開發(fā)的模塊的邊界值情況是最了解的,因此針對各種邊界情況進(jìn)行測試,可以查出更多的錯誤。2 路徑測試對開發(fā)人員來說,在編碼中有多少分支情況是最清楚的,遍歷所有的分支路徑情況進(jìn)行測試,可以覆蓋所有的路徑,檢查每一種情況的運(yùn)行結(jié)果是否符合預(yù)期結(jié)果。對于程序中的if。else,或case等編寫的部分,應(yīng)做好路徑的充分測試。3 組合條件測試如按條件組合進(jìn)行查詢的情況,需要測試多種組合形式。4 等價類測試如:用戶密碼不能小于6位的情況測試,一個有效類指挑一個6位的正確密碼;二個無效類指小于6位的密碼一個和位數(shù)過大的密碼一個(比如50位)。5 具體功能點的功能測試 針對具體的模塊的具體功能進(jìn)行測試,測試基本的功能能否正常按要求完成。五 單元測試要注意的常見的問題下面列出的都是在以往的測試過程中發(fā)現(xiàn)的常見的問題,這些問題的出現(xiàn)頻率極高,往往影響提交的軟件的質(zhì)量,這些問題在開發(fā)人員的單元測試中應(yīng)該加以注意,使提交給測試組或用戶的軟件達(dá)到可用性好,窗口統(tǒng)一美觀,基本功能操作正常。1 基本功能是否能成功完成?2 窗口上的翻頁功能是否能成功翻頁?3 排序功能是否能成功按選擇列排序?4 返回按鈕是否能返回到應(yīng)該的頁面?5 繼續(xù)增加是否能成功?6 組合查詢是否所有的列參與組合查詢都能成功進(jìn)行?7 顯示的詳細(xì)信息中,是否有顯示的是代碼不是名稱的?8 頁面上是否因為其中的一列顯示過長而使整個頁面顯示不美觀的?9 刪除等危險操作是否有警告提示信息?10 錄入或修改信息后,系統(tǒng)是否能對信息進(jìn)行有效性檢查?11 錄入窗口上,對非空列是否有明確標(biāo)識?系統(tǒng)是否對非空列進(jìn)行非空檢查?12 重復(fù)提交的信息是否有唯一性檢查?13 保存成功后的信息,查詢顯示的結(jié)果是否與保存的信息一致?14 完成一個操作后,窗口是否能及時刷新?刷新信息是否正確?15 調(diào)試信息對話框是否已經(jīng)隱藏?16 需要修改狀態(tài)值的操作,最好通過前臺的查詢或后臺的數(shù)據(jù)進(jìn)行查看,檢查狀態(tài)是否修改正確?17 對數(shù)據(jù)庫的操作的提示信息是否是用戶能識別的信息?是否能避免用戶的重復(fù)勞動?18 窗口的整體風(fēng)格是否一致?字體類型和大小是否一致?19 所有提示信息是否恰當(dāng)、友好?20 執(zhí)行某一功能時,系統(tǒng)的反應(yīng)速度是否在可接受范圍內(nèi)?(這個往往大家并不重視,所以這個系統(tǒng)反應(yīng)慢的問題在很多項目中都存在,其實通過調(diào)整SQL和索引后,大多數(shù)慢的問題都可以明顯得到改善。)21 某些功能是否符合用戶的操作習(xí)慣?22 SQL是否最優(yōu)化?23 索引是否建立?建立是否合理?六 單元測試建議測試點清單現(xiàn)在我們所開發(fā)的系統(tǒng)基本上都是圖形用戶界面的,針對這樣的圖形用戶界面,我們將它分解成以下的單元,并分別羅列出各單元的建議測試需求:1 窗口1) 標(biāo)題欄的文本是否準(zhǔn)確?2) 所有的菜單項是否恰當(dāng)?3) 幫助菜單項是否正常工作?4) 最大化、最小化按鈕是否可見?他們是否應(yīng)該這樣?是否能正常工作?5) 如果一個窗口被最大化了,那么窗口上的對象(網(wǎng)格、數(shù)據(jù)窗口、按鈕等其他控件)是否可以被正確地調(diào)整?6) 如果一個窗口被最小化了,是否可以顯示恰當(dāng)?shù)膱D標(biāo)?7) 水平和垂直滾動條是否可見?是否需要?8) 窗口是否可以改變大小?是否應(yīng)該這樣?9) 如果窗口可以改變大小,窗口上的所有對象(網(wǎng)格、數(shù)據(jù)窗口、按鈕等其他控件)是否可以自動調(diào)整?10) 窗口是否可以移動?是否應(yīng)該這樣?11) 窗口的背景是否被設(shè)置為正確的顏色和模式?12) 用戶是否會認(rèn)為TAB鍵的順序是合理的和方便的?13) 如果對窗口做了改變,用戶是否在改變之前得到提示?14) 窗口的前景色和背景色是否搭配恰當(dāng),使文本易讀?15) 需要用戶操作的區(qū)域是否有可見的提示?16) 需要回車執(zhí)行命令的地方是否有明確提示?17) 窗口的設(shè)計風(fēng)格是否與整個系統(tǒng)的窗口設(shè)計風(fēng)格一致?2 菜單1) 所有的菜單項的分組是否符合邏輯?2) 快捷鍵是否被定義?他們是否能正常工作?3) 多級菜單項是否被恰當(dāng)?shù)赜媚撤N標(biāo)識標(biāo)記出來?4) 多級菜單的使用是否影響窗口的整體美觀?5) 菜單地設(shè)計是否在整個系統(tǒng)中保持一致?6) 不可用的菜單項是否變灰?7) 如果一個不可用的菜單項變?yōu)榭捎?,它是否仍然是灰的? 對話框1) 是否所有對話框的標(biāo)題都有意義?2) 對話框上的所有按鈕是否被清楚地標(biāo)記了?3) 是否所有地對話框都能夠提供一個中斷當(dāng)前操作的機(jī)會?4) 對話框的文本是否清楚易懂?5) 對話框是否可以移動?是否應(yīng)該這樣?6) 對一些危險操作(如刪除、提交)等,是否有對話框警告提示?4 靜態(tài)文本1) 是否靜態(tài)文本受保護(hù),不可以被用戶修改?2) 靜態(tài)文本所使用的字體大小是否一致?3) 如果靜態(tài)文本被應(yīng)用程序動態(tài)地更改了,它是否可以正確地工作?4) 文本的前景色是否和窗口的背景色對比鮮明?5 控制按鈕1) 是否所有的控制按鈕都被清楚地標(biāo)記了?2) 如果按鈕被單擊,用戶是否可以得到一個可見的提示或按鈕變化?3) 窗口上的控制按鈕是否被統(tǒng)一對齊?4) 按鈕風(fēng)格是否一致?是否有同樣的字體類型和大???5) 是否每個按鈕都能按預(yù)計的要求工作?工作的結(jié)果是否正確?6) 是否合理地安排了缺省功能(如:用回車實現(xiàn))?7) 是否合理安排了取消功能(如:用ESC鍵實現(xiàn))?6 單選按鈕1) 是否窗口中的所有單選按鈕都是互相排斥的?2) 窗口中的單選按鈕是否被合理地分組?他們是否按照要求工作?3) 是否清楚地標(biāo)記了單選按鈕?4) 是否最常用的功能被定為缺?。?) 如果單選按鈕被按下,所有相關(guān)的區(qū)域是否可以合理地變化?7 編輯框1) 用戶是否可以在編輯框中輸入或修改文本?2) 是否所有的編輯框都足夠?qū)挘軌蚍畔掠脩艨赡艿妮斎胫担?) 當(dāng)窗口建立時,是否所有的編輯框被正確地初始化了?4) 對編輯框的輸入值是否進(jìn)行了有效性檢查?8 列表框1) 列表框是單選還是多選?功能是否正常?2) 當(dāng)窗口建立時,是否所有的列表框被正確地初試化了?當(dāng)列表框是按照條件進(jìn)行初始化時,如果條件具備和不具備的情況下初始化是否正常?3) 所有列表框的輸入值是否有效?4) 如果一個非法數(shù)據(jù)被輸入,用戶是否可以立即得到提示?5) 列表框顯示的值是否符合用戶的習(xí)慣?9 網(wǎng)格1) 網(wǎng)格是否被正確初始化?2

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論