第一篇:新手軟件測試基礎知識學習必知
1.計算機系統基礎知識
1.1 計算機系統構成及硬件基礎知識
●計算機系統的構成●處理機
●基本輸入輸出設備
●存儲系統
1.2 操作系統基礎知識
●操作系統的中斷控制、進程管理、線程管理
●處理機管理、存儲管理、設備管理、文件管理、作業管理
●網絡操作系統和嵌入式操作系統基礎知識
●操作系統的配置
1.3 數據庫基礎知識
●數據庫基本原理
●數據庫管理系統的功能和特征
●數據庫語言與編程
1.4 中間件基礎知識
1.5 計算機網絡基礎知識
●網絡分類、體系結構與網絡協議
●常用網絡設備
●Internet基礎知識及其應用
●網絡管理
1.6 程序設計語言知識
●匯編、編譯、解釋系統的基礎知識
●程序設計語言的基本成分(數據、運算、控制和傳輸、過程(函數)調用)●面向對象程序設計
●C語言以及C++(或Java)語言程序設計基礎知識
2.標準化基礎知識
●標準化的概念(標準化的意義、標準化的發展、標準化機構)
●標準的層次(國際標準、國家標準、行業標準、企業標準)
●標準的類別及生命周期
3.信息安全知識
●信息安全基本概念
●計算機病毒及防范
●網絡入侵手段及防范
●加密與解密機制
4.信息化基礎知識
●信息化相關概念
●與知識產權相關的法律、法規
●信息網絡系統、信息應用系統、信息資源系統基礎知識
5.軟件工程知識
5.1 軟件工程基礎
●軟件工程概念
●需求分析
●軟件系統設計
●軟件組件設計
●軟件編碼
●軟件測試
●軟件維護
5.2 軟件開發方法及過程
●結構化開發方法
●面向對象開發方法
●瀑布模型
●快速原型模型
●螺旋模型
5.3 軟件質量管理
●軟件質量及軟件質量管理概念
●軟件質量管理體系
●軟件質量管理的目標、內容、方法和技術
5.4 軟件過程管理
●軟件過程管理概念
●軟件過程改進
●軟件能力成熟度模型
5.5 軟件配置管理
●軟件配置管理的意義
●軟件配置管理的過程、方法和技術
5.6 軟件開發風險基礎知識
●風險管理
●風險防范及應對
5.7 軟件工程有關的標準
●軟件工程術語
●計算機軟件開發規范
●計算機軟件產品開發文件編制指南
●計算機軟件需求規范說明編制指南
●計算機軟件測試文件編制規范
●計算機軟件配置管理計劃規范
●計算機軟件質量保證計劃規范
●數據流圖、程序流程圖、系統流程圖、程序網絡圖和系統資源圖的文件編制符號及約定
6.軟件測試知識
6.1 軟件測試基本概念
●軟件質量與軟件測試
●軟件測試定義
●軟件測試目的●軟件測試原則
●軟件測試對象
6.2 軟件測試過程模型
●V模型
●W模型
●H模型
●測試模型的使用
6.3 軟件測試類型
●單元測試、集成測試、系統測試
●確認測試、驗收測試
●開發方測試、用戶測試、第三方測試
●動態測試、靜態測試
●白盒測試、黑盒測試、灰盒測試
6.4 軟件問題分類
●軟件錯誤
●軟件缺陷
●軟件故障
●軟件失效
6.5 測試標準
7.5.1 GB/T 16260.1—2003 軟件工程 產品質量 第1部分:質量模型
7.5.2 GB/T 18905.1—2002 軟件工程 產品評價 第1部分:概述
7.5.3 GB/T 18905.5—2002 軟件工程 產品評價 第5部分:評價者用的過程
第二篇:測試新手應該怎么學習軟件測試
測試新手應該怎么學習軟件測試
對于測試新手來說,學好測試的理論知識是必須的,因為這些是你測試的基礎,千萬不要好高騖遠,別忘了一句話“磨刀不誤砍柴工”。舉個例子,如果你沒有學習測試理論基礎,老板讓你做一個測試基線,你知道怎么做嗎?就算是你知道基線是什么,那么你會做好一個基線嗎?
如果基礎沒打好,不要急著學習測試工具,因為工具其實是很好學的,無非就是點幾個按鈕,頂多是寫幾句腳本,進行一下腳本什么的優化。但是如果不會測試理論基礎,你用自動化工具做出來的結果你會分析嗎?自動化得出的結果不是最終的測試報告,這些需要測試人員再分析的,最終才能得出結果。再舉個例子,你用loadrunner測試出來了一堆數據,你能根據那些數據得出系統瓶頸嗎?不能,因為系統瓶頸的種類,分析方法,以及不同的系統要注意的瓶頸點不同,這些如果沒有扎實的理論基礎是很難分析出來的,因為它要綜合各個情況才能得出系統瓶頸的。
還有一點,那就是一定要學習一些其他的東西,因為測試是一個多學科的科學,你必須要懂得,至少了解linux系統,網絡技術、一門開發語言、CMM等內容。因為如果這些你不懂,老板讓你搭建一個linux的測試環境,你會嗎?讓你搭建VPN,你會嗎?
以上就是我總結的幾點內容,這些一定是不全的,后續我會繼續補充。但是我也就是想說一句話,學軟件測試看似簡單,其實做一名合格的軟件測試工程師很難。一定要有扎實的基礎、敏銳的洞察力以及廣泛的知識涵蓋面,測試軟件對我們來說也是極其重要的。
第三篇:軟件測試學習
軟件測試學習
1. 什么是軟件測試?
答:軟件測試是為了發現錯誤而審查軟件文檔、檢查軟件數據和執行程序代碼的過程,其目的在于在軟件交付使用前充分發現缺陷并協助相關部門定位、解決缺陷,最后交付一個高質量的軟件產品給用戶。
2.軟件測試的分類有哪些?
答:軟件測試活動可以分為以下幾類:
? 黑盒測試:
黑盒測試又叫功能測試,數據驅動測試或基于需求規格說明書的功能測試。(主要用于系統測試和確認測試中)
? 白盒測試
白盒測試又稱結構測試、邏輯驅動測試或程序代碼內部構成的測試。
? 灰盒測試
灰盒測試結合黑盒和白盒測試兩種方法,一方面考慮程序代碼的功能性表現,另一方面,又需要考慮程序代碼的內部結構。(主要用于性能測試、自動化功能測試)? 靜態測試
靜態測試就是用眼看,閱讀程序代碼、文檔資料等,與需求規格說明書中的客戶需求進行比較,找出程序代碼中設計不合理及文檔集料有錯誤的地方
? 動態測試
動態測試即為實際的執行被測對象的程序代碼,輸入事先設計好的測試用例,檢查程序運行得到的結果與測試用例中設計的預期結果之間是否有差異,判定實際結果與預期結果是否一致,從而檢驗程序的正確性、可靠性和有效性,并分析系統運行效率和健壯性等性能狀況。
動態測試由四個部分組成:設計測試用例、執行測試用例、分析比較輸出結果、輸出測試報告。
動態測試有三種方法:黑盒測試、白盒測試、灰盒測試。
? 手動測試
手動測試大部分的測試就是模擬用戶的業務流程,來使用軟件產品,從而發現軟件產品中的缺陷。手動測試是最傳統的測試方法,也是現在大多數公司都是用的測試形式。他是測試人員設計測試用例并執行測試用例,然后根據實際結果去和預期的結果相比較并記錄測試結果,最終輸出測試報告的測試活動。
優點:可以充分發揮測試工程師的主觀能動性,將其智力活動體現于測試活動中,能發現很多的缺陷。
缺點:手動測試有一定的局限性與單調枯燥性。
? 自動測試
自動測試就是利用一些測試工具,模擬用戶的使用流程,讓它們自動運行來查找缺陷。也可以編寫一些代碼,設定特定的測試場景,來自動尋找缺陷
優點:能夠很快、很廣泛的查找缺陷,同時可以做很多重復性的工作,大大提高了測試的效率和測試的準確性,而且寫出的比較好的測試腳本,還可以在軟件生命周期的各個階段重復使用。
3.軟件測試的流程:需求測試、單元測試、集成測試、系統測試、性能測試、用戶測試、回歸測試
? 需求測試:主要從以下幾個方面考慮
①完整性:每一項需求都必須將所要實現的功能描述清楚,從而為開發人員設計和實現這些功能提供所有必要的需求依據。
②正確性:每一項需求都必須準確的陳述其要開發的功能
③一致性:一致性是指與其它軟件需求或高層(系統、業務)需求不相矛盾,或者與我們的項目宣傳資料一致。
④可行性:每一項需求都必須是在已知系統和環境的權能和限制范圍內可以實施的。⑤無二義性:對所有需求的讀者都只能有一個明確統一的解釋,由于自然語言極易導致二義性,所以盡量把每項需求用簡潔明了的用戶語言表達出來。
⑥健壯性:需求的說明中是否對可能出現的異常進行了分析,并且對這些異常進行了容錯處理。
⑦必要性:“必要性”可以理解為每項需求都是用來授權你編寫文檔的“根源”。要是每項需求都回溯至某項客戶的輸入,如需求用例或別的來源。
⑧可測試性:每項需求都能通過設計測試用例或其它驗證方法來進行測試。
⑨可修改性:每項需求只應在SRS(軟件需求規格說明書)中出現一次。這樣更改時易于保持一致性。另外,使用目錄表、索引和相互參照列表方法將使軟件需求規格說明書更容易修改。
? 單元測試
單元測試又成為模塊測試,是對程序代碼中最小的設計模塊單元進行測試。(可以發現大約80%的軟件缺陷,大多數公司中,由對應的開發工程師負責)單元測試方法:主要采用靜態測試和動態測試相結合的辦法。
單元測試工具:Juint等。
單元測試優點:在軟件生產過程中及時的開展單元測試可以降低編碼的錯誤率,提
高編碼質量。
? 集成測試
集成測試又稱為組裝測試,就是將軟件產品中的各個模塊組裝起來,檢查其接口是否存在問題,以及組裝后的整體性能、性能表現。
集成測試方法:一般采用非增式集成方法、增式集成方法(自底向上集成;自頂向下集成;組合方式集成)等策略進行測試,利用以黑盒測試為主,白盒測試為輔的測試方法進行測試。
(集成測試一般由測試工程師但當)
集成測試的目的:主要解決的是各個軟件組成單元代碼是否符合開發規范、接口是否存在問題、整體功能有無錯誤、界面是否符合設計規范、性能是否滿足用戶需求等。
? 系統測試
系統測試是將通過集成測試的軟件部署到某種較為復雜的計算機用戶環境(指一般用戶的計算機環境)進行測試。
系統測試的目的:通過與系統的需求進行比較,發現軟件與系統的定義不符合或與之矛盾的地方。主要考察被測軟件的功能和性能表現。
系統測試方法:主要采用黑盒測試方法,進行的是安裝卸載測試、兼容性測試、功能確認測試、安全性測試等。
系統測試過程其實也是一種配置檢查過程,檢查軟件在生產過程中是否有遺漏的地方,在此時做到查漏補缺,以確保交付的產品符合用戶的質量要求。如果軟件可以按照用戶合理期望的方式來工作的時候,即可認為通過系統測試。
? 性能測試
性能測試就是要求被測軟件在業務處理速度、處理能力和所耗用的硬件系統資源比率滿足用戶的需求。
對測試人員的要求:測試人員要掌握編程語言,精通業務流程,擁有深厚的項目經驗。所以,想順利的開展性能測試,需要測試工程師不斷的學習,掌握相應的知識。例子:對于某個論壇,我們需要測試論壇支持10000個用戶同時使用,并且在這種情況下,打開帖子的速度能否控制在4秒鐘以下,論壇服務器的CPU使用率不超過80%,內存的占用率不超過75%等,這些都是典型的性能測試指標。
性能測試優點:一方面可以驗證被測軟件是否符合用戶需求,另一方面,可以得到相關的性能數據,為被測軟件的優化提供參考。
性能測試工具:LoadRunner自動化性能測試工具等。
? 用戶測試
用戶測試可以稱其為用戶確認測試。在正式驗收前,需要用戶對本系統做出一個評價,用戶可對交付的系統做測試,并將測試結果反饋回來,進行修改、分析。用戶測試在整個軟件生產流程中非常重要,這個環節是被測軟件首次作為正式系統交由用戶使用,用戶會根據他們的實際使用情況進行測試、試用,并提出實際使用過程中的問題。
用戶測試是軟件生產流程中的最后質檢關。
? 回歸測試
回歸測試就是過一段時間以后再回過頭來對以前修復過的Bug重新進行測試,看該Bug是否會重新出現。
回歸測試的目的:檢查以前的測試用例能否再次通過,是否還有需要補充的用例等。
回歸測試工具:QTP等。
第四篇:軟件測試之新手總結
軟件測試之新手總結
在不斷發展,競爭激烈的今天,大家都注重時間和效率,不節約時間,沒有效率那企業就瀕臨崩潰。企業為什么上信息化,信息化是為了什么?我們給企業上CRM、OA等,也不過是為了給他們節省時間,把一些繁重的事情交給計算機處理。計算機不是萬能的,它是沒有智商,沒有思維的,它有的也只是固化在機器本身的一大堆代碼,并按照一定的指令去執行,所以我們不能強迫它面面俱到。上企業信息化,可以提高效率,可以加強管理,更多的是體現在節約時間上,但節約出來的時間我們做了什么,這是我們要考慮的問題。
當然,在我們給企業實現信息化,提高工作效率,節省工作時間時,我們不妨為自己盤算一下,我們可以為我們的軟件公司實現什么信息化。項目管理我們可以用PROJECT,在測試計劃到BUG跟蹤我們可以用TD,在版本控制、代碼管理、配置管理等我們可以用VSS以及CVS,在自動化測試時我們可以選用WR、LR、RATIONAL等等,當然我們還可以用一些小型的比較實用的工具,比如XENU、WEB VALIDATOR、WAS、OPENSTA、SAINT等等。盲目的推崇工具并不高明,在我們沒有完全掌握工具時,我們不要完全去相信工具做出的結論,因為有些會被我們所忽略掉,我們操作的本身不正確不理解不細微可能造成結果的很大差別。工具只能作為驗證的一種手段。
代碼管理、BUG管理工具,我認為是必須的,也是最簡單的。代碼管理如VSS,可以方便我們對程序進行牽入牽出,能保證服務器上的程序是最高版本。當然,VSS還可以被我們用到其它方面。BUG管理工具,我們可以通過他們統計工作量,也可以透過他發現工作中的漏洞。一個項目的結束,項目經理學會了管理項目,編碼人員學會了編程,測試員得到了什么?他們得到的是很多BUG,挖掘、回顧BUG中的內容就是一種財富,就是我們測試員可以得到的經驗,這些完全可以對自己的工作方式、方法進行評價,并可以自己總結出一套測試理論。每個公司都可以在慢慢工作中總結和更新自己公司的BUG管理工具,這也是公司加強管理的一種手段。
如果有了一定的管理工具,在類似項目時,我們就可以參照以前的標準,參照以前的做法,這樣我們就輕車熟路了,試問一下:我們喜歡查詢呢還是喜歡一個一個的查看呢?在工作的時候,要學會反省、挖掘、總結,成為一個有思想的人。有思想的人遠遠比一個只愛勞動的人受重用。加強工具化管理勢在必行,今天你為自己花費了一分鐘,明天也許你會節約出一個小時
沒有什么固定的模式,也沒有什么固定的套路,這就是軟件行業。軟件行業更依賴于人的因素,這就告訴我們環境的不同,變化是不同的,在原來的基礎上總結出自己的開發模式,才是我們應該要做的。就像XP開發模式也有前提一樣。取人之長,補己之短是我們最好的做事方式。
面對著五花八門的工具,我很迷茫,也許其他新手也和我一樣。但我認為,學工具是必然的,但不是必須的。測試理論可以指導我們的工作,但測試更多是要靠自己的總結,在實踐中慢慢的積累。
第五篇:軟件測試學習總結
軟件測試學習總結
姓名:某某 學號:20090001 在大慶浦東軟件平臺有限公司經過一周的軟件測試實訓,從對軟件測試沒有什么經驗的我初步掌握了軟件測試的方法和技能,收獲頗多。
我在大學期間的專業是信息與計算科學,原本打算從事網絡方面的工作,對活動目錄、數據庫、操作系統等的知識比較感興趣。經過這次理論學習,了解到要做好軟件測試,要求掌握的知識并不僅僅是測試方面的,網絡、數據庫、操作系統等的知識對做好測試也是很有幫助的。這讓我明確了以后學習的目標,在不斷學習軟件測試的同時,也應該繼續其他相關知識的深入學習。通過此次學習,對整個軟件測試行業的了解大大的加深。以前認為軟件測試只是枯燥的反復的使用被測試軟件來發現異常的問題,以為軟件測試并不重要,低開發一等?,F在認識到了軟件測試的重要性,軟件測試是軟件產業向軟件工業化生產時代邁進不可缺少的重要組成部分,是保證軟件質量達到客戶需求不可缺少的環節。軟件測試在國內是一個新的職業,發展得比較晚,但它的重要性正在為行業所重視。
在學習過程中,我了解了作為一個合格的測試人員所應具備的素質與技能。其中個人素質在測試工作中起到了非常重要的作用,它包括你的信心、耐心、細心和與人交流溝通的能力,它將貫穿你工作生涯的整個過程。在測試理論上,我們系統學習了軟件測試的流程,各種測試階段和測試方法,以及測試工具的使用。通過這些課程的學習,讓我們對軟件工程也有了更深刻的理解,為以后的測試工作作了很好的理論儲備和技能的提升。
軟件測試作為軟件開發過程中一個非常重要的環節,越來越成為軟件開發商和用戶關注的焦點。完善的測試是軟件質量的保證,因此軟件測試就成了一項重要而艱巨的工作,要做好這項工作當然也絕非易事,我在做軟件測試工作中總結出了一些經驗和技巧。1.功能點的細化
在進行測試前,先將所要測試的功能細分,填寫《測試用例表》,有針對性的運行功能測試案例,逐個對每個功能細分點進行測試。在每次運行測試案例之前,明確此次運行的目的和預期的輸出結果,并要做好記錄。2.注意測試中的錯誤集中發生的現象
有一些錯誤是和程序開發人員的編程水平和習慣有很大關系的。例如程序中的拼寫錯誤,習慣用法等。注意收集并記錄這些現象,有助于更快、更多地發現類似的錯誤。
3.盡可能多的使用非常規的測試 充分考慮到各種合法的輸入和不合法的輸入以及各種邊界條件。邊界值往往是最容易出現異常的情況,特殊的情況下甚至要制造極端的狀態和意外狀態,比如網絡突然中斷,和電源突然斷電等情況。
4.對測試錯誤結果一定要有一個確認的過程
一般有A測試出來的錯誤,一定要有一個B來確認。5.制定嚴格的測試計劃
測試時間安排的盡量寬松,不要希望在極短的時間內完成一個高水平的測試。6.回歸測試的關聯性一定要引起充分的注意
在開發人員剛修復Bug之后的地方,再找一找,往往開發人員只修復報告出來的缺陷而不去考慮別的功能在修改時可能會重新造成錯誤。修改一個錯誤而引起更多的錯誤出現的現象并不少見。
7.測試文檔要盡可能詳細
《測試用例表》中的功能點可盡量的詳細,如實、詳細地記錄每次運行測試案例的輸入數據,輸出數據,出錯提示,進行測試的時間,完成測試的時間等,便于以后對測試工作的回溯。8.重視交流和溝通
包括和程序開發人員的交流,同是測試人員之間的交流,網上技術論壇和網友的交流,和客戶的交流等。多思考,多交流,多提問,通過多種溝通交流的途徑,可以少走很多彎路,同時可以學到很多東西。9.善于總結
在測試過程中發現的所有問題,異常情況,發現程序開發人員易犯,常犯的錯誤,各種有價值的經驗教訓,使用系統和操作數據庫時發現或者學到的技巧,使用測試工具時的心得等等,都可以隨手記錄在筆記本或者電腦上。這些都將是今后工作中可以參照的珍貴資料,同時也會成為自己的寶貴經驗。10.妥善保存一切測試過程文檔。
這次軟件測試實訓為我們以后從事軟件測試工作打下了良好的專業基礎,為我們的進一步學習提高打下了扎實的理論基礎。對測試過程有了初步的認識,測試計劃、測試設計、測試開發、測試執行、測試評估、測試報告貫穿整個軟件開發過程。單元測試、集成測試、系統測試、驗證測試每個階段都應以用戶需求為依據。這些基本的概念雖然比較抽象,但對以后的實踐是大有益處的。總的來說,這次培訓效果不錯,對自己有一定的提升,這完全不同與學校的學習,因為它更加貼近工作,針對以后工作的內容作了很多實例的練習與工具的使用,為我們更快的加入工作提供的很好的前提。接下來一段時間,我將利用假期進入相關測試部門進行實際項目的訓練,我相信在我有了很好的理論基礎后,會在工作中很好的加以應用,讓測試工作做得更好。同時,我會更加努力的學習與工作,遇到問題會及時多渠道尋找解決方法,積極上進,希望早日成為一名優秀的測試人員。