軟件測試技術大全——測試基礎 流行工具 項目實踐

轉自 http://parra.javaeye.com/blog/441824

 

1、軟件測試行業現狀?

    正蓬勃發展,起步晚,對測試資源的投入、測試人員的培訓、測試工具的購買相對缺乏。

2、目前測試人員的能力?

    普遍偏低,尤其是在測試用例的設計能力、測試的規範化執行、自動化測試和性能測試等方面。

3、軟件測試發展過程?

    最早開發人員編寫完程序後自己調試,侷限性大,存在公正性和權威性的問題;組建獨立的測試小組,獨立測試,形成測試職業;學者專門研究測試技術和理論,開 發人員開發出專門的測試工具來幫助測試人員進行測試。

4、軟件測試發展方向?

    逐漸出現更多更好的測試工具,自動化測試越來越普遍,開發人員的測試意識將不斷增強,開始與測試人員一起討論測試的設計,並做更多的單元測試。

5、什麼制約了軟件測試的發展?

    測試更講究測試人員對需求的理解、驗證,對軟件行爲正確與否的判斷,依賴經驗,難免手工測試;缺乏其他學科(數學、人工智能)的支持,測試工具待進一步改 進。

6、所在測試組織是怎樣工作的?

    微軟以前也無獨立測試組,開發人員自己測試或請別人協助測試,Bug仍然存在,成立獨立的測試部門。組織方式兩大類:一是測試人員跟隨項目,好處是熟悉項 目的業務知識,缺點是交流障礙,測試經驗不能傳遞;二是測試人員由測試部門經理管理,好處是資源統一管理交流多,多點事不利於項目知識深入理解。

7、如何融入團隊進入工作狀態?

    儘快熟悉項目工作環境;虛心學習熟悉資料;啓動階段多參與會議瞭解需求;閱讀已有測試用例、缺陷庫中舊有的bug。

8、如何帶領測試團隊?

    建立學習、培訓機制;建立共享氛圍和學習習慣(測試知識庫、內部雜誌);制定工作規範和指引;明確人員職責、組織結構、工作流程。

9、測試人員應該具備那些素質?

    溝通能力、軟件相關的知識、文檔編寫能力、自信、懷疑精神。

10、QA與QC

    QA即質量保證,QC即質量控制,目標都是提高軟件質量和競爭力。測試人員需要積極配合QA人員記錄好缺陷、分析統計缺陷,爲質量保證提供各種基礎數據。 兩者都是查找錯誤,QC查找的產品中的錯誤,QA查找的是過程中的錯誤;兩者都是對質量進行管理。

11、對軟件工程的瞭解

    軟件工程的目的是提高軟件的質量和生產率最終實現軟件的工業化生產。採用軟件工程模型的目的是爲了確保項目的成功,成功是有成本、進度、質量三者共同決定 的,軟件工程考慮這三方面因素,測試主要負責質量方面。

12、軟件測試的目的?

    發現軟件存在的缺陷,建立起對軟件的信心。測試也是一種服務——爲客戶服務,幫客戶避免充滿缺陷的軟件;爲項目組服務,提供缺陷信息,及時更正,提高產品 質量;爲項目經理判斷軟件質量提供參考信息。

