?

軟件產品測試方法與策略

2013-08-15 00:54林文淵景宏磊
科技視界 2013年10期
關鍵詞:測試軟件測試用例軟件測試

林文淵 景宏磊

(廈門軟件職業技術學院,福建 廈門 361024)

隨著IT技術的快速發展,軟件產品經歷了突飛猛進的發展,各類軟件層出不窮,逐步進入尋常百姓家,大到一套完整的控制系統,小到兒童的玩具,都離不開軟件的支持。軟件的如此快速發展,離不開大量的軟件測試人員對產品進行測試,來保證軟件的質量,軟件測試已經發展成為一門系統的學科,滲入到人們的日常生活中。

1 軟件測試概述

軟件測試是對系統功能的驗證測試,需要在產品需求階段分析需求,細化需求功能,整理編制測試用例。

在需求階段需要挖掘軟件產品的隱性需求,分析可能存在的各種情況以及預期的結果,完善測試用例。

軟件測試工作主要是對測試用例的整理,軟件測試質量依賴于測試用例的完整性。若測試用例相當完善,覆蓋了需求的所有功能和隱性需求功能,軟件產品的質量只要是完整的執行測試用例就可以得到保證,反之亦然。

軟件產品測試需要站立在操作使用用戶的身份上進行測試,因為使用者是最終的用戶,一個軟件產品只有得到使用者的認可和贊同才能稱得上好軟件、好產品,否則軟件再怎么被稱為功能強大、功能完善,只要對操作使用者來說操作困難,都是無稽之談,至少不能算的上好軟件。

軟件產品測試需要與其他部門及用戶進行有效的溝通,保證需求正確,操作使用方法切合實際,明確使用人員的操作習慣和期望,只有便于操作、符合使用人員期望的軟件產品,才能被接受,才能獲得使用人的支持,從而產品才能獲得良好的發展機遇。

2 軟件產品測試方法

一個產品經歷了啟動、計劃、實施控制階段后,產品進入了產品軟件測試環節,對各個功能點的測試需要舉一反三,力求測試全面,從各個方面進行測試,例如:測試軟件的一個自動功能,軟件有三種用戶:未登陸用戶、操作員、管理員,對軟件測試時,需要測試三種用戶下系統都具備自動功能,還需要測試用戶在切換時系統是否具有自動功能。

挖掘隱性需求功能,完善測試用例,保證軟件產品質量。一般軟件產品的隱性需求是存在的,例如測試需求中ups斷電說幾分鐘內保證原輸出狀態,隱性需求就是在幾分鐘后呢是不是也應該保證原輸出狀態呢,再例如:一套軟件是記錄員工的工作記錄的,每天的工作記錄都可以錄入,隱藏在里面的需求就是未來的某一天就不應該能錄入信息并保存成功。

軟件產品測試需要測試軟件的健壯性,也就是在極限操作下系統如何處理,應能完成各項操作,如有重復操作應舍棄,新操作進行排隊處理,以免使CPU工作異常。測試軟件的響應速度,不能太慢,太慢操作人員會認為不方便,影響軟件的使用及推廣。

軟件測試人員應盡早介入軟件產品的開發過程中,軟件產品是面向于市場需求的產品,需要了解市場需求,細化市場需求,與操作使用人員進行有效的溝通,保證需求準確,制定準確的測試用例,測試軟件的容錯性,不僅要考慮合理的輸入條件,更要注意不合理的輸入條件。因為軟件投入實際運行中,往往不遵守正常的使用方法,卻進行了一些甚至大量的意外輸入導致軟件一時半時不能做出適當的反應,就很容易產生一系列的問題,輕則輸出錯誤的結果,重則癱瘓失效!因此常用一些不合理的輸入條件來發現更多的鮮為人知的軟件缺陷。 從正常操作與不正常操作等方面對軟件產品進行測試,保證軟件質量。

3 軟件產品測試策略

軟件測試一般按照先測試軟件的正常功能,再進行故障安全方面的測試,最后進行誤操作健壯性測試等。

