邱李輝
?
探究軟件測試基礎及測試過程和策略
邱李輝
武漢濱湖電子有限責任公司,湖北 武漢 430205
軟件測試是測試軟件各方面功能是否有錯誤的方法之一。信息時代下,隨著軟件開發的日漸成熟,開發和測試越來越受到重視。在傳統軟件測試基礎下,在實際開發項目中,研究軟件測試常用的技術和方法,方法的改進,測試過程一些策略問題,使得企業項目開發實施過程中,軟件測試有一定的理論指導,為保證軟件產品的質量提供一定的保障。保證軟件質量的一個重要手段同時也是開發系統軟件過程中的一項重要活動就是軟件測試。
測試過程;測試策略;測試用例
軟件測試相關理論知識和測試過程中實施的方法和效果。在項目中參考歷史數據,根據不同項目制定不同的測試計劃,提高方法,提升測試技能和管理方式,來提高綜合競爭力[1]。
軟件測試管理包括需求定義,軟件測試的建立,軟件測試的執行,及根據結果確認缺陷,修復錯誤。具體來講就是,根據系統的資料理清軟件的需求,然后在需求基礎上,執行軟件測試,根據測試結果,查看程序的錯誤。
軟件測試是在軟件開發即將投入使用前,根據軟件開發文檔和目標執行程序和測試用例及測試工具對軟件需求進行分析,堅持設計規格是否合適,編碼等是否清晰。軟件測試有兩個重要的時期,一個是在模塊開發的每一個環節都要進行測試分析,還有就是利用構件,將各個模塊聯結起來,進行嚴格的綜合測試。軟件測試主要有兩個過程,一個是確認,一個是驗證。根據規范檢查軟件是否滿足規格說明,或者是說進行動態檢查,確認執行的程序和預想的結果都一致。如果不一致的話,可以定位到錯誤的地方進行修改,繼續調試,以達到滿意的效果。如果測試沒有發現任何錯誤,要考慮是不是測試用例設計得不夠好,挖掘潛在的錯誤[2]。
軟件測試的基本原則是所有測試追溯到用戶,不必要進行窮舉測試,測試前充分準備測試計劃。
軟件測試類型分兩種,一種是黑盒測試,一種是白盒測試。
黑盒測試是將程序看作一個未知的盒子,不考慮程序內部情況,僅僅根據軟件需求說明書,輸入和輸出來推測結果的正確與否。白盒測試跟黑盒測試相反,測試人員可以通過程序內部設計測試用例。程序員分析程序內部邏輯結構,程序檢驗,最大覆蓋化各種測試用例來達到測試的目的。
軟件測試與開發的實施方向是相反的,軟件測試自下而上進行測試。首先是開發人員進行單元測試,使得各模塊無邏輯錯誤,功能沒有缺陷,然后進行集成測試。集成測試是將各個代碼模塊組裝起來,從整體上檢驗功能的發揮。再然后是系統測試,即軟件開發完畢后與其他的系統組成一起,進行測試。最后是驗收測試,依照說明書,對軟件產品性能、接口等等各方面做出評價[3]。
2.1 深入理解測試過程
(1)要全面評估好測試,做好軟件測試計劃,指定好測試的時間,按照項目周期,做好各階段的工作安排及成本預算。
(2)全面審核好產品需求,構建較好的測試用例,減少發現錯誤的時間。
(3)軟件測試執行的時候以動態測試為主,在這個階段,測試結果顯示的缺陷要盡早反饋給相關負責的部門。
(4)做好測試軟件的維護更新工作。
2.2 測試對象的改進
軟件測試的人員包括組織、技術人員和測試人員。測試過程可以將缺陷控制、版本管理和變更管理等從組織剝離出來,讓項目經理明晰自己的職責所在,明確定義流程,引入標準統一的工具和模板,使得工作更加高效[4]。
2.3 測試地方選擇
軟件測試在定義域和值域邊界上經常會發生故障,針對各種邊界情況,做好測試用例,可得到更好的測試效果。一般選擇在邊界處,大于邊界和小于邊界值兩邊都進行測試。局部數據結構測試通常是檢驗變量名的正確與否,數據類型,數據溢出等等問題。控制結構中的語句都要至少執行一次。
2.4 測試的流程
測試過程中,執行的結果要實時記錄在案,對缺陷進行跟蹤,盡快將缺陷反饋給技術組,修好錯誤。對缺陷歷史數據,我們如果面對相同的軟件類型,可以參考這些數據,吸取測試中的經驗,更好地制定測試計劃[5]。
如果產品已經發布,那么我們可以進行客戶回訪,了解他們對開發產品的滿意程度,了解我們的工作還有哪些不足,在以后的工作中,能夠應用更有效的方法。
2.5 軟件測試獨立分析
軟件測試時候要求結果準確客觀,最好能與其他的小組例如開發、管理和財務等等獨立開來。測試的方法包括了審查,演練,回溯性分析和安全評估,軟件確認測試和系統測試。測試的時候,軟件測試與開發同步進行,可以更好保證效率。
(1)測試人員和開發人員不能相同,因為二者的思路和思維不同的話,更能發現開發過程隱藏的錯誤。
(2)測試人員要開發和采用不同的測試工具,以便工作使用。
(3)測試人員應該可以自由測定分析計劃,而不是受到開發方壓力進行。
(4)軟件測試保持財務自由,不要受到經費壓力,才能保證技術的獨立。
(5)需要配備與開發小組相匹配的人員規模,人員要求技術過關,才能保證項目測試順利進行。
(6)將軟件測試獨立開來,可以使得他們對項目開發出來的產品的認識不會受到感情的關聯,能更加嚴格地、高效地對待軟件測試工作。
軟件測試工資繁雜和反復,窮舉測試耗時耗力,我們只能將現有資源進行最大限度的產出,理解測試過程,找準測試對象,改進測試策略,才能讓我們測試工作更加高效。
[1]趙鵬,楊劍,周近.軟件測試發展創新問題探究[J].計算機光盤軟件與應用,2012(8):204.
[2]樊學東.軟件測試策略中單元測試的設計研究[J].科學與財富,2014(7):6-7.
[3]張海軍,王敏帥,于慧媛.嵌入式軟件測試策略研究[J].科技信息,2013(34):200-201.
[4]魏娜娣,董紀悅.石家莊地區軟件測試業發展分析與應對策略探究[J].中國新通信,2016,18(5):88-89.
[5]薛婧.軟件測試方法及其策略的應用分析[J].電子技術與軟件工程,2015(22):60.
Exploration of Software Testing and Test Procedures and Policies
Qiu Lihui
Wuhan Lake Electronics Co Ltd,Hubei Wuhan 430205
Software testing is one of the aspects of software testing function if there is a wrong way.Information age,with the maturing of software development,development and testing more and more attention.Based on the traditional software test basis,the actual development projects,research software testing commonly used techniques and methods to improve the methods,testing some of the strategic issues,allowing companies to project development and implementation process,the software testing has some theoretical guidance for quality assurance software products provide some protection. Software quality assurance is also an important tool for the development of an important activity of the system software is in the process of software testing.
testing;testing strategy;test
TP311.53
A
1009-6434(2016)07-0112-02