網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 實用範文 > 論文

軟件工程技術檢測論文

欄目: 論文 / 發佈於: / 人氣:2.06W

軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。以下是小編精心準備的軟件工程技術檢測論文,大家可以參考以下內容哦!

軟件工程技術檢測論文

摘要:軟件工程的目的是開發出具有可修改性、可靠性、有效性、可適應性、可移植性、可重用軟件工程性、可追蹤性和可互操作性並且滿足用户需求的軟件產品。但是為了保證軟件產品的質量和開發效率,同時也為了減少維護的困難。我們一定要重視軟件測試。本文就軟件工程測試進行一個探討分析。

關鍵詞:軟件工程 軟件測試 產品 質量 測試工具 需求

在軟件測試日新月異發展的今天,自動化測試正在成為軟件測試領域裏的一個非常矚目的趨勢和潮流,軟件測試在軟件工程中是極其重要的過程,在軟件測試組織中,對測試過程中的知識進行有效的管理,是提升組織整體測試水平的關鍵。一個重要的研究問題是怎樣將知識管理過程與軟件測試過程有效集成,從而促進知識資產在軟件測試組織中的傳播與重用。首先我們來了解一下軟件測試的概念,目前軟件測試的定義比較多,如果想要找一個比較清晰的定義:軟件測試主要是為了發現錯誤而執行程序的過程,也就是説,軟件測試是根據軟件開發各階段的規格説明和程序的內部結構而精心設計的一批測試用例(即輸入數據及其預期的輸出結果),並利用這些測試用例去運行程序,以發現程序錯誤的過程。所以,我們知道,軟件測試其實是為了發現程序中的錯誤,是一個找錯的過程。

同時,我們知道,軟件測試是一個知識密集型的活動,軟件測試人員的工作不僅僅是依據測試計劃對軟件進行測試,與測試相關的知識、技巧、經驗和靈感在測試過程中有着重要的作用,但是隨着軟件技術的快速發展,不斷出現的新的待測軟件產品,常使軟件測試人員感到壓力重重,力不從心,他們有探尋新的測試知識和技術的緊迫需求。而軟件測試的自動化的出現為我們提供了一種新思路和解決問題的新方法,下面對軟件測試幾個方面進行探討。

1 軟件測試的目標

1.1 軟件測試員的基本目標是發現軟件缺陷。這個是軟件測試的終極目標,之所以再次強調。是因為有時軟件開發團隊進行軟件測試只是為了證實軟件不存在錯誤的過程,證明該軟件滿足了用户的要求,而不是找缺陷。在這樣的情況下,測試人員也就缺乏不懈努力發現缺陷的探索精神和熱情,不會希望在軟件測試中暴露軟件中隱藏的錯誤和缺陷。所以做好測試的首要條件是明確軟件測試員的基本目標是發現軟件缺陷。

1.2 軟件測試員追求的是儘可能早地找出軟件缺陷。根據調查和實踐,軟件的修復費用,隨着時間的推移,將數十倍的增長,所以軟件測試員應儘可能早地找出軟件缺陷。這樣,在測試中,就不要選擇那些導致程序失效概率小的測試用例,因為這樣的測試對於完善和提高軟件質量是沒有任何價值的。同時,應當把軟件測試貫穿到整個軟件開發的過程中,因為很多預料不到的錯誤,往往只在特定的環境下才會暴露出來,不然一些隱藏的錯誤和問題查不出來,就可能會出現在運行階段中去。

1.3 軟件測試人員必需確保找出的軟件缺陷得以關閉。在軟件工程測試的過程中,主要目的是發現至今未發現的錯誤,從用户的角度出發,替用户着想,將更深層次可能的問題都測試出來。但是,因為各種原因並不是每個軟件缺陷都是必須要修復的。如:沒有足夠時間、風險太大等。但是,測試人員必需確保找出的軟件缺陷得以關閉, 因為軟件測試的目標就是揭示不同類型的錯誤,並且修正它,使得用户能夠順利使用軟件。

2 軟件測試的基本原則

2.1 軟件開發人員應當避免測試自己的程序

軟件測試時一項複雜、富有創造性和高度挑戰性的工作,在軟件測試中,如果讓開發人員來測試自己的代碼,那是一件非常不妥當的事情。因為開發和測試生來就是不同的活動。所以,不管是程序員還是開發團隊都應當避免測試自己的程序或者本團隊開發的功能模塊。如果有條件的話,應當由獨立於開發組和客户的第三方測試組或測試機構來進行軟件測試。因為人類的活動具有高度的目的性,建立適當的目標具有重要的心理作用。如果我們的目的是要證明程序中沒有錯誤,那我們就會不自覺地朝這個方向去做;也就是説,我們會傾向於挑選那些使程序出錯的可能性較小的測試數據。或者由於程序員對問題的敍説和説明有誤解而產生的錯誤,這種情況讓程序員測試自己的程序是不可能發現問題的。