在軟件產品測試策略所包含的最主要的部分有兩個:測試過程和測試類型,測試過程包括單元測試、集成測試、系統測試、驗收測試。測試類型為功能測試、健壯性測試、接口測試、強度測試、壓力測試、性能測試、用戶界面測試、安全測試、可靠性測試、安裝測試、文檔測試、兼容性測試、恢復測試等。

試探法:根據正常功能測試用例,猜想易出現問題的方面、可能引起錯誤的操作、異常的操作順序等制定針對性的測試用例進行測試。

回溯法:利用已測試出的問題,沿著問題求根溯源,與問題相關的功能都進行測試,最終找到問題的根源以及與問題相關的一系列問題。

歸納法:從問題出發,分析出現問題的原因,歸納出現問題的原因,從而映射整個軟件,測試軟件的各個模塊。

軟件測試還包括問題的分析、跟蹤及回歸測試,問題的分析過程是軟件測試人員測試水平的提高過程,通過分析,學習處理方法,積累測試經驗,測試人員了解軟件開發者的設計思路,可以更好的設計測試用例,掌握測試方法,保證軟件產品的測試質量。

為了減少系統的開發費用,越早測試越好,這是多年來軟件行業的一個成功經驗,即在整個軟件開發生命周期中通過各種軟件工程技術盡量早地完成各種軟件測試任務。

軟件的整個測試生命周期是與軟件的開發生命周期基本平齊的過程,在軟件開發生命周期中,軟件是通過迭代來不斷加以完善的。在這種環境中,對于每個作為測試目標的工作版本,測試的生命周期還都必須具有一種迭代方法。對于針對每個工作版本執行的測試,都做出了增補和改進,并累積為一個測試體,用于后續階段的回歸測試。

通過迭代使軟件開發把原來的整個軟件開發生命周期分成多個迭代周期,在每個迭代周期都進行測試,這樣在很大程度上提前了軟件系統測試發生的時間,這可以在很大程度上降低項目風險和項目開發成本。

軟件測試需要測試人員具備豐富的知識背景,相關的測試經驗以及直覺,才能將測試用例設計的很周全,從完整性、容錯性、邊緣性等方面設計,測試系統功能的同時,檢查系統對輸入數據(合法值、非法值、臨界值)的反應,檢查合法的操作和非法的操作,檢查系統對組合條件的反應等。好的測試用例可以讓其他人很好的執行測試,能夠迅速的遍歷所測試的功能,能夠發現至今沒有發現的錯誤。

4 結語

軟件測試是一項系統的工程,需要測試人員積累測試經驗,整體把握測試產品,制定完善的測試用例,仔細的執行,需要具備多學科的知識,從各個方面入手,制定全面的測試計劃,來保證軟件產品的質量。

軟件測試貫穿于項目開發的始終,在各個階段都要做好相關的軟件測試,能夠較早的發現系統中存在的缺陷及需求不清問題,及時的通知開發人員進行更改,在一定程度上減小了項目的成本,縮短產品的開發周期,對整個項目來說,軟件測試發揮著重要的作用。

軟件測試要切合實際,符合人們正常的思維過程,符合正常的操作規范,要建立在用戶使用的基礎上,能為人們的日常工作帶來便利,提高人們的工作效率,從這些方面入手,編制測試用例,進行軟件產品的測試,保證軟件的質量。

[1]景宏磊,林丁報.軟件性能測試的基本概念和一般過程[J].科技資訊,2011.

[2]林丁報,景宏磊.WEB 應用前端性能優化淺析[J].科技資訊,2011.

猜你喜歡
測試軟件測試用例軟件測試
基于SmartUnit的安全通信系統單元測試用例自動生成
網絡自適應測試軟件運行方法設計
基于OBE的軟件測試課程教學改革探索
EXCEL和VBA實現軟件測試記錄管理
基于混合遺傳算法的回歸測試用例集最小化研究
關于軟件測試技術應用與發展趨勢研究
軟件測試工程化模型及應用研究
基于依賴結構的測試用例優先級技術
遠程開放教育學生自主學習能力評價的研究
軟件回歸測試用例選取方法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合