❶ 軟體工程與軟體測試之間的關系
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,標准,設計模式等方面。
軟體測試是軟體工程中的一個部分。通過軟體測試可以生產具有正確性、可用性以及開銷合宜的產品。
❷ 軟體工程的軟體測試好么
很不錯的,軟體測試的前景非常廣闊,而且軟體測試的重要性正在迅速的攀升,待遇也會原來越好,但隨之而來的是高競爭與高要求,目前軟體測試入門簡單,求深入難。要想從事這個行業,必須堅持下去,肯定會有所作為的!測試的精髓以後會是業務第一,技術第二。希望對你有幫助
❸ 軟體工程單元測試應該怎麼寫
單元測試是在軟體開發過程中要進行的最低級別的測試活動,在單元測試活動中,軟體的獨立單元將在與程序的其他部分相隔離的情況下進行測試。 單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發過程中使用,單元測試必須是可重復的,無論是在軟體修改,或是移植到新的運行環境的過程中。因此,所有的測試都必須在整個軟體系統的生命周期中進行維護。
測試用例設計
下面談談測試用例設計。前面已經說了,測試用例的核心是輸入數據。預期輸出是依據輸入數據和程序功能來確定的,也就是說,對於某一程序,輸入數據確定了,預期輸出也就可以確定了,至於生成/銷毀被測試對象和運行測試的語句,是所有測試用例都大同小異的,因此,我們討論測試用例時,只討論輸入數據。
前面說過,輸入數據包括四類:參數、成員變數、全局變數、IO媒體,這四類數據中,只要所測試的程序需要執行讀操作的,就要設定其初始值,其中,前兩類比較常用,後兩類較少用。顯然,把輸入數據的所有可能取值都進行測試,是不可能也是無意義的,我們應該用一定的規則選擇有代表性的數據作為輸入數據,主要有三種:正常輸入,邊界輸入,非法輸入,每種輸入還可以分類,也就是平常說的等價類法,每類取一個數據作為輸入數據,如果測試通過,可以肯定同類的其他輸入也是可以通過的。下面舉例說明:
正常輸入
例如字元串的Trim函數,功能是將字元串前後的空格去除,那麼正常的輸入可以有四類:前面有空格;後面有空格;前後均有空格;前後均無空格。
邊界輸入
上例中空字元串可以看作是邊界輸入。
再如一個表示年齡的參數,它的有效范圍是0-100,那麼邊界輸入有兩個:0和100。
非法輸入
非法輸入是正常取值范圍以外的數據,或使代碼不能完成正常功能的輸入,如上例中表示年齡的參數,小於0或大於100都是非法輸入,再如一個進行文件操作的函數,非法輸入有這么幾類:文件不存在;目錄不存在;文件正在被其他程序打開;許可權錯誤。
如果函數使用了外部數據,則正常輸入是肯定會有的,而邊界輸入和非法輸入不是所有函數都有。一般情況下,即使沒有設計文檔,考慮以上三種輸入也可以找出函數的基本功能點。實際上,單元測試與代碼編寫是「一體兩面」的關系,編碼時對上述三種輸入都是必須考慮的,否則代碼的健壯性就會成問題。
白盒覆蓋
上面所說的測試數據都是針對程序的功能來設計的,就是所謂的黑盒測試。單元測試還需要從另一個角度來設計測試數據,即針對程序的邏輯結構來設計測試用例,就是所謂的白盒測試。在老納看來,如果黑盒測試是足夠充分的,那麼白盒測試就沒有必要,可惜「足夠充分」只是一種理想狀態,例如:真的是所有功能點都測試了嗎?程序的功能點是人為的定義,常常是不全面的;各個輸入數據之間,有些組合可能會產生問題,怎樣保證這些組合都經過了測試?難於衡量測試的完整性是黑盒測試的主要缺陷,而白盒測試恰恰具有易於衡量測試完整性的優點,兩者之間具有極好的互補性,例如:完成功能測試後統計語句覆蓋率,如果語句覆蓋未完成,很可能是未覆蓋的語句所對應的功能點未測試。
白盒測試針對程序的邏輯結構設計測試用例,用邏輯覆蓋率來衡量測試的完整性。邏輯單位主要有:語句、分支、條件、條件值、條件值組合,路徑。語句覆蓋就是覆蓋所有的語句,其他類推。另外還有一種判定條件覆蓋,其實是分支覆蓋與條件覆蓋的組合,在此不作討論。跟條件有關的覆蓋就有三種,解釋一下:條件覆蓋是指覆蓋所有的條件表達式,即所有的條件表達式都至少計算一次,不考慮計算結果;條件值覆蓋是指覆蓋條件的所有可能取值,即每個條件的取真值和取假值都要至少計算一次;條件值組合覆蓋是指覆蓋所有條件取值的所有可能組合。老納做過一些粗淺的研究,發現與條件直接有關的錯誤主要是邏輯操作符錯誤,例如:||寫成&&,漏了寫!什麼的,採用分支覆蓋與條件覆蓋的組合,基本上可以發現這些錯誤,另一方面,條件值覆蓋與條件值組合覆蓋往往需要大量的測試用例,因此,在老納看來,條件值覆蓋和條件值組合覆蓋的效費比偏低。老納認為效費比較高且完整性也足夠的測試要求是這樣的:完成功能測試,完成語句覆蓋、條件覆蓋、分支覆蓋、路徑覆蓋。做過單元測試的朋友恐怕會對老納提出的測試要求給予一個字的評價:暈!或者兩個字的評價:狂暈!因為這似乎是不可能的要求,要達到這種測試完整性,其測試成本是不可想像的,不過,出家人不打逛語,老納之所以提出這種測試要求,是因為利用一些工具,可以在較低的成本下達到這種測試要求,後面將會作進一步介紹。
關於白盒測試用例的設計,程序測試領域的書籍一般都有講述,普通方法是畫出程序的邏輯結構圖如程序流程圖或控制流圖,根據邏輯結構圖設計測試用例,這些是純粹的白盒測試,不是老納想推薦的方式。老納所推薦的方法是:先完成黑盒測試,然後統計白盒覆蓋率,針對未覆蓋的邏輯單位設計測試用例覆蓋它,例如,先檢查是否有語句未覆蓋,有的話設計測試用例覆蓋它,然後用同樣方法完成條件覆蓋、分支覆蓋和路徑覆蓋,這樣的話,既檢驗了黑盒測試的完整性,又避免了重復的工作,用較少的時間成本達到非常高的測試完整性。不過,這些工作可不是手工能完成的,必須藉助於工具,後面會介紹可以完成這些工作的測試工具。
❹ 軟體工程——綜合測試是對()的測試。謝謝!
對系統所有模塊的集成測試。
具體詳見如下參考資料
❺ 軟體工程怎麼測試
是想做測試工程師?還是想學習測試工具,現階段都是用測試工具做的!
❻ 軟體工程(軟體測試) 是什麼
與其它工程學科類似,軟體工程就是要使軟體能夠以工程化的方法生產出來。
軟體測試是軟體工程中一個必不可少的環節。
❼ 什麼叫做軟體工程 軟體測試方向
軟體工程專業介紹
一、 專業培養目標
培養掌握軟體工程領域基礎理論知識和先進的開發技術,具備軟體開發和管理能力,能從事軟體系統分析、設計、開發和項目管理,適應社會主義市場經濟和信息產業發展需要的復合型、實用型高級軟體設計、開發及管理人才。
二、專業培養要求
本專業學生主要學習軟體工程方面的基本理論和基本知識,接受從事軟體系統分析、設計、開發和項目管理的基本訓練,具有軟體開發和管理的基本能力。
畢業生應獲得以下知識、能力與素質 :
1.掌握軟體工程領域堅實的基礎理論和寬廣的專業知識;
2.具備工程實踐能力;
3.具備軟體分析、設計、開發、維護能力;
4.具有較強的創新精神。;
5.具備獨立工作能力和團隊合作精神;
6.了解計算機軟體知識產權有關的法規;
7.了解計算機科學與技術的發展動態。
三、學制及授予學位
本科4年,工學學士
四、主幹學科
計算機軟體與理論
五、主要課程
計算機組成原理、軟體工程、軟體體系結構、離散數學、JAVA語言程序設計、演算法分析與設計、軟體測試、計算機網路、數據結構、資料庫系統、操作系統、編譯原理。
軟體測試方向
測試工程師一般分為以下幾個等級:測試工程師、高級測試工程師和資深測試工程師。測試工程師一般承擔以下工作:利用測試工具按照測試方案和流程對產品進行功能和性能測試,檢查產品是否有缺陷,性能是否穩定;高級測試工程師一般的職責是:不但能夠編寫測試工具,而且能夠設計和維護測試系統,編寫測試方案,編寫測試文檔、編寫安裝和使用手冊;資深測試工程師的職責要求更高:不但能夠具有初級測試工程師和高級測試工程師的能力,而且能夠對測試方案可能出現的問題能夠進行分析和評估。
一、操作系統
1.Windows 操作系統的安裝、維護;Windows操作系統的安全管理、用戶管理;使用ghost對Windows進行備份和恢復;
2.AIX系統介紹/系統安裝;系統管理工具的使用;軟體安裝與維護;系統的啟動與關閉;存儲管理;安全管理;任務與進程管理;系統備份與恢復磁帶機的使用;
3.Linux系統介紹/系統安裝;系統管理工具的使用/軟體安裝與維護;系統的啟動與關閉;存儲管理/安全管理/任務與進程管理;系統備份與恢復;
二、程序設計
1.Java編程基礎 ,Java Web, J2EE編程;
2.C/C++;
三、資料庫知識
1.SQL語言及應用開發技術:DML、DDL、DQL、子查詢、多表查詢、游標、存儲過程、用戶定義函數、觸發器、資料庫設計;
2.SQL Server資料庫安裝配置:SQL Server的安裝、管理;SQL Server資料庫備份和恢復;
3.Oracle資料庫安裝配置:Oracle基礎知識;indows/Linux上Oracle資料庫的安裝;Windows/Linux上Oracle資料庫的卸載;用戶管理;網路連接;資料庫備份與恢復;Oracle中的函數和存儲過程;
四、軟體工程:Rational Unified Process(RUP);
五、軟體測試理論基礎
單元測試、集成測試、外部功能測試、回歸測試、系統測試、安裝測試及驗收測試;版本控制方法、源碼管理工具VSS/CVS的使用;BUG Tracing、測試計劃、測試用例等;測試文檔的書寫;
六、測試工具
系統學習軟體測試的各類工具,包括自動測試工具Quick Test Professional、壓力測試工具LoadRunner、測試管理工具Test Director等;
七、IT職業技能素養:職業規劃、溝通技巧、團隊合作、專業技術規范、面試技巧等職業技能培訓;
八、項目實戰。
❽ 軟體工程 測試應考慮的問題有哪些
所有的測試都是基於需求的!因此,最主要的還是得詳細的了解需求。
當然,軟體工程測試時需要考慮的問題包括:
1、需求是否是正確的,易於理解的,確保項目所有的人員對需求有一個正確的、一致的理解。
2、軟體設計時,需要考慮到軟體、硬體的各種不同的情況。我看您這個問題是在硬體類別的,特別需要考慮到硬體的兼容性、硬體的特殊功能測試等。
3、測試時,需要考慮到功能、性能、可用性、可靠性、穩定性等多個方面。當然,這個是得分階段的,可能一開始不會考慮這么多,但是還是最好一開始就能夠全部考慮進行。從整體上著手,這樣規劃出來會比較詳細,也更能從測試方面來保證軟體的質量。