2.2 在軟件測試中,確定預期輸出或結果是測試必要的,不可缺少的一部分,如果事先無法肯定預期的'測試結果,往往會把看起來似是而非的結果當成正確的。同時還要注意各種輸入條件,無論合理與否。因為在實際使用中各種情況都有。

2.3 一定嚴格執行軟件測試計劃,禁止軟件測試的隨意性,這樣就可以避免軟件交付後出現問題,這樣也可以改善測試的效率和有效性。

2.4 軟件測試並不等於程序測試,軟件測試貫穿於軟件定義和開發的整個過程,因此,需求分析、概要設計和程序編碼等各階段所得到的文檔都是軟件測試的對象。

2.5 必須檢查每一個測試結果,事實上在最終發現的錯誤中,有相當一部分在前邊的測試中已經顯露了出來,但是由於人們沒有認真檢查先前的測試結果而遺漏了。

2.6 為了提高對程序重新測試的效率,尤其是在對程序作了修改後,為了減少測試工作量和成本,除了對真正沒有用的程序外,一定不要扔掉測試用例,測試用例代表了一定的價值投資。

3 軟件測試自動化工具的選擇

隨着軟件規模不斷擴大,軟件的複雜度不斷加大,採用手工測試軟件已經不能適應要求。採用電子自動化測試技術對於人工而言,能更好地保證測試的準確度,而且大大提高了測試的效率,加快軟件的開發速度。因此,軟件自動化測試應用越來越廣泛,目前,自動測試是軟件測試的一個重要組成部分,它能完成許多手工測試無法實現或難以實現的測試,從而提高軟件質量,節省經費,縮短軟件發佈週期。在自動化測試中,首先我們要根據要求來合理選擇測試工具,測試工具的價格在開發資金中佔有較高的比例,從成本角度必須考慮,而且它參加了測試的大部分活動,影響測試的準確性和效率。根據測試方法不同,測試工具有黑盒和白盒兩種;而從測試目的和對象的角度區分亦可分為:單元測試、性能測試、功能測試、負載測試等。

在測試中,對於測試工具的選擇,並非測試功能越強大越好,有一個前提,那就是必須適用,而且必須滿足兼容性,能夠支持不同的運行平台,能對不同的腳本進行測試,同時對待測試的腳本具有追蹤報道、錯誤定位的功能;再次,擁有測試結果總結功能,能夠將測試結果以圖表的形式展示出來,相對於一般的結果表述形式,圖標表示更直觀。更容易讓人理解、信服,可以及時對測試結果進行分析。一般還要從功能、價格、測試工具的集成能力、測試工具的易用性、側重點、技術支持等多方面考慮。

4 結束語

軟件測試有其自身的特點。軟件測試的目的不是為了僅僅找出錯誤,而是通過它發現錯誤、分析錯誤,找到錯誤的分佈特徵和規律,從而幫助項目管理人員發現當前所採用的軟件開發過程的缺陷,以便改進;同時也能夠通過設計有針對性的檢測方法,改善軟件測試的有效性。即使測試沒有發現任何錯誤,也是十分有價值的,因為完整的測試不僅可以給軟件質量進行一個正確的評價,而且是提高軟件質量的重要方法之一。並以此來最終提高軟件產品的質量和企業的經濟效益,加強軟件企業的核心競爭力。

參考文獻:

[1]史濟民.軟件工程原理方法與應用[M].北京:高等教育出版社,2001.

[2]張海藩.軟件工程導論[M].北京:清華大學出版社,1997.

[3]佘健明,等編著.工程諮詢概論.中國計劃出版社,2007,11轉

[4]Sam Revolution in Software Testing. Rational Software.2002.

[5]James Newkirk Robot in. Extreme Programming in practice中文版.人民郵電出版,2002年6月出版.

[6] Ron Patton 著.軟件測試.周予檳,姚靜等譯.機械工業出版社,2002.

[7]崔啟亮著.國際化軟件測試.電子工業出版社.2006.4.

[8]孫建.軟件測試工具的研究與建立.浙江大學,2006.

[9]Ann experience and Web site success[J] E_business Review,2003,41(6):20.