摘 要:本文通過對功能性測試的依據(jù)、流程、測試項目、測試用例編制等的描述,總結(jié)了本人在實際功能測試工作中的測試經(jīng)驗、方法,對軟件測試工作中應用到的測試技術加以研究。
關鍵字:功能性測試;測試流程;測試用例;邊界值分析法;測試工具
1 軟件測試
1.1 什么是軟件測試
軟件測試是在規(guī)定條件下對程序進行操作,以發(fā)現(xiàn)錯誤,對軟件質(zhì)量進行評估。軟件是由文檔、數(shù)據(jù)、程序組成的,軟件測試就是對軟件形成過程的文檔、數(shù)據(jù)、程序進行的測試,而不僅僅是對程序進行的測試。
1.2 軟件測試的目的
我們進行軟件測試的目的有:
找出軟件的缺陷,通過修正各種錯誤和缺陷提高軟件產(chǎn)品質(zhì)量;測試是對軟件產(chǎn)品的度量、評估,以驗證軟件產(chǎn)品質(zhì)量滿足用戶需求的程度;通過對錯誤產(chǎn)生原因的分析,有效改進開發(fā)的過程控制;提供可靠性分析的依據(jù)。
1.3 軟件測試的原則
我們在測試軟件時會遵守一定的原則,下面介紹一下我們工作中所遵守的原則:所有的軟件測試都應追溯到用戶的需求;應當把\"盡早地和不斷地進行軟件測試\"作為軟件測試者的座右銘;完全測試是不可能的,測試需要終止;測試無法顯示軟件潛在的缺陷;充分注意測試中的群集現(xiàn)象;程序員應避免檢查自己的程序;盡量避免測試的隨意性。
2 功能性測試
軟件功能性測試就是對產(chǎn)品的各功能進行驗證,根據(jù)功能性測試用例,逐項測試,檢查產(chǎn)品是否達到用戶要求的功能。對于軟件的功能性測試主要針對每種功能設計若干典型測試用例,軟件測試過程中運行測試用例,然后將得到的結(jié)果與已知標準答案進行比較。我們工作中的軟件產(chǎn)品登記測試,主要就是對軟件進行的功能性測試。
3 實際工作中的功能性測試依據(jù)
在實際的功能性測試工作中我們主要的依據(jù)有:
3.1 依據(jù)國家標準:《GB/T 17544-1998 信息技術 軟件包 質(zhì)量要求和測試》、《GB/T 16260.1 軟件工程 產(chǎn)品質(zhì)量 第1部分 質(zhì)量模型》。
3.2 依據(jù)軟件產(chǎn)品的《需求規(guī)格說明書》。
3.3 依據(jù)軟件產(chǎn)品的《使用說明書》等產(chǎn)品描述和用戶文檔。
3.4 依據(jù)軟件實際應用領域的相關要求。
我們工作中會按著這些的依據(jù)去進行功能性測試,使我們的測試工作正確,符合以上標準和依據(jù)。
4 實際工作中的功能性測試的測試流程
我們實際工作中要通過以下測試流程進行功能性測試:
需求分析→編制測試計劃→編制測試用例→測試環(huán)境搭建→測試執(zhí)行→測試記錄→出具問題報告單→與企業(yè)交流→企業(yè)整改→出具測試報告→測試文檔歸檔。
需求分析:包括軟件功能需求分析、測試環(huán)境需求分析、測試資源需求分析等。其中最基本的是軟件功能需求分析,測一款軟件首先要知道軟件能實現(xiàn)哪些功能以及是怎樣實現(xiàn)的。
編制測試計劃:是對測試的一個總體計劃,包括:測試依據(jù)、測試項目、測試組人員及負責人、測試計劃時間、系統(tǒng)描述、測試重點、測試軟硬件環(huán)境,還要包括測試計劃編制時間、編制人等信息。
編制測試用例:一份好的測試用例對測試有很好的指導作用,能夠發(fā)現(xiàn)很多軟件問題。我們在實際工作中一直在積累編制測試用例的經(jīng)驗,爭取編制出好的測試用例,來指導我們的測試工作。
測試環(huán)境搭建:符合要求的測試環(huán)境能夠幫助我們準確的測出軟件問題,并且做出正確的判斷。我們會根據(jù)不同軟件的運行環(huán)境要求,搭建符合該軟件運行的環(huán)境。
測試執(zhí)行、測試記錄:我們一般由兩個人組成一個測試小組進行測試,一人進行測試操作,一人進行測試記錄。
出具問題報告單:把記錄下來的軟件存在的問題,編寫成問題報告單。
與企業(yè)交流:把問題報告單與企業(yè)交流,使企業(yè)了解軟件存在的問題,以便整改。
出具測試報告:企業(yè)對軟件整改后,我方會出具一份測試報告,說明一下測試該軟件的測試結(jié)論。
我們在工作中,按著這樣的流程進行功能性測試,使我們的功能性測試得到很好的管理。
5 在實際測試工作中,我們針對功能性測試總結(jié)了以下測試時注意的測試項目:
軟件的安裝:按照安裝手冊中安裝說明是否能正確安裝并運行正常;通過鍵盤移動光標時,是否會出現(xiàn)丟失焦點的情況;通過鍵盤移動光標時,是否和排列的順序一致;每個功能按鈕是否有確定的功能?與按鈕的提示是否一致;對于日期、時間、數(shù)值類的設置項,是否有上下界的限制;對于定義的計算公式,是否進行了合法性檢查;設置的系統(tǒng)配置開關,是否有實際用途;進行系統(tǒng)設置后是否起作用;錄入非法字符,是否給出提示;單據(jù)號或單品號重復時,是否給出提示;按下命令按鈕,若不合規(guī)范是否給出提示;當超出一屏時,是否有上下左右滾動條;每個功能按鈕是否有確定功能?與按鈕的提示是否一致;所有的下拉選擇是否確實可用;光標到不可輸入列時,顯示是否為不可輸入狀態(tài);錄入數(shù)據(jù)的格式及提示,是否隨維護系統(tǒng)的修改而修改;錄入非法日期有何反映;單據(jù)號超出范圍是否響應;單據(jù)審核后,是否不可修改?若可修改,是否提供取消審核命令按鈕;錄入數(shù)據(jù)的修改,是否能影響不可錄入部分;關聯(lián)的字典是否正確;輸入字符串的長度限制是否正確;錄入的查詢條件不合法或無數(shù)據(jù),是否給出正確提示;查詢歷史數(shù)據(jù)時,查詢結(jié)果是否正常;是否定義了Esc鍵的默認功能?能否在任何時刻按Esc鍵退出;Enter鍵在錄入過程中,是否像Tab鍵一樣起跳到下一列的作用。
在工作中總結(jié)的以上功能性測試項目,可按著實際情況加以應用,通過實際的應用,我們的測試工作效率得到了很大的提高,測試質(zhì)量也較高。
6 功能性測試的測試用例編制
前面提到測試流程中,其中一個流程就是編制測試用例,好的測試用例,會使軟件測試順利進行,盡可能多的發(fā)現(xiàn)軟件存在的錯誤,我們一直努力做好此部分工作,設計出好的測試用例,幫助我們的測試工作達到測試目的。在編制測試用例時,我們學習并運用了一些功能性測試的測試用例設計方法進行編制,通過對這些方法的實際運用,按著編制的測試用例進行測試,基本能把軟件存在的錯誤測試出來,達到我們的測試目的,使我們得到了很多益處。
功能性測試的測試用例設計方法包括:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅(qū)動法、正交試驗法、功能圖法、場景法。
總結(jié)
在進行功能性測試過程中,要遵循測試原則,依據(jù)國家標準和相關文檔及相關要求,按照測試流程,運用一些測試技術和方法進行測試,使測試工作有章可循,有序、高效的進行。
在工作中,要加強對測試技術的學習,學習一些測試用例設計方法,總結(jié)一些測試經(jīng)驗和測試方法,這會給今后的測試工作帶來的諸多裨益,會使測試任務更好的完成,達到測試目的。另外,也可把測試工具應用到測試工作中,結(jié)合測試工具的優(yōu)點,測試工作會更加全面、準確?,F(xiàn)在,我們正要引進WinRunner功能測試工具,我們會學習WinRunner功能測試工具,并運用到實際的功能測試工作中,我們的測試工作會更上一層樓,工作效率會得到進一步提高。
參考文獻
[1] 柳純錄、黃子河等,《軟件評測師教程》,北京:清華大學出版社,2005年。