程 序 测 试 规 范
?
?????????????????????????????????????????????????????? 第一部分 應用程序測試
??????????????????????????????? 第一章 界面測試
??????? 界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設計良好的界面能夠引導用戶自己完成相應的操作,起到向導的作用。同時界面如同人的面孔,具有吸引用戶的直接優勢。設計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與放棄中付諸東流。
??? 1.1? 易用性測試
??????????? 按鈕名稱應該易懂,用詞準確,屏棄沒楞兩可的字眼,要與同一界面上的其他按鈕易于區分,能望文知意最好。理想的情況是用戶不用查閱幫助就能知道該界面的功能并進行相關的正確操作。
??????? 1) 常用的按鈕要有鍵盤快捷方式。
??????? 2) 界面應按功能劃分出區域,要有功能說明或標題。
??????? 3) 界面及按鈕的風格應盡量統一。
??????? 4) 界面要支持鍵盤自動瀏覽按鈕功能,即按Tab鍵的自動切換功能。
??????? 5) 界面上首先應輸入的和重要信息的控件在Tab順序中應當靠前,位置也應放在窗口上較醒目的位置。?
??????? 6) 有輸入的界面進入時焦點應停留在第一個EDIT上。
??????? 7) 界面上的控件擺放的數目是否過多。一般最好不要超過10個,多于10個應建議使用分頁界面顯示。
??????? 8) 同一界面的功能數量是否過多。一般最好不要多于10個,過多導致使用不便。
??????? 9) 分頁界面要支持在頁面間的快捷切換,常用組合快捷鍵Ctrl+Tab
??????? 10) 默認按鈕要支持Enter及選擇操作,即按Enter后自動執行默認按鈕對應操作。
??????? 11) 可寫控件檢測到非法輸入后應給出說明并能自動獲得焦點。
??????? 12) Tab鍵的順序與控件排列順序要一致,目前流行總體從上到下,同時行間從左到右的方式。
??????? 13) 復選框和選項框中的內容應盡量按選擇幾率的高低而先后排列。
??????? 14) 復選框和選項框通常要有默認選項。
??????? 15) 選項數相同時多用選項框而不用下拉列表框。
??????? 16) 界面空間較小時使用下拉框而不用選項框。
??????? 17) 選項數較少時使用選項框,相反使用下拉列表框。
??????? 18) 專業性強的軟件要使用相關的專業術語,通用性界面則提倡使用通用性詞眼。
??? 1.2 規范性
??????? 通常界面設計都按Windows界面的規范來設計,即包含“菜單條、工具欄、工具箱、狀態欄、滾動條、右鍵快捷菜單”的標準格式,可以說:界面遵循規范化的程度越高,則易用性相應的就越好。小型軟件一般不提供工具箱。
??????? 1) 常用菜單要有命令快捷方式。
??????? 2) 完成相同或相近功能的菜單用橫線隔開放在同一位置。
??????? 3) 菜單前的圖標能直觀的代表要完成的操作。
??????? 4) 菜單深度一般要求最多控制在三層以內。
??????? 5) 菜單的說明要跟彈出的窗體一致。
??????? 6) 大型軟件一般工具欄要求可以根據用戶的要求自己選擇定制。
??????? 7) 相同或相近功能的工具按鈕放在一起。
??????? 8) 工具欄中的每一個按鈕要有及時提示信息。
??????? 9) 一條工具欄的長度最長不能超出屏幕寬度。
??????? 10) 工具欄太多時可以考慮使用工具箱。
??????? 11) 工具箱要具有可增減性,由用戶自己根據需求定制。
??????? 12) 工具箱的默認總寬度不要超過屏幕寬度的1/5。
??????? 13) 狀態條要能顯示用戶切實需要的信息,常用的有:
??????????????? 目前的操作、系統狀態、用戶位置、用戶信息、提示信息、錯誤信息等,如果某一操作需要的?????? ??????????????? 時間較長,還應該顯示進度條和進程提示。
??????? 14) 狀態條的高度以放置五號字為宜,滾動條的寬度比狀態條的略窄。
??????? 15) 菜單和工具條要有清楚的界限;菜單要求凸出顯示,這樣在移走工具條時仍有立體感。
??????? 16) 右鍵快捷菜單采用與菜單相同的準則,且右鍵快捷菜單在對話框中不應出現。
??? 1.3 幫助設施
??????? 系統應該提供詳盡而可靠的幫助文檔,在用戶使用產生迷惑時可以自己尋求解決方法。
??????? 1) 操作時要提供及時調用系統幫助的功能。常用F1。
??????? 2) 在界面上調用幫助時應該能夠及時定位到與該操作相對的幫助位置。也就是說幫助要有即時針對性。
??????? 3) 最好提供目前流行的聯機幫助格式或HTML幫助格式。
??????? 4) 用戶可以用關鍵詞在幫助索引中搜索所要的幫助,當然也應該提供幫助主題詞。
??????? 5) 打包新系統時,對作了修改的地方在幫助文檔中要做相應的修改。
??????? 6) 在幫助中應該提供我們的技術支持方式,一旦用戶難以自己解決可以方便的尋求新的幫助方式。
??? 1.4 合理性
??????? 屏幕對角線相交的位置是用戶直視的地方,正上方四分之一處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個位置。
??????? 1) 父窗體或主窗體的中心位置應該在對角線焦點附近。即采取屏幕居中。
??????? 2) 子窗體位置應該在主窗體的左上角或正中。
??????? 3) 多個子窗體彈出時應該依次向右下方偏移,以顯示出窗體標題為宜。
??????? 4) 重要的命令按鈕與使用較頻繁的按鈕要放在界面上較注目的位置。
??????? 5) 與正在進行的操作無關的按鈕應該加以屏蔽(Windows中用灰色顯示,沒法使用該按鈕)。
??????? 6) 對可能造成數據無法恢復的操作必須提供確認信息,給用戶放棄選擇的機會。并且將按鈕的缺省焦點置在“取消”按鈕上。
??????? 7) 非法的輸入或操作應有足夠的提示說明。
??????? 8) 對運行過程中出現問題而引起錯誤的地方要有提示,讓用戶明白錯誤出處,避免形成無限期的等待。
??????? 9) 提示、警告、或錯誤說明應該清楚、明了、恰當。
??????? 10) 對于需要執行長時間的操作,必須使用狀態條,讓用戶了解進展情況,避免使用戶誤解為死機。
??????? 11) 大多數下拉框(ComboBox),應該不允許用戶輸入,如果需要輸入,應在設計文檔中指出。
??????? 12) 當下拉框(ComboBox)允許用戶不選擇任何選項時,不應顯示一個空的選項,應使用文字描述,如“請選擇…”等。
??????? 13) 對于文本框(TextBox)一般需要根據其對應的數據庫字段的類型以及長度來限制用戶允許輸入的字符和長度,測試時要注意輸入框中的數值的最大數和最小數,以及默認值、空白值或空格時的情況。
??????? 14) 對于ListView以Report形式(ViewStyle屬性=vsReport)顯示數據,一般要求實現列排序,如果由于特殊原因不能實現列排序,應該禁止用戶點擊列。
??????? 15) 對于日期輸入框是否接受正確的日期輸入;是否拒絕錯誤的日期輸入;日期輸入框在日期輸入后是否按既定的日期格式顯示日期。
??????? 16) 對于單選組內是否有且只有一個單選鈕可選;如果單選組內無單選鈕可選,這種情況是否允許存在。
??????? 17) 復選框組內是否允許多個復選框(包括全部可選)可選;如果復選框組內無復選框可選,這種情況是否允許存在;文本框及某些控件拒絕輸入和選擇時顯示區域是否變灰或按既定規約處理。
??????? 18) 密碼輸入框是否按掩碼的方式顯示。
??????? 19) 對于有增加、修改或刪除等有變動操作的頁面,要隨操作及時刷新。
??????? 20) 對于數據錄入界面,重點考慮如何提高用戶的錄入速度。例如界面中有“身份證號”和“出生日期”,當用戶輸入了一個合法的身份證號后,系統應該自動根據身份證號將出生日期提取出來并填入“出生日期”控件中。
??????? 21) 系統的提示框樣式應統一,即使用標準的Windows提示框,其中包括標題、圖標、提示語和功能按鈕。圖標使用要規范,要根據提示信息的性質選擇不同的圖標,而且除非嚴重的錯誤,一般不使用“X”圖標,以免使用戶產生畏懼心理。
??????? 22) 如果系統中需要經常錄入一些重復數據,應考慮將其提取出來,讓用戶進行一次配置,然后系統自動根據配置完成該信息的錄入。例如:系統有登記企業信息的功能,其中企業信息包括該企業所在的省、市、區,由于該系統安裝到某個市級單位后,所登記企業的所在省、市都是確定的,讓用戶每次登記時都重復選擇省、市將給用戶帶來很大的不便。應該由用戶在系統初始化時設置好缺省的省、市,在企業登記時只要選擇該企業所在的區即可,這樣就提高了用戶的登記效率。
??????? 23) 對于輸入型控件禁止為其指定輸入法。
??????? 24) 窗體顯示后,缺省的焦點應該設在最合理的控件上,方便用戶操作。
??????? 25) 輸入型控件一般不允許只輸入空格或可存入輸入值兩端的空格。
??? 1.5 美觀與協調性
??????????? 界面大小應該適合美學觀點,感覺協調舒適,能在有效的范圍內吸引用戶的注意力。
??????? 1) 長寬接近黃金點比例(寬高比為4:3),切忌長寬比例失調。
??????? 2) 布局要合理,不宜過于密集,也不能過于空曠,合理的利用空間。
??????? 3) 按鈕大小基本相近,忌用太長的名稱,免得占用過多的界面位置,要與界面的大小和空間要協調。
??????? 4) 避免空曠的界面上放置很大的按鈕。
??????? 5) 放置完控件后界面不應有很大的空缺位置。
??????? 6) 字體的大小要與界面的大小比例協調, 通常使用的字體中宋體9-12較為美觀,很少使用超過12號的字體。建議使用宋體9號字。
??????? 7) 前景與背景色搭配合理協調,反差不宜太大,最好少用深色,如大紅、大綠等。常用色考慮使用Windows界面色調。
??????? 8) 如果使用其他顏色,主色要柔和,具有親和力與磁力,堅決杜絕刺目的顏色。
??????? 9) 大型系統常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。
??????? 10) 界面風格要保持一致,字的大小、顏色、字體要相同,除非是需要藝術處理或有特殊要求的地方。
??????? 11) 如果窗體支持最小化和最大化或放大時,窗體上的控件也要隨著窗體而縮放;切忌只放大窗體而忽略控件的縮放。對于窗體中包含ListView、TreeView、DBGrid、StringGrid等控件,必須支持最大化,使用戶能夠盡量多的獲得信息。當處于“往下還原”狀態時,默認窗體應居中。
??????? 12) 如果能給用戶提供自定義界面風格則更好,由用戶自己選擇顏色、字體等。
??????? 13) 除主窗體外,其他窗體大部分都要支持敲“Esc”鍵退出的功能,除非設計文檔中特殊指明。
??? 1.6 菜單位置
??????????? 菜單是界面上最重要的元素,菜單位置按照按功能來組織。
??????? 1) 菜單通常采用“常用--主要--次要--工具--幫助”的位置排列,符合流行的Windows風格。
??????? 2) 常用的有“文件”、“編輯”,“查看”等,幾乎每個系統都有這些選項,當然要根據不同的系統有所取舍。
??????? 3) 下拉菜單要根據菜單選項的含義進行分組,并切按照一定的規則進行排列,用橫線隔開。
??????? 4) 一組菜單的使用有先后要求或有向導作用時,應該按先后次序排列。
??????? 5) 沒有順序要求的菜單項按使用頻率和重要性排列,常用的放在開頭, 不常用的靠后放置;重要的放在開頭,次要的放在后邊。
??????? 6) 如果菜單選項較多,應該采用加長菜單的長度而減少深度的原則排列。
??????? 7) 對常用的菜單要有快捷命令方式。
??????? 8) 對與進行的操作無關的菜單要用屏蔽的方式加以處理,如果采用動態加載方式——即只有需要的菜單才顯示——最好。
??????? 9) 菜單前的圖標不宜太大,與字高保持一致最好。
??????? 10) 主菜單的寬度要接近,字數不應多于四個,每個菜單的字數能相同最好。
??????? 11) 主菜單數目不應太多,最好為單排布置。
??? 1.7 獨特性
??????? 如果一味的遵循業界的界面標準,則會喪失自己的個性.在框架符合以上規范的情況下,設計具有自己獨特風格的界面尤為重要。尤其在商業軟件流通中有著很好的潛移默化的廣告效用。
??????? 1) 安裝界面上應有單位介紹或產品介紹,并有自己的圖標。
??????? 2) 主界面,最好是大多數界面上要有公司圖標。
??????? 3) 登錄界面上要有本產品的標志,同時包含公司圖標。
??????? 4) 幫助菜單的“關于”中應有版權和產品信息。
??????? 5) 公司的系列產品要保持一致的界面風格,如背景色、字體、菜單排列方式、圖標、安裝過程、按鈕用語等應該大體一致。
??? 1.8 快捷方式的組合
在菜單及按鈕中使用快捷鍵可以讓喜歡使用鍵盤的用戶操作得更快一些,在西文Windows及其應用軟件中快捷鍵的使用大多是一致的。
菜單中:
??????? 1) 面向事務的組合有:
組合鍵 Ctrl-D Ctrl-F Ctrl –H Ctrl-I Ctrl-N Ctrl-S Ctrl-O
??? 功能 刪除 尋找 替換 插入 新記錄 保存 打開
??????? 2) 編輯:
組合鍵 Ctrl-A Ctrl-C Ctrl-V Ctrl-X Ctrl-Z Ctrl-Y
功能 全選 拷貝 粘貼 剪切 撤消操作 恢復操作
??????? 3) 文件操作:
組合鍵 Ctrl-P Ctrl-W
功能 打印 關閉
??????? 4) 系統菜單
組合鍵 Alt-F Alt-E Alt-T Alt-W Alt-H
功能 文件 編輯 工具 窗口 幫助
??????? 5) MS Windows保留鍵:
組合鍵 Ctrl-Esc Ctrl-F4 Alt-F4 Alt-Tab Enter Esc Shift-F1
功能 任務列表 關閉窗口 結束應用 下一應用 缺省按鈕/確認操作 取消按鈕/取消操作 上下文相關幫助
??????? 6) 按鈕中:(可以根據系統需要而調節,以下只是常用的組合。)
組合鍵 Alt-Y Alt-C Alt-N Alt-D Alt-Q Alt-A Alt-E Alt-B Alt-R Alt-W
功能 確定 取消 否 刪除 退出 添加 編輯 瀏覽 讀 寫
這些快捷鍵也可以作為開發中文應用軟件的標準,但亦可使用漢語拼音的開頭字母。?
??????????????????????????????? 第二章 功能測試
在測試前,首先要根據《需求分析報告》全面了解用戶需求并透徹理解。測試時要注意以下幾點:
??????????? A、測試時要分清主次,即先測試主要功能,后測試次要功能。要選找出系統的功能主干,讓數據依次流經功能主干,測試功能實現的是否正確。只要功能主干有問題,這個系統就是失敗的。
??????????? B、 功能主干用正常正確后,我們還要考慮測試其異常處理功能。
??????????? C、 功能主干測試正確后,再進行分支功能的測試。
??????????? E、要對程序的功能進行方便性測試,將不夠滿意的地方,都應當成系統缺陷向項目負責人或系統開發者指出。
??????????? F、檢查系統需求和設計說明書中要求的功能是否在系統中都被實現、性能是否達到指標。
??????????? G、數據之間的邏輯關系是否正確。
??????????? H、要有預覽和打印功能。對于企業端軟件,打印不能只針對一種打印機,要用多種打印機進行測試。
??????????????????????????????? 第三章 環境測試
??????? 配置測試環境是測試實施的一個重要階段,測試環境適合與否會嚴重影響測試結果的真實性和正確性。測試環境包括硬件環境和軟件環境,硬件環境指測試必需的服務器、客戶端、網絡連接設備,以及打印機/掃描儀等輔助硬件設備所構成的環境;軟件環境指被測軟件運行時的操作系統、數據庫及其他應用軟件構成的環境。在實際測試中,軟件環境又可分為主測試環境和輔測試環境。主測試環境是測試軟件功能、安全可靠性、性能、易用性等大多數指標的主要環境。一般來說,配置主測試環境可遵循下列原則:
??????? 1.符合軟件運行的最低要求。測試環境首先要保證能支撐軟件正常運行。
??????? 2.選用比較普及的操作系統和軟件平臺。一般都要在win98、win2000、2000server、windows xp下進行測試,除非軟件的設計文檔上有特殊要求。
??????? 3.要保證系統至少在時下流行的兩種以上的瀏覽器上測試通過。如IE5、IE5.5、IE6、NS7等。
4.營造相對簡單、獨立的測試環境。除了操作系統,測試機上只安裝軟件運行和測試必需的軟件,以避免不相關的軟件影響測試實施。
??????? 5.無毒的環境。利用有效的正版殺毒軟件檢測軟件環境,保證測試環境中沒有病毒。并檢測軟件與時下流行的兩種殺毒軟件沒有充突。
??????? 6.分辨率環境。要在不同的分辨率下進行測試,保證軟件的每個頁面的顯示都正常。對于在Win2000下編制的程序,應在Win9X環境下檢查界面上的字體和控件是否失真。
??????? 7.網絡環境。要看網絡連接是否正常;是否需要局域網和互聯網等。
輔測試環境常常用來滿足不同的測試需求或特殊測試項目:
(1)兼容性測試:在滿足軟件運行要求的范圍內,可選擇一些典型的操作系統和常用應用軟件對其安裝卸載和主要功能進行驗證。
(2)模擬真實環境測試:有些軟件,特別是面向大眾的商品化軟件,在測試時常常需要考察在真實環境中的表現。如測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環境,這樣測試出來的數據才有實際意義。
???????(3) 橫向對比測試:利用輔測試環境“克隆”出完全一致的測試環境,從而保證各個被測軟件平等對比。
??????????????????????????????? 第四章 壓力測試
??????? 壓力測試用來檢查程序對異常情況的抵抗能力。當關于容量的信息不確定的時候,需要確定是否分配了足夠的磁盤空間,通訊的容量是否足夠,測試系統過載的情況。壓力測試總是迫使系統在異常的資源配置下運行。例如,
????????①當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中斷的測試用例;
??????? ②定量地增長數據輸入率,檢查輸入子功能的反映能力;
??????? ③運行需要最大存儲空間(或其他資源)的測試用例;
??????? ④運行可能導致虛存操作系統崩潰或磁盤數據劇烈抖動的測試用例;
??????? ⑤多用戶、超過系統設定的用戶同時使用系統;
??????? ⑥以比預期更快的速度與系統進行交互;
??????? ⑦讓系統長時間運行等等。
??????????????????????????????? 第五章 恢復測試
????????恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統?;謴蜏y試首先要采用各種辦法強迫系統失敗,然后驗證系統是否能盡快恢復。對于自動恢復需驗證重新初始化、檢查點、數據恢復和重新啟動等機制的正確性;對于人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。
??????????????????????????????? 第六章 性能測試
??????? 性能測試主要是對響應時間、事務處理速率、數據顯示速度、計算速度、網絡傳輸速度、數據庫查詢響應時間、掃描時間、掃描識別率等和其他與時間相關的需求進行評測和評估。性能評測的目標是核實性能需求是否都已滿足。實施和執行性能評測的目的是將測試對象的性能行為當作條件(例如工作量或硬件配置)的一種函數來進行評測和微調。
對于那些實時和嵌入式系統,軟件部分即使滿足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當系統真正集成之后,在真實環境中才能全面、可靠地測試運行性能系統性能測試是為了完成這一任務。性能測試有時與強度測試相結合,經常需要其他軟硬件的配套支持。
另外,還需要注意程序對系統消耗資源的測試,如CPU負載、內存、顯存、硬盤資源消耗情況。
??????????????????????????????? 第七章 安全測試
安全測試檢查系統對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,
??????? ①想方設法截取或破譯口令;
??????? ②專門定做軟件破壞系統的保護機制;
??????? ③故意導致系統失敗,企圖趁恢復之機非法進入;
??????? ④試圖通過瀏覽非保密數據,推導所需信;
??????? ⑤權限控制是否合理、正確等等。
??????? 理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的準則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。
??????????????????????????????? 第八章 安裝測試
??????? A、在一臺與用戶的運行環境基本一致,沒有安裝過開發工具(如BCB、DELPHI、VB或VC)和沒有安裝過特殊字體的計算機上,依據產品《使用手冊》/《安裝手冊》中的安裝說明部分進行安裝,要求無論是自動安裝和手工配置都能夠依據向導正確實施安裝,安裝退出后,軟件能正確啟運、運行。
??????? B、產品安裝界面上的提示要正確,對安裝起指導作用,版權說明文件與該程序相符。
??????? C、安裝時,對默安裝路徑、用戶自己指定的路徑都要求能進行正確安裝。
??????? D、用戶自已指定路徑時,如為已存在路徑能夠進行安裝,如為不存在的路徑,應能創建該路徑并進行安裝。
??????? E、程序安裝完成后,在開始-程序菜單中要生成中文的快捷方式或程序組,本公司的軟件產品,要生成“伍陸柒捌**軟件”程序組,在其下生成中文的快捷方式。
??????? F、卸載測試,如果系統提供自動卸載工具,那卸載后,檢查是否把所有文件都全部刪除,注冊表中的有關注冊信息是否也被刪除。
??????? G、安裝完成在簡單的使用后在執行卸載操作,看是否能執行成功。
??????? H、先安裝客戶端,在安裝服務端,看是否會出現問題。
??????? I、考察安裝該系統是否對其他的應用程序造成影響。
??????????????????????????????? 第九章 文檔測試
??????? 將文檔同程序相比較,看是否有不相符的情況。檢查文檔的截圖是否跟程序一致,檢查文檔是否有錯字或不符合語法規范的地方。
??????? A、程序的幫助文檔要說明準確、通俗易懂,不用專業術語,且操作步驟要符合程序的要求。
??????? B、要圖文并茂,易于理解。
??????? C、從程序抓取的圖片中,數據要有代表意義,而不是一些亂七八糟的字母、數字的組合。有意義的數據也能對用戶的操作起著指導作用。
??????? 總之,對文檔要進行完整性校驗、正確性校驗、一致性校驗、易理解性校驗、易瀏覽性校驗、版本統一性校驗。
??????????????????????????????? 第十章 回歸測試
當程序修改后,為了確保功能的正確性,需要重新測試應用程序中沒有改變的部分。
在時間和條件允許的情況下,要測試修改相關的整個模塊甚至整個程序。
??????????????????????????????????????????????? 第二部分 WEB程序的測試
一、按測試類型分類
??????? 字段編輯測試。字段編輯檢查要查看格式編排、邊界以及計算錯誤。如果日期需要限制在特定的時間范圍內,該軟件是否允許輸入該時間范圍外的日期?是否要求數字字段只包含數字?如果輸入了字母會出現什么情況?如果包含計算,計算執行是否正確?字段輸入框對請求的輸入來說,是否足夠大?如果有下拉框,其值否正確??
??????? 流控制和狀態測試。在用戶填寫完表單中的字段并按下按鈕后,邏輯是否會到達期望的進程?下一次顯示同一頁面時,其中的值是否正確?有時頁面第一次顯示了正確的值,而以后不再顯示;或者情況相反。
配置測試。在可行的情況下,會用盡可能多的“受支持服務器”和客戶程序配置對應用程序進行測試。
負載測試。在將頁面或 Web 應用程序作為整體進行測試之前,應首先在組件級別進行負載和性能測試,以確保應用程序的每一部分能夠在適當的指標下運行。這種隔離測試使測試小組能夠更迅速地發現使用特定技術的問題。如果一個執行數據庫查詢功能的小腳本太慢,進行組件級別的測試比進行整個頁面或應用程序測試更容易發現它。?
??????? 回歸測試。開發部門修復了代碼中的錯誤后,我們會重新進行測試,以檢查錯誤是否被修復并確保所做的修復不會引起其它問題。
二、按窗體位置分類:
??????? 左側導航窗格:
??????????????? 是否能夠在左側的導航窗格中來回移動,該窗格顯示是否正確?
??????????????? 是否能夠在大于屏幕的區域內滾動?
??????????????? 是否能夠選擇不同的新聞組,文章列表是否顯示在右上窗格中?
??????????????? 是否能夠調整左側導航窗格以及右上和右下窗格的大小?
??????? 右上窗格:
??????????????? 右上窗格是否正確地顯示文章,是否保持了每篇文章的連載狀況?
??????????????? 是否可以遍歷連載文章?
??????????????? 讀過一篇文章后,它是否被標記為紅色?
??????????????? 如果文章列表大于一個頁面,是否能夠遍歷右上窗格中的各個頁面?
??????? 右下窗格:
??????????????? 是否可以選擇一篇文章并顯示在該頁面的右下窗格中?
??????????????? 是否能夠發布新消息,回復組,回復個人或轉發文章?
??????????????? 在回復個人或轉發消息時,默認的郵件客戶程序是否啟動并顯示新消息??
??????????????? 是否能夠伴隨文章發送附件?
??????????????? 是否可以查看附件?
??????? 工具欄:
??????????????? 驗證工具欄適合其所在的頁面并能夠根據瀏覽器窗口調整大小。
??????????????? 驗證本地菜單能夠正常運行。
??????????????? 驗證本地菜單中的鏈接。
??????????????? 驗證全局菜單能夠正常運行。
??????????????? 驗證全局菜單中的鏈接。
??????????????? 驗證工具欄上的所有圖形。
??????????????? 驗證工具欄框架大小不可調整。
界面測試
站點地圖和導航條
確認你測試的站點是否有地圖。有些網絡高手可以直接去自己要去的地方,而不必點擊一大堆頁面。另外新用戶在網站中可能會迷失方向。站點地圖和/或導航條可以引導用戶進行瀏覽。需要驗證站點地圖是否正確。確認地圖上的鏈接是否確實存。地圖有沒有包括站點上的所有鏈接。是否每個頁面都有導航條? 導航條是否一致? 每個頁面的鏈接是否正常? 導航條是否直觀?
內容
測試人員應確保站點看起來更專業些。過分地使用粗體字、大字體和下劃線可能會讓用戶感到不舒服。在進行用戶可用性方面的測試時,最好先請圖形設計專家對站點進行評估。你可能不希望看到一篇到處是黑體字的文章,所以相信您也希望自己的站點能更專業一些。 最后,需要確定是否列出了相關站點的鏈接。很多站點希望用戶將郵件發到一個特定的地址,或者從某個站點下載瀏覽器。但是如果用戶無法點擊這些地址,他們可能會覺得很迷惑。
顏色/背景
由于 web 日益流行,很多人把它看作圖形設計作品。不幸的是,有些開發人員對新的背景顏色更感興趣,以至于忽略了這種背景顏色是否易于瀏覽。典型的站點是在紫色圖片的背景上顯示黃色的文本(如果你沒有見過這樣的站點,請瀏覽一下 GeoCities 或 AOL 上的個人主頁,有不少這樣的)。這種頁面顯得"非常高貴",但是看起來很費勁。通常來說,使用少許或盡量不使用背景是個不錯的選擇。如果您想用背景,那么最好使用單色的,和導航條一起放在頁面的左邊。另外,圖案和圖片可能會轉移用戶的注意力。
圖片
無論作為屏幕的聚焦點或作為指引的小圖標,一張圖片都勝過千言萬語。有時,告訴用戶一個東西的最好辦法就是將它展示給用戶。但是,帶寬對客戶端或服務器來說都是非常寶貴的,所以要注意節約使用內存。是否所有的圖片對所在的頁面都是有價值的,或者它們只是浪費帶寬? 使用其它的文件格式(.GIF, .JPG) 是否能使圖片的大小減小到 30k 以下? 通常來說,不要將大圖片放在首頁上,因為這樣可能會使用戶放棄下載首頁。如果用戶可以很快看到首頁,他可能會瀏覽站點,否則可能放棄。
表格
需要驗證表格是否設置正確。用戶是否需要向右滾動頁面才能看見產品的價格?把價格放在左邊,而把產品細節放在右邊是否更有效? 每一欄的寬度是否足夠寬,表格里的文字是否都有折行?是否有因為某一格的內容太多,而將整行的內容拉長?
回繞
最后,需要驗證的是文字回繞是否正確。如果說明文字指向右邊的圖片,應該確保該圖片出現在右邊。不要因為使用圖片而使窗口和段落排列古怪或者出現孤行。
功能測試
鏈接
鏈接是使用戶從一個頁面瀏覽到另一個頁面的重要手段。對于每個鏈接,需要驗證兩件事情: 一是該鏈接將用戶帶到它所說明的地方,另外就是被鏈接頁面是存在的。這句話聽起來有些問題,但是有很多多站點的內部鏈接都是空的。這實在是無法忍受。
表單
當用戶通過表單提交信息的時候,都希望表單能正常工作。如果使用表單來進行在線注冊,要確保提交按鈕能正常工作,當注冊完成后應返回注冊成功的消息。如果使用表單收集配送信息,應確保程序能夠正確處理這些數據,最后能讓顧客能讓客戶收到包裹。要測試這些程序,需要驗證服務器能正確保存這些數據,而且后臺運行的程序能正確解釋和使用這些信息。
數據校驗
如果系根據業務規則需要對用戶輸入進行校驗,需要保證這些校驗功能正常工作。例如,省份的字段可以用一個有效列表進行校驗。在這種情況下,需要驗證列表完整而且程序正確調用了該列表(例如在列表中添加一個測試值,確定系統能夠接受這個測試值)。
Cookies
很多用戶喜歡甜食,但是開發人員喜歡 web cookie (小甜餅)。如果系統使用了cookie,測試人員需要對它們進行檢測。如果在 cookies 中保存了注冊信息,請確認該 cookie能夠正常工作而且已對這些信息已經加密。如果使用 cookie 來統計次數,需要驗證次數累計正確。
應用程序特定的功能需求
最重要的是,測試人員需要對應用程序特定的功能需求進行驗證。嘗試用戶可能進行的所有操作:下訂單、更改訂單、取消訂單、核對訂單狀態、在貨物發送之前更改送貨信息、在線支付等等。這是用戶之所以使用網站的原因,一定要確認網站能像廣告宣傳的那樣神奇。
接口測試
在很多情況下,web 站點不是孤立。Web 站點可能會與外部服務器通訊,請求數據、驗證數據或提交訂單。
服務器接口
第一個需要測試的接口是瀏覽器與服務器的接口。測試人員提交事務,然后查看服務器記錄,并驗證在瀏覽器上看到的正好是服務器上發生的。測試人員還可以查詢數據庫,確認事務數據已正確保存。
外部接口
有些 web 系統有外部接口。例如,網上商店可能要實時驗證信用卡數據以減少欺詐行為的發生。測試的時候,要使用 web 接口發送一些事務數據,分別對有效信用卡、無效信用卡和被盜信用卡進行驗證。如果商店只使用 Visa 卡和 Mastercard 卡, 可以嘗試使用 Discover 卡的數據。(簡單的客戶端腳本能夠在提交事務之前對代碼進行識別,例如 3 表示 American Express,4 表示 Visa,5 表示 Mastercard,6 代表Discover。)通常,測試人員需要確認軟件能夠處理外部服務器返回的所有可能的消息。
錯誤處理
最容易被測試人員忽略的地方是接口錯誤處理。通常我們試圖確認系統能夠處理所有錯誤,但卻無法預期系統所有可能的錯誤。嘗試在處理過程中中斷事務,看看會發生什么情況?訂單是否完成?嘗試中斷用戶到服務器的網絡連接。嘗試中斷 web 服務器到信用卡驗證服務器的連接。在這些情況下,系統能否正確處理這些錯誤?是否已對信用卡進行收費?如果用戶自己中斷事務處理,在訂單已保存而用戶沒有返回網站確認的時候,需要由客戶代表致電用戶進行訂單確認。
兼容性測試
需要驗證應用程序可以在用戶使用的機器上運行。如果您用戶是全球范圍的,需要測試各種操作系統、瀏覽器、視頻設置和 modem 速度。最后,還要嘗試各種設置的組合。
操作系統
你的站點能否在 MAC 和IBM 兼容系統上瀏覽? 有些字體在某個系統上可能不存在,因此需要確認選擇了備用字體。如果用戶使用兩種操作系統,請確認站點未使用只能在其中一種操作系統上運行的插件。
瀏覽器
站點能否使用 Netscape、Internet Explorer 或Lynx 進行瀏覽? 有些 HTML 命令或腳本只能在某些特定的瀏覽器上運行。請確認有圖片的替代文字,因為可能會有用戶使用文本瀏覽器。如果您使用 SSL 安全特性,則只需對 3.0 以上版本的瀏覽器進行驗證,但是對于老版本的用戶應該有相關的消息提示。
視頻設置
頁面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否顯示正常? 字體是否太小以至于無法瀏覽? 或者是太大? 文本和圖片是否對齊?
Modem/連接速率
是否有這種情況,用戶使用 28.8 modem下載一個頁面需要 10 分鐘,但測試人員在測試的時候使用的是 T1 專線? 用戶在下載文章或演示的時候,可能會等待比較長的時間,但卻不會耐心等待首頁的出現。最后,需要確認圖片不會太大。
打印機
用戶可能會將網頁打印下來。因此網也在設計的時候要考慮到打印問題,注意節約紙張和油墨。有不少用戶喜歡閱讀而不是盯著屏幕,因此需要驗證網頁打印是否正常。有時在屏幕上顯示的圖片和文本的對齊方式可能與打印出來的東西不一樣。測試人員至少需要驗證訂單確認頁面打印是正常的。
組合測試
最后需要進行組合測試。600x800 的分辨率在 MAC 機上可能不錯,但是在 IBM 兼容機上卻很難看。在 IBM 機器上使用 Netscape 能正常顯示,但卻無法使用 Lynx 來瀏覽。如果是內部使用的 web 站點,測試可能會輕松一些。如果公司指定使用某個類型的瀏覽器,那么只需在該瀏覽器上進行測試。如果所有的人都使用 T1 專線,可能不需要測試下載施加。(但需要注意的是,可能會有員工從家里撥號進入系統) 有些內部應用程序,開發部門可能在系統需求中聲明不支持某些系統而只支持一些那些已設置的系統。但是,理想的情況是,系統能在所有機器上運行,這樣就不會限制將來的發展和變動。
負載/壓力測試
測試需要驗證系統能否在同一時間響應大量的用戶,在用戶傳送大量數據的時候能否響應,系統能否長時間運行??稍L問性對用戶來說是極其重要的。如果用戶得到“系統忙”的信息,他們可能放棄,并轉向競爭對手。系統檢測不僅要使用戶能夠正常訪問站點,在很多情況下,可能會有黑客試圖通過發送大量數據包來攻擊服務器。出于安全的原因,測試人員應該知道當系統過載時,需要采取哪些措施,而不是簡單地提升系統性能。
瞬間訪問高峰
如果您的站點用于公布彩票的抽獎結果,最好使系統在中獎號碼公布后的一段時間內能夠響應上百萬的請求。負載測試工具能夠模擬 X 個用戶同時訪問測試站點。
每個用戶傳送大量數據
網上書店的多數用戶可能只訂購 1-5 書,但是大學書店可能會訂購 5000 本有關心理學介紹的課本? 或者一個祖母為她的 50 個兒孫購買圣誕禮物(當然每個孩子都有自己的郵件地址) 系統能處理單個用戶的大量數據嗎?
長時間的使用
如果站點用于處理鮮花訂單,那么至少希望它在母親節前的一周內能持續運行。如果站點提供基于 web 的 email 服務,那么點最好能持續運行幾個月,甚至幾年??赡苄枰褂米詣訙y試工具來完成這種類型的測試,因為很難通過手工完成這些測試。你可以想象組織100 個人同時點擊某個站點。但是同時組織 100000 個人呢。通常,測試工具在第二次使用的時候,它創造的效益,就足以支付成本。而且,測試工具安裝完成之后,再次使用的時候,只要點擊幾下。
安全性測試
即使站點不接受信用卡支付,安全問題也是非常重要的。Web 站點收集的用戶資料只能在公司內部使用。如果用戶信息被黑客泄露,客戶在進行交易時,就不會有安全感。
目錄設置
Web 安全的第一步就是正確設置目錄。每個目錄下應該有 index.html 或 main.html 頁面,這樣就不會顯示該目錄下的所有內容。我服務的一個公司沒有執行這條規則。我選中一幅圖片,單擊鼠標右鍵,找到該圖片所在的路徑"…com/objects/images"。然后在瀏覽器地址欄中手工輸入該路徑,發現該站點所有圖片的列表。這可能沒什么關系。我進入下一級目錄 "…com/objects" ,點擊 jackpot。在該目錄下有很多資料,其中引起我注意的是已過期頁面。該公司每個月都要更改產品價格,并且保存過期頁面。我翻看了一下這些記錄,就可以估計他們的邊際利潤以及他們為了爭取一個合同還有多大的降價空間。如果某個客戶在談判之前查看了這些信息,他們在談判桌上肯定處于上風。
SSL
很多站點使用 SSL 進行安全傳送。你知道你進入一個 SSL 站點是因為瀏覽器出現了警告消息,而且在地址欄中的 HTTP 變成 HTTPS。如果開發部門使用了SSL,測試人員需要確定是否有相應的替代頁面(適用于3.0 以下版本的瀏覽器,這些瀏覽器不支持SSL。當用戶進入或離開安全站點的時候,請確認有相應的提示信息。是否有連接時間限制?超過限制時間后出現什么情況?
登錄
有些站點需要用戶進行登錄,以驗證他們的身份。這樣對用戶是方便的,他們不需要每次都輸入個人資料。你需要驗證系統阻止非法的用戶名/口令登錄,而能夠通過有效登錄。用戶登錄是否有次數限制? 是否限制從某些 IP 地址登錄? 如果允許登錄失敗的次數為3,你在第三次登錄的時候輸入正確的用戶名和口令,能通過驗證嗎? 口令選擇有規則限制嗎?
日志文件
在后臺,要注意驗證服務器日志工作正常。日志是否記所有的事務處理? 是否記錄失敗的注冊企圖? 是否記錄被盜信用卡的使用? 是否在每次事務完成的時候都進行保存? 記錄IP 地址嗎? 記錄用戶名嗎?
腳本語言
腳本語言是常見的安全隱患。每種語言的細節有所不同。有些腳本允許訪問根目錄。其他只允許訪問郵件服務器,但是經驗豐富的黑客可以將服務器用戶名和口令發送給他們自己。找出站點使用了哪些腳本語言,并研究該語言的缺陷。最好的辦法是訂閱一個討論站點使用的腳本語言安全性的新聞組。
結論
無論你在測試 internet、intranet 或者是 extranet 應用程序,web 測試相對于非 web 測試來說都是更具挑戰性的工作。用戶對 web 頁面質量有很高的期望。在很多情況下,就像業務功能一樣,頁面用于維護和發展公共關系,所以第一印象非常重要。
??????????????????????????????????????????????? 第三部分 數據庫程序的測試
??????? 1.?如果要向SQL數據庫中保存時間,時間的年份必須大于等于1753年,如果小于1753年,修改數據庫時會出錯。
??????? 2.?測試數據庫程序時,除了要測試每個數據庫操作是否正確外,要著重測試數據庫共享問題,即多人同時執行同一功能,這樣就會同時對同一數據表進行操作,測試程序是否正常。
??????? 3.?測試數據庫程序時,還要測試數據庫操作的速度,如果數據庫操作緩慢,應通知程序員進行優化。
(引自葛宏賓)
作者Blog:http://blog.csdn.net/hiyaolee/
?
轉載于:https://www.cnblogs.com/xinyuxin912/archive/2006/09/01/492654.html
總結
以上是生活随笔為你收集整理的程 序 测 试 规 范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OJ1078: a+b(多实例测试1)(
- 下一篇: ZZULIOJ 1099: 角谷猜想(多