13、軟件測試原則

    Good enough原則;Pareto原則(80-20原則:80%的Bug在分析、設計、評審階段就能被發現和修正,16%需要由系統的軟件測試發現,4%的 bug只有在用戶長期使用過程中才能暴露);儘可能早地開展測試(越早發現錯誤,修改的代價越小,越遲代價越高;在發現較多錯誤的地方投入更多的測試;同 化效應(測試人員受開發人員影響同意其某些觀點,測試人員越熟悉軟件越容易忽略看似小的問題)

14、軟件測試的學派

    分析學派:測試是嚴格的技術性的。

    標準學派:測試是用於衡量進度的一種方式,強調成本度量和可重複的標準。

    質量學派:強調過程,像警察一樣審判開發人員,像守門員一樣保證質量。

    上下文驅動學派:強調人的作用,尋找利益相關的bug。

    敏捷學派:用測試來驗證開發是否完成,強調自動化測試。

15、微軟的測試方法

    強調測試人員與開發人員的配合,測試人員要與開發人員一起參與到需求和設計的評審中,測試人員從測試的角度對需求文檔、設計文檔進行可測試性、明確性、完 整性、正確性等方面的審查。測試人員會在項目的里程碑階段的末期進行Bug Bash(bug大掃除)。項目經理負責定義需求、編寫需求規格說明書和設計文檔;開發人員負責編寫代碼來實現需求設計的規格定義;測試人員負責測試開發 人員編寫的代碼是否複合項目經理定義的規格。三者沒有必然的上下級關係,分工合作。

16、IBM的測試方法

    基於RUP(Rational統一過程模型),強調迭代開發、持續集成。注重迴歸測試,相同的測試要重複多次,所以要投入精力將回歸測試自動化。

    採用測試覆蓋率和質量來對測試進行度量。覆蓋是對測試完全程度的評價(測試需求的覆蓋、測試用例的覆蓋、測試執行代碼的覆蓋),質量是對測試對象的可靠性 穩定性及性能的評價。

    用例驅動。一個用例就是系統的一個功能。用例貫穿於整個軟件開發的生命週期(需求分析——用例描述、系統設計——用例分析、編碼——用例實現、測試——用 例檢驗)。

    測試類型:可靠性(完整性、結構性)、功能性(配置、功能、安裝、安全——預期主角才能使用、容量)、性能(基準、競爭、負載、性能曲線、強度)。

    單元測試——>集成測試——>系統測試——>驗收測試。

17、Parasoft的自動錯誤預防(AEP——Automated Error Prevention)

    以防止錯誤發生爲主要目的。

18、測試過程包括哪些階段?

    測試需求分析和測試計劃制定、測試用例設計、測試環境搭建、測試執行、缺陷分析和報告、測試總結。

19、測試用例設計方法?

    等價類劃分法、邊界值分析法、基本路徑分析法、因果圖法、場景設計法、錯誤猜測法;有效減少測試用例個數的方法:正交表法、均勻試驗法、組合覆蓋法。分類 樹法輔助進行測試用例設計。

20、測試環境?

    測試數據、測試工具、測試機器及操作系統、安裝包、網絡環境、服務器配置與搭建。

21、測試工具如何引入?

    測試工具似一把劍,測試人員要先“品劍”(測試工具的選型、測試工具的試用),再“練劍”(測試工具的培訓),然後“用劍”(測試工具的使用)“論劍” (積累使用經驗)。

22、各種測試工具簡介

    測試管理工具——TestDirector,包括測試需求管理、測試用例管理、測試過程管理、缺陷跟蹤管理、測試報告管理5方面。

    自動化功能測試工具——TestComplete,由美國AutomatedQA公司生產,支持對Win32、.NET、WPF、Web類型的應用程序的 測試,支持多平臺多語言。QTP(QuickTest Professional)具有關鍵字驅動測試特性,在增強測試創建和維護方面很有優勢。

    性能測試工具——LoadRunner,業界公認的權威性能測試工具,被譽爲“工業級”的性能測試工具,支持廣泛的協議和平臺,3個功能模 塊:Virtual User Generator(錄製和編寫協議腳本)、Controller(創建測試場景、執行性能測試)、Analysis(分析測試結果、形成測試報告)。

    內存問題測試工具——BoundsChecker,優秀的內存檢測工具,尤其是非託管程序的內存泄漏問題的檢測非常有效,採用“Code Injection”技術截獲對分配內存和釋放內存的函數的調用。

    微軟的單元測試工具——MSTest,在Visual Studio.NET 2005中進行了整合,利用反射機制可以訪問private類型的屬性和方法,並可以自動創建基礎的測試代碼框架。

    測試用例設計工具——CTE XL,利用分類樹方法設計測試用例。

23、開源測試工具的發展?

    超過300個,覆蓋了單元測試、性能測試、自動化功能測試、測試管理等。

24、開源測試工具簡介

    管理類工具——Bugzilla(Bug跟蹤系統,功能強大,但安裝麻煩)、Mantis(缺陷跟蹤系統,安裝方便,擴展性強)、BugFree(缺陷管 理系統,PHP+MySQL編寫,輕量級,中國人的開源項目,本土優勢)。

    單元測試類工具——XUnit是一個大的框架系列,Java的JUnit,.NET的NUnit,Delphi的DUnit;NMock是.NET的動態 模擬對象庫;NunitForms是NUnit的擴展,專爲Windows Forms應用程序的單元測試和接收測試而設計。

    性能測試類工具——集中在Web性能測試方面,OpenSTA、TestMaker、JMeter、DBMonster

    自動化功能測試類工具——針對Java的Abbott Java GUI Test Framework;針對C#的SharpRobo,用於.NET的WinForm程序的功能測試和錄製;針對html的Samie(Simple Automation Module For Internet Explorer),專用於IE自動化測試的Perl模塊。

25、Windows自帶小測試工具

    “運行”中輸入“Perfmon”,啓動性能監控工具,提供的計數器日誌記錄功能可以方便的記錄測試過程中某些對象的性能變化情況。

26、如何建立團隊學習氣氛?

    把學習內容作爲工作考覈的一部分;把學習計劃作爲項目計劃的一部分;把學習和技術研究任務任務化、專門化;建立一幫一導師制;建立持續的培訓體系。

27、測試人員的發展路線——管理路線、技術路線

    初級測試工程師:集中在手工測試和基本的功能驗證性測試方面

    中級測試工程師:集中在黑盒測試的執行及其測試用例的設計方面,制定測試計劃、測試報告

    高級測試工程師:具備較強的測試用例設計能力,理論融入實踐,黑盒、白盒、性能測試

    測試組長:組織、溝通能力,任務分配、資源安排、分工、具備風險意識,Bug評審、缺陷分析

    測試主管:管理多個測試項目,協調部門工作,監控測試進度,關注氛圍、凝聚力

    質量主管:整體架構、測試工具選型是否合理,關注流程的質量,負責管理體系的建立與維護

發佈了8 篇原創文章 · 獲贊 7 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章