關(guān)鍵字:PB 測試
隨著(zhù)軟件工程技術(shù)的發(fā)展,軟件設計規模的增大,軟件測試在軟件開(kāi)發(fā)過(guò)程中的作用顯得尤為重要。目前,軟件測試技術(shù)的研究領(lǐng)域雖然取得了一些成果,但對具體的開(kāi)發(fā)環(huán)境下開(kāi)發(fā)的特定領(lǐng)域的軟件系統應采用怎樣的測試方法對其進(jìn)行全面的、完整的測試,仍沒(méi)有具體的標準可以遵循。 網(wǎng)絡(luò )技術(shù)和數據庫技術(shù)的飛速發(fā)展,使管理信息系統(MIS)向客戶(hù)機/服務(wù)器(Client/Server或C/S)或B/C(Browser/Server)加SQL Server(或Sybase、Oracle)模式發(fā)展。開(kāi)發(fā)工具也大多不再是面向過(guò)程的語(yǔ)言,而是使用諸如PB(Power Builder)的Script等具有面向對象特征的腳本語(yǔ)言。開(kāi)發(fā)環(huán)境的改變及應用的日趨復雜使MIS的開(kāi)發(fā)方法也正在從傳統的結構化方法向面向對象的方法轉變。因此,對基于PB等環(huán)境下的軟件測試技術(shù)及方法的研究,不僅具有方法論上的理論意義,而且具有使用價(jià)值。
1.PB軟件的特點(diǎn)
利用PB開(kāi)發(fā)中大型的MIS應用系統,一般采用三層C/S的體系結構.在這種結構下,系統可分為兩部分,即后臺數據庫部分和前臺應用程序部分,后臺采用非面向對象的關(guān)系數據庫管理系統RDBMS(如SQL Server等)實(shí)現對應用數據的組織,安全性、完整性維護,以及存取控制;前臺應用程序部分利用PB提供的可視化編程技術(shù)實(shí)現用戶(hù)的各種需求。其特點(diǎn)表現在,利用PB提供的窗口、菜單及數據窗口等對象很方便地實(shí)現友好的用戶(hù)界面,系統的各種功能以窗口對象為主線(xiàn),利用PB 提供的Script語(yǔ)言,通過(guò)對窗口的各控件的事件描述來(lái)實(shí)現。與傳統的面向過(guò)程的語(yǔ)言相比較,PB支持面向對象的程序設計方法,其用戶(hù)界面的元素都是對象,所以都有屬性、事件和方法,具有繼承、封裝和重用等面向對象的特性。
2.測試目標
無(wú)論傳統的系統,還是基于PB的C/S系統,測試的目標都是確保所開(kāi)發(fā)軟件的功能符合用戶(hù)的要求。具體表現在以下幾個(gè)方面:
(1)確保系統達到需求功能的說(shuō)明;
(2)確保系統滿(mǎn)足性能需求;
(3)強度測試確認程序能夠處理要求的負載;
(4)確保系統在要求的硬件和軟件平臺上工作正常。
3.測試方法
原則上講,可以將軟件測試方法分為兩大類(lèi),即靜態(tài)測試和動(dòng)態(tài)測試。靜態(tài)測試是對被測程序進(jìn)行特性分析的一些方法的總稱(chēng),這種方法的主要特性是不利用計算機運行被測試的程序,而是采用其他手段達到檢測的目的。動(dòng)態(tài)測試是實(shí)際運行被測程序,輸入相應的測試用例,判定執行結果是否符合要求,從而檢驗程序的正確性、可靠性和有效性。動(dòng)態(tài)測試的兩種主要的方法是黑盒測試和白盒測試。
4.測試過(guò)程
測試雖然是軟件生存周期的一個(gè)獨立階段,但測試工作卻滲透到從分析、設計直到編程的各個(gè)階段中,如測試計劃的編寫(xiě)從分析和設計階段就開(kāi)始了,而具體的測試工作隨編程工作的不斷深入也在進(jìn)行中。在實(shí)際工作中,測試環(huán)節可分為明顯的、同等重要的三個(gè)階段:即單元測試、集成測試(又稱(chēng)構件測試)和系統測試。測試工作中的第四個(gè)階段是驗收測試階段,驗收測試無(wú)論在規模上或性質(zhì)上都和系統測試很相似,它們的根本區別在于:前者是內部的,而后者則是受“客戶(hù)”控制的。
(1)單元測試
軟件單元定義了一個(gè)軟件很底層的塊,用PB開(kāi)發(fā)的客戶(hù)機/服務(wù)器的軟件系統中,一個(gè)窗口、函數、菜單、報表或一個(gè)存儲過(guò)程都可以作為一個(gè)單元進(jìn)行測試。單元測試是測試的第一步。
1)人員安排:對于一個(gè)完整的軟件單元,沒(méi)有人比它的開(kāi)發(fā)者更熟悉它,因此,開(kāi)發(fā)者自己對其進(jìn)行測試是最合適的。
2)單元測試計劃:測試計劃必須在單元測試之前被設計和記錄好。大量的文檔說(shuō)明必須足夠詳細,以備當單元開(kāi)發(fā)者調離、提升或其他原因離開(kāi)其崗位時(shí),其他人員也能對相應的單元進(jìn)行測試。此外,在集成測試和系統測試階段,清晰、詳細、易于理解的單元測試文檔對于測試者也將發(fā)揮巨大作用。
單元測試的測試計劃由單元的開(kāi)發(fā)者(也是該單元的測試者)編制,但在測試計劃執行前必須進(jìn)行審查。這些審查由開(kāi)發(fā)者以外的人進(jìn)行,第一遍審查由開(kāi)發(fā)者的直接上司去做,其目的在于找出測試計劃中的錯誤、缺點(diǎn)和疏漏之處。第二遍審查由測試該單元所屬系統的測試人員進(jìn)行,其目的在于確認測試計劃符合公布的標準。如果測試計劃在任何方面有問(wèn)題,都將被立即退回到開(kāi)發(fā)者手中。
3)進(jìn)行單元測試的時(shí)間
在客戶(hù)機/服務(wù)器的開(kāi)發(fā)過(guò)程中,單元測試是測試的第一步。經(jīng)驗表明,單元測試執行得越快,它的結果就越有價(jià)值,在開(kāi)發(fā)周期中錯誤發(fā)現得越早,糾正它們所花的代價(jià)就越小。一般來(lái)講,單元編碼完成后,就對其進(jìn)行單元測試。另外,單元測試可以并行進(jìn)行。對于彼此獨立的單元,進(jìn)行并行測試可以加速測試的進(jìn)程。
4)單元測試階段的測試類(lèi)型
在單元測試階段一般采用白盒測試法。深入到代碼層去充分地測試它們是必要的。在這一階段,必須進(jìn)行的測試有:路徑測試、聲明測試、循環(huán)測試、邊值測試、接口測試、數據確認、事務(wù)測試等。
5)單元測試的特殊考慮
在PB環(huán)境下,開(kāi)發(fā)的軟件是以窗口為主線(xiàn)將軟件的功能聯(lián)系起來(lái),軟件系統表現為各種各樣的窗口,因此,對窗口中各控件的各事件的描述的測試是這類(lèi)軟件測試的中心。
a.控件的測試:一個(gè)空間可以看成是由相關(guān)聯(lián)的一組事件的描述組成的,完成一個(gè)相對獨立的功能。對每一個(gè)事件的Script分別進(jìn)行測試就完成了對一個(gè)控件的測試。與傳統的軟件相比,PB開(kāi)發(fā)的軟件風(fēng)格表現在各事件獨立存在,因此對它的測試相對容易。一般來(lái)講,先按設計的規格說(shuō)明對其代碼進(jìn)行審核;然后,用白盒法對其進(jìn)行測試,可以達到較好的效果。
b.窗口的測試:宏觀(guān)上看,很像是集成測試。其實(shí),所謂單元測試和集成測試也都是相對而言的,在有些情況下不易分得很清楚。在單元測試階段,對窗口的測試主要是測試窗口上各控件是否能按設計要求正常工作。在軟件開(kāi)發(fā)過(guò)程中,制定了一系列的標準文件,包括設計文檔標準,界面標準,測試大綱等。對窗口和控件的測試過(guò)程中,界面標準和測試大綱是測試的依據。
(2)集成測試
在將所有的單元經(jīng)過(guò)測試以后,接著(zhù)進(jìn)行集成測試。集成測試也稱(chēng)綜合測試,即將已分別通過(guò)測試的單元按要求組合起來(lái)再進(jìn)行的測試,以檢查這些單元之間的接口是否存在問(wèn)題。
1)人員安排:綜合測試既要求參與的人熟悉單元的內部細節,又要求他們能夠從足夠高的層次上觀(guān)察整個(gè)系統。一般由有經(jīng)驗的測試人員和主要的軟件開(kāi)發(fā)者來(lái)完成集成測試的計劃。
2)測試計劃:集成測試計劃由系統設計人員在設計階段制定,它是和設計規格說(shuō)明同時(shí)完成的。在這份計劃里主要包含的內容有:測試的描述和范圍、測試環(huán)境、時(shí)間表、集成次序、測試用例、測試的預期結果、測試的實(shí)際結果等。
3)測試內容:在經(jīng)過(guò)了單元測試后,需要將所有單元集成到一起,組成一個(gè)完整的軟件系統。需重點(diǎn)測試:各單元的接口是否吻合、代碼是否符合規定的標準、界面標準是否同一等。
4)集成策略:在PB環(huán)境下開(kāi)發(fā)的軟件系統進(jìn)行測試按自底向上集成的方式比較自然。這種方法是將底層的單元分組集成測試,然后再逐步向上將軟件集成起來(lái),直到最后所有的單元都在一個(gè)組中。測試可按下列步驟進(jìn)行:
a.將最底層的窗口分組,原則是將那些與上層某個(gè)窗口相關(guān)聯(lián)的窗口為一組。
b.對每一組分別進(jìn)行測試,各組測試可并行展開(kāi),這樣可以加快測試的進(jìn)程。
c.沿軟件的結構,逐級向上集成,直到所有的單元都組合到一起,這樣就完成了集成測試的任務(wù)。
5)測試方法:集成測試階段是以黑盒法為主,在自底向上集成的早期,白盒法測試占一定的比例,隨著(zhù)集成測試的不斷深入,這種比例在測試過(guò)程中將越來(lái)越少,漸漸地,黑盒法測試占據主導地位。
(3)系統測試
從技術(shù)角度看,系統測試是整個(gè)測試階段的最后一步,所有的開(kāi)發(fā)和測試在這一點(diǎn)上集中表現為生成一個(gè)具有一定功能的軟件系統。該階段主要對系統的準確性及完整性等方面進(jìn)行測試。主要進(jìn)行:功能確認測試、運行測試、強度測試、恢復測試、安全性測試等。系統測試的測試人員由測試組成員(或質(zhì)量保證人員)或測試組成員與用戶(hù)共同測試。在整個(gè)系統開(kāi)發(fā)完成,即將交付用戶(hù)使用前進(jìn)行。在這一階段,完全采用黑盒法對整個(gè)系統進(jìn)行測試。
延伸閱讀
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/