摘要:本文主要討論了軟件測試中的功能測試方法,及其在軟件系統(tǒng)中的應(yīng)用。相應(yīng)的著重分析了功能測試在軟件用戶測試中的應(yīng)用,并以某企業(yè)關(guān)鍵業(yè)務(wù)的評估管理系統(tǒng)為例進行了說明。由此得出結(jié)論,軟件測試的基本方法為用戶測試提出了較好的方案建議,完全可以應(yīng)用于軟件用戶測試中,只需注意用戶測試的自身特點。
關(guān)鍵詞:功能測試;用戶測試;測試方法
中圖分類號:TP393
軟件測試是一種用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程,而不能證明軟件完全沒有缺陷。軟件測試可分為黑盒測試和白盒測試,他們的主要區(qū)別在于是否關(guān)注于軟件的內(nèi)部結(jié)構(gòu)。這兩種測試方法從不同的角度出發(fā),反映了軟件的不同側(cè)面,也適用于不同的開發(fā)環(huán)境。黑盒測試常用于功能測試,白盒測試常用于性能測試。由于黑盒測試不涉及內(nèi)部設(shè)計和代碼,通過較好的組織、計劃與設(shè)計同樣可以運用到軟件的用戶測試中。
1功能測試介紹
軟件測試中的功能測試也叫黑盒測試,只測試應(yīng)用程序的功能,而不考慮其內(nèi)部結(jié)構(gòu)或運作。測試者只需要輸入特定的數(shù)據(jù),得到預(yù)期的輸出,且輸入輸出、操作過程均滿足系統(tǒng)的功能需求即可。功能測試是數(shù)據(jù)驅(qū)動的測試,它不基于內(nèi)部設(shè)計和代碼,而是基于系統(tǒng)的需求和功能,針對軟件界面和功能進行測試。
功能測試主要是為了發(fā)現(xiàn)以下幾類錯誤:是否有不正確或遺漏了的功能;在接口上,輸入能否正確地接受,能否輸出正確的結(jié)果;是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤;性能上是否能夠滿足要求;是否有初始化或終止性錯誤。為了節(jié)省時間和資源,提高測試效率,功能測試的測試方法主要有等價類劃分、邊值分析、因果圖、錯誤推測等。采用這樣的方法才能高效地發(fā)現(xiàn)軟件中隱藏的錯誤和缺陷。
2功能測試在應(yīng)用系統(tǒng)中的應(yīng)用
當應(yīng)用系統(tǒng)通過單元測試、集成測試、系統(tǒng)測試和驗收測試后,系統(tǒng)基本滿足了開發(fā)的要求,經(jīng)驗收后方可交付使用。
2.1測試的方法和應(yīng)用
(1)單元測試的策略,是把白盒測試與黑盒測試結(jié)合使用。先根據(jù)黑盒測試的測試方法提出一組基本的測試用例,然后用白盒測試方法作為驗證。先根據(jù)白盒測試方法分析模塊的邏輯結(jié)構(gòu),提出一批測試用例,然后根據(jù)模塊的功能用黑盒測試進行補充。(2)集成測試及其后的測試階段一般采用黑盒測試。用邊界值分析法或等價類分析法提出基本的測試用例。用猜測法補充新的測試用例。如果系統(tǒng)中含有復(fù)合的輸入條件,則應(yīng)先使用因果圖發(fā),再按前兩步進行。
2.2測試人員的組織
軟件測試應(yīng)貫穿于系統(tǒng)設(shè)計與開發(fā)的整個過程,因此在軟件測試不同段也應(yīng)組織相應(yīng)的測試人員。在需求分析階段:系統(tǒng)分析人員,系統(tǒng)設(shè)計人員,開發(fā)人員,測試人員和用戶。在設(shè)計評審階段:系統(tǒng)分析員,軟件設(shè)計人員,測試負責人等。編碼和單元測試階段:系統(tǒng)開發(fā)人員進行內(nèi)部的交叉測試。綜合測試階段:具有一定的分析、設(shè)計和開發(fā)經(jīng)驗的專業(yè)人員。
2.3軟件測試的文檔
測試分析報告,是對測試結(jié)果的分析和說明。經(jīng)過測試后,證實了軟件具有的能力,以及它的缺陷和限制,并給出評價的結(jié)論性意見,這些意見既是對軟件質(zhì)量的評價,又是決定該軟件是否交付用戶使用的依據(jù)。
3功能測試在用戶測試中應(yīng)用
3.1特點及目的
軟件的用戶測試是基于所開發(fā)的應(yīng)用系統(tǒng),根據(jù)具體的業(yè)務(wù)需求,對組織結(jié)構(gòu),工作流程,角色權(quán)限,業(yè)務(wù)數(shù)據(jù)和報表等方面,從用戶的角度出發(fā)對系統(tǒng)進行再測試,是使軟件更加成熟必須經(jīng)歷的過程成。對用戶來說,在進行用戶測試時,軟件本身只是個黑匣子。開發(fā)者只需為用戶提供滿足需求的用戶界面,對于軟件的核心技術(shù)是保密的。對于用戶只需關(guān)注輸入了什么和得到了什么,不必了解系統(tǒng)的工作過程。因此,對于軟件的用戶測試和驗收,用戶的主要的測試方法就是功能測試即黑盒測試方法。軟件用戶測試目的同軟件測試的目的是一致的,即測試軟件的功能是否滿足用戶的需要。
3.2方法及步驟
用戶面對著黑匣子進行測試,由于受制于軟件原有的功能,無法按照自己的意愿隨意訂制軟件功能,測試的目的和要求同測試人員有所不同。但軟件測試的方法還是可以借鑒的。對于測試的過程設(shè)計、計劃編制,樣例設(shè)計、測試文檔的編寫、組織等都可以參照軟件測試的原理來設(shè)計。對于人員的要求,同樣可對照測試人員的標準。因此,從以上分析來看,結(jié)合軟件用戶測試的特點和目的,其過程至少包括:編制測試計劃、設(shè)計測試樣例、編寫測試文檔、組織測試人員。一個成功的軟件用戶測試要求具備強有力的組織,完備詳盡的測試計劃,完備的測試樣例體系,周詳?shù)臏y試文檔。在歷年的某企業(yè)主要業(yè)務(wù)評估及管理系統(tǒng)的實施過程中,系統(tǒng)在交付使用前都會組織一定規(guī)模針對用戶的客戶化測試,下面結(jié)合該系統(tǒng)的實例來介紹如何實施軟件的客戶化測試。
(1)強有力的組織。組織成員應(yīng)當包括:行政技術(shù)領(lǐng)導(dǎo)、系統(tǒng)開發(fā)及測試人員、關(guān)鍵用戶。對于該業(yè)務(wù)評估及管理系統(tǒng),該公司業(yè)務(wù)辦公室的行政技術(shù)領(lǐng)導(dǎo)在軟件用戶測試中,統(tǒng)一管理和掌控測試工作,并在具體的工作節(jié)點把關(guān)。我公司作為系統(tǒng)實施方,在客戶化測試中配備了開發(fā)人員和測試人員。這樣就具備了即了解客戶化的全過程,又熟悉業(yè)務(wù)流程。設(shè)計的測試用例結(jié)合了用戶在實際工作中的業(yè)務(wù)特點和軟件系統(tǒng)開發(fā)中的技術(shù)特點。在關(guān)鍵用戶方面。根據(jù)該公司的組織結(jié)構(gòu),分為上級總公司及下屬四家分公司共五個組。每組配備了負責相關(guān)業(yè)務(wù)三條線及經(jīng)濟評價的四名關(guān)鍵用戶。關(guān)鍵用戶是用戶測試的重要成員,決定了測試工作是否成功。通過關(guān)鍵用戶介紹工作流程及提供的數(shù)據(jù),才能設(shè)計出與系統(tǒng)實際應(yīng)用相符合的測試用例,也只有這樣才能做到發(fā)現(xiàn)問題解決問題。當然我們的關(guān)鍵用戶都是高素質(zhì)的,具備一定的計算機方面的基礎(chǔ)知識,保證了測試工作順利進行。(2)測試計劃。測試計劃就是對測試的工作范圍和具體的測試工作步驟進行規(guī)劃。完備的測試計劃,就是要計劃的詳細、可操作,對關(guān)鍵用戶的測試工作能夠起到指導(dǎo)的作用,這樣用戶測試工作才能順利進行。在該業(yè)務(wù)系統(tǒng)的關(guān)鍵用戶測試前,我們不但制訂了完備詳盡的測試計劃,也設(shè)計了應(yīng)對出現(xiàn)問題的解決方法,并從硬件、軟件方面對測試工作進行了保障。(3)測試樣例體系。測試樣例設(shè)計的好壞決定了整個測試工作的成功與否。影響測試樣例設(shè)計的因素很多,首先設(shè)計人員對系統(tǒng)的功能盡可能全面了解;其次設(shè)計人員對用戶需求全面把握;第三設(shè)計滿足測試需要能夠到達測試目標的樣例。另外測試樣例應(yīng)為一個完備的體系。體系有清晰的層次結(jié)構(gòu),與系統(tǒng)的功能結(jié)構(gòu)相對應(yīng)。這樣使測試樣例有條理,便于關(guān)鍵用戶測試。在某企業(yè)主要業(yè)務(wù)評估及管理系統(tǒng)的關(guān)鍵用戶測試中,測試用例按系統(tǒng)功能的體系結(jié)構(gòu)設(shè)計,依據(jù)相關(guān)業(yè)務(wù)的三條線、系統(tǒng)管理、經(jīng)濟評價、ORGE、電子文檔、領(lǐng)導(dǎo)查詢等進行分類。每一類根據(jù)用戶需求設(shè)計測試用例的功能點,例如:自動計算功能、提醒功能、審核方式一致、采用國家標準的參數(shù)單位、Excel導(dǎo)出功能等。(4)詳細的測試文檔。通過軟件客戶化測試,對關(guān)鍵用戶的提出的調(diào)整問題及建議進行收集整理,如:界面設(shè)置、增加表格內(nèi)項目等。并參照用戶提出的對系統(tǒng)的整體印象,如:可提高系統(tǒng)性能進行服務(wù)器擴容,形成最終的測試文檔。對發(fā)現(xiàn)的系統(tǒng)缺陷進行及時完善。
4結(jié)論
通過對軟件功能測試和軟件用戶測試的分析與研究,二者的共同點在于都不需要考慮軟件的內(nèi)部邏輯結(jié)構(gòu),而只關(guān)注軟件的外部,如軟件界面和軟件功能是否滿足需求。因此在軟件用戶測試工作中,可以參照軟件功能測試的方法和步驟,并結(jié)合軟件用戶測試的特點進行用戶測試工作,使軟件更好的滿足用戶的需要。目前某企業(yè)主要業(yè)務(wù)評估及管理系統(tǒng)的用戶測試工作借鑒了軟件測試的方法,組織實施的很成功。
參考文獻:
[1]Patton R.軟件測試[M].北京:機械工業(yè)出版社,2002.
[2]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學出版社,2005.
[3]周偉明.軟件測試實踐[M].北京:電子工業(yè)出版社,2008.
[4]袁玉宇.軟件測試與質(zhì)量保證[M].北京:北京郵電大學出版社,2008.
[5]Everett G D.軟件測試跨越整個軟件開發(fā)生命周期[M].北京:清華大學出版社,2008.
作者簡介:田雅(1982-),女,江蘇人,中海油能源發(fā)展股份有限公司北京分公司,工程師,中級職稱,本科,學士學位,研究方向:應(yīng)用系統(tǒng)的軟件測試。