軟體測試學習心得

文思社 人氣:2.01W

第一篇:軟體測試課學習心得

軟體測試學習心得

軟體測試課學習心得

09301028 張如

這個學期我學習了軟體測試這門專業課程,在學期即將結束的時候,我也對這門課程建立基本的瞭解和理解。軟體測試這門課程作為軟體工程專業中一門很重要的課程,已經在軟體領域佔據了不可替代的角色,當一個軟體從雛形到真正的在一臺計算機上執行的時候,誰也不能保證計算機軟體能一步到位的滿足人們的需求。所以就有了軟體測試,其目的是:第一是確認軟體的質量,其一方面是確認軟體做了你所期望的事情,另一方面是確認軟體以正確的方式來做了這個事件。下面我簡單的寫一下這個學期對課程的總結和收穫。

我認為,在整個龐大的軟體工程中,不管是需求分析、架構設計甚至是最後的debug,都會產生引入不管的機會,這就要求作為一個軟體測試師要掌握豐富的軟體工程原理和知識。測試的工作將會存在於整個專案週期,即在專案開始時需要各種分析調研時就開始了。尤其是在形成需求規格說明書時就有對文件的測試需求,甚至主導整個專案的走向。

軟體測試對邏輯思維、學習能力、反應要求很高,是否有嚴密的思維和逆向思維也非常重要。做測試還要考慮到所有出錯的可能性,有時候還要用一些非常規的的測試方法。軟體測試還很注重軟體效能問題,也就是要保證軟體執行得很好;不同的使用環境下,考慮軟體

的相容性同樣重要。對於測試員來講,會比開發人員更加重視軟體產品的質量問題。在測試過程中,測試者可能會為客戶的需求角度考慮到更多,由此我們可以認為測試人員有權利決定產品是否可以釋出。然而,通過一個學期的學期,我們又不得不懂得,軟體測試人員不是萬能的,測試人員在面對一個設計爛編碼爛的軟體時,也是無法不低頭的,再怎麼測試它也變不成優秀的軟體。

通過課上的理論因為課下的實踐和後半學期又因為身體力行於qq群論壇裡使我對測試方法和設計分析有了大致的接觸和深入瞭解。收印象深刻的有一下幾點。

1、最基本的測試的分類:從是否需要執行被測軟體的角度,可分為靜態測試和動態測試;從測試是否針對系統的內部結構和具體實現演算法的角度來看,可分為白盒測試和黑盒測試。

2、然後就是,白盒測試中的邏輯驅動測試的覆蓋率測試。

3、還有就是對於劃分等價類和邊界值法這一塊,讓我從模糊到明朗。

4、在初次寫測試用例的時候,感覺真是糾結,用例寫的很死板,看似簡單的一個填表工作,要寫好真是不簡單。一開始寫的比較不自然,有些生搬硬套,而且還很慢。在後來負責了對論壇新鮮事版塊的測試之後,明白了測試用例其實就是指導怎麼去執行測試,而且書寫設計測試用例也要以熟悉軟體的業務為前提,才能更好的去測試。

另外就是一個學期的學習讓我糾正了幾點誤區:

1. 有位大師曾說過:“軟體測試的目的在於發現錯誤,一個好的測試用例在於發現從來未發現的錯誤,一個成功的測試是發現了從未發現的錯誤的測試。” 由此我自認為測試就是為了找到bug,然而一個學期的測試學習經驗告訴我這是錯誤的,如果只是為了找到bug,那麼bug會成天纏著你。

2.在大家協力測試論壇的時期內,我曾認為這種大量的重複性的工作真的很乏味,可是在這乏味中真心發生挺多有意思的bug,意想不到的bug,所以我認為只要掌握了方法,在重複中尋到到創新的小驚喜,任何東西都有它的特點。

作為測試新手,通過一學期的學習,我認為能獨立寫測試計劃,設計測試用例,精通一種測試工具,理解一種bug管理軟體是新手晉級老手的必備素質。任重而道遠?!

在最後,我不得不提的就是細心和耐心了。這是我認為這個學期測試課上收穫最大的了,課程要求測試時必須細心和耐心,我在想,如果以後真的工作在測試一系列的崗位上,要學會坐得住,用大量的時間和精力和bug鬥爭,分離、識別還有歸類bug,是不是也能真的改變我粗心大意和三分鐘熱度的毛病。

最後感謝劉老師這學期的課程講授,和實踐中的指導和幫助。測試路程,路漫漫其修遠兮,吾將上下而求索。

第二篇:軟體測試學習綱要

《軟體測試》學習綱要

一、2014年春季學期期末考試題型如下:

1、選擇題:15題、每題2分;共30分

2、填空題:15空、每空1分;共15分

3、論述題:6題、每題5分;共30分

4、軟體測試實踐題:4題、共25分

學習要點:

1) 軟體測試目的、原則、誤區、物件、分類

2) 軟體缺陷

3) 軟體測試v模型

4) 測試用例概念、設計原則、設計步驟

5) 黑盒、白盒測試

6) 邊界值、等價類測試用例設計

7) 因果圖法

8) 場景法

9) 邏輯覆蓋測試分類、關係

10) 環路複雜度

11) 單元測試概念

12) 單元測試的策略

13) 整合測試概念

14) 整合測試策略10個字

15) 系統測試的概念

16) 迴歸測試概念

17) 驗收測試概念、過程

18) 動態測試與靜態測試

19) 系統性能引數

20) 效能測試分類

21) 測試計劃、測試報告文件內容

22) 白盒測試用例設計

23) 黑盒測試用例設計

24) junit單元測試用例設計及程式設計

第三篇:軟體測試學習基礎

學習軟體測試需要什麼基礎

1、自學能力又是與基礎無關的,但自學能力是一個技術人員最重要的能力之一,尤其是在遇到問題時快速學習並找到解決辦法的能力。技術人員很重要的一點就是需要不斷學習新的知識,這樣才能與時俱進。在工作中不要指望別人告訴你該學什麼,該怎麼學,甚至幫你解決問題,要對自己有個長期的規劃,希望往哪方面發展,應該具備什麼樣的知識。當然知識是學不完的,工作中很可能遇到沒學過的問題,因此遇到問題時要知道怎樣去尋找解決方法,並自己思考如何解決。

2、程式設計基礎至少要了解一門程式語言,c、vb、java都可以,注意是瞭解而不是精通。瞭解的意思就是能看懂程式碼,如果能自己寫簡單的程式碼就更好了。關鍵是瞭解程式設計的思想,不至於看到程式碼相關的內容就不知所措了。只要能看懂一種程式語言,學會其他語言也就不是問題了。其實絕大部分剛剛從事軟體測試行業的人都是做功能黑盒測試,並不需要程式設計能力,但當工作了一段時間,想往更高層次發展時,就需要更全面的能力,程式設計能力就是很重要的一點。如果想往效能測試、自動化測試方面發展的話,那程式設計能力更是必不可少的了,因為使用測試工具就需要程式設計。

3、資料庫基礎與程式設計基礎一樣,會簡單的sql語句,熟悉一種資料庫的使用,sql server是首選,畢竟是微軟的產品,簡單易用。現在的軟體系統基本上沒有不使用資料庫的了,測試人員可能經常會到資料庫中查詢一些資料,如果能自己進行資料庫的操作,那麼不但能提高工作效率,也能對系統有更深一步的瞭解。

4、英語基礎具備基本的英語讀寫能力。看到英語就害怕可不是一個軟體測試人員應該具備的素質。基本上所有的軟體測試工具都是英文介面,很多好的知識文件也只有英文版的,有可能你測試的系統也是英文的,甚至在一些企業裡,跟你溝通的開發人員也只會英語。但也不要被嚇著,英語其實多用用就熟悉了,再開個金山詞霸,難不倒你的。英語不需要多講了,即使不從事軟體測試工作會一門外語也是很有用的。

第四篇:軟體測試的學習

軟體測試學習

一、軟體測試方法:白盒測試、黑盒測試、灰盒測試

二、軟體測試階段:

執行人測試階段測試方法

開發人員—>1.單元測試(白盒測試)

測試人員—>2.整合測試(黑盒+白盒測試)

測試人員—>3.系統測試(黑盒多)

第三方—>4.驗收測試(黑盒多)

驗收測試包括:正式驗收測試、alpha測試、beta測試三種。

系統測試包括:功能測試、效能測試、介面測試、安全測試、配置測試、相容測試、迴歸測試等。

三、軟體各種測試的定義:

白盒測試:程式內部的結構測試,也叫結構測試或邏輯驅動測試,對程式所有邏輯路徑進行測試。

? 白盒測試的主要方法:邏輯驅動測試和基本路徑測試。

? 白盒測試主要對程式模組進行如下檢查:

1. 對程式模組所有獨立的執行路徑至少測試一遍。

2. 多所有邏輯判定,取“真”與取“假”,的兩種情況都至少測試一遍。

3. 在迴圈的邊界和執行的邊界內執行迴圈體。

4. 測試內部資料結構的有效性,等等。

黑盒測試:也叫資料驅動測試,主要是基於需求分析對系統的功能進行測試。

? 黑盒測試的主要方法:等價類劃分、邊界值分析、因果圖、場景法、錯誤推測法

※(測試用例設計所採用的方法就是黑盒測試的主要方法)

? 黑盒測試為了發現幾類錯誤:

1. 在介面上,輸入是否正確接收,輸出結果是否正確(整合測試)

2. 功能是否有遺漏,是否正確(系統測試-功能)

3. 效能是否能滿足要求(系統測試-效能)

4. 是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤(系統測試-相容)

5. 是否有初始化或終止性錯誤(系統測試-安全)

單元測試:對程式碼的執行測試(也叫白盒測試),用於判定某個特定條件(或場景)下某個特定函式的行為。 整合測試:(也叫組裝測試,聯合測試),是單元測試的邏輯擴充套件。模組與模組之間介面的測試。

? 整合測試的策略:

1. 模組與模組連線時,穿越模組介面的資料是否丟失。

2. 各個子模組組合起來,是否達到預期要求的父功能。

3. 一個模組的功能是否對另一個模組的功能產生不利影響。

4. 單個模組的誤差積累起來,是否會放大,從而達到不可接受的程度。

5. 全域性資料結構是否有問題。

系統測試:是將測試的子系統裝配成一個完整的系統來測試

? 系統測試的目的:對最終軟體系統進行全面的測試,確保最終軟體系統滿足產品的需求並遵循系

統設計。

驗收測試:alpha測試、beta測試、第三方驗收測試

迴歸測試:對系統的新版本執行上一版本的測試用例檢驗是否通過。也可以說對於修改後新程式碼進行測試。

? 迴歸測試:作為軟體生命週期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重,

軟體開發的各個階段都會進行多次迴歸測試

功能測試:也叫黑盒測試,利用黑盒測試法進行動態測試,根據需求分析看系統是否能達到預期結果。 效能測試:也叫壓力測試,目標是測試當負載逐漸增加時,系統各項效能指標的變化情況。

介面測試:測試介面是否美觀,是否能讓使用者滿意,操作功能是否合理。

安全測試:檢查系統對非法侵入的防範能力(破譯密碼、保護機制)。

配置測試:搭環境時,進行的引數配置是否合理。

相容測試:與其他軟體或瀏覽器是否發生衝突。

四、測試活動的生命週期是什麼(也可說成測試流程是什麼)?

是指從測試專案計劃建立到bug提交的整個過程。

包括五個階段:1、測試專案計劃

2、測試需求分析

3、測試用例編寫

4、測試用例執行

5、bug提交

(總結:測試的整合測試階段和系統測試階段,兩個階段會運用“測試活動生命週期”來完成)

例如:整合測試→上面的五個階段(測試專案計劃除外)

系統測試→上面的五個階段(測試專案計劃除外)

? 軟體測試專案計劃的目的、內容:(對應階段1)

軟體測試計劃是指導測試過程的綱領性檔案,包含了產品概述、測試策略、測試方法、測試區域、測試配置、測試

週期、測試資源、測試交流、風險分析等內容。藉助軟體測試計劃,參與測試的專案成員,尤其是測試管理人員,

可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。

測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關係,測試計劃主要從巨集觀上規劃測試活動的範圍、方法

和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。所以其中最重要的是測試策略和測試方法(最

好是能先評審)

? 軟體測試專案計劃從什麼時候開始的,為什麼?(對應階段1) 測試過程測試過程

軟體測試應該在需求分析階段就介入,

因為測試的物件不僅僅是程式編碼,應該對軟體開發過程中產生的所有產品都測試,並且軟體缺陷存在放大趨勢.缺

陷發現的越晚,修復它所花費的成本就越大.

? 測試用例編寫的內容:(也可以說成是缺陷測試報告的組成:)(對應階段3)

簡單說分三部分,測試步驟、資料輸入、預期結果

缺陷測試報告的組成:缺陷的標題,缺陷的基本資訊,復現缺陷的操作步驟,缺陷實際結果的描述,期望正確結果

的描述,註釋文字和擷取的缺陷影象

? 缺陷的生命週期(也可以說成是bug的管理流程)(對應階段5)

最簡單的缺陷生命週期:

發現—開啟:發現缺陷提交給開發人員

開啟—修復:開發人員在現,修復缺陷,然後提交測試人員去驗證

修復—關閉:測試人員驗證修復的軟體,關閉已不存在的缺陷。

複雜的缺陷生命週期:

測試人員提交bug入庫(qc),錯誤狀態為new

高階測試人員驗證錯誤

驗證錯誤qc狀態驗證open狀態下錯誤qc狀態

高階測試人員是open開發人員是並修復fixed

高階測試人員不是declind不是declind

是不能修復留下文字說明儲存儲存bug為open對於不能解決和延期解決的bug,不能讓開發人員自己決定,一般要報告給測試經理。

五、測試結束的標準是什麼:(對應測試活動生命週期記憶)

基於“專案計劃”的原則(對應階段1)

基於“測試階段”的原則(對應階段2)

基於“測試用例”的原則(對應階段3)

基於“覆蓋率”的原則(對應階段4)

基於“缺陷收斂趨勢”的原則(對應階段5)

基於“缺陷修復率”的原則(對應階段5)

基於“缺陷度量”的原則(對應階段5)

基於“驗收測試”的原則

基於“質量成本”的原則

基於“測試行業經驗”的原則

六、測試工具:

測試bug的管理工具:td、qc、bugfree

功能測試管理工具:qtp

效能測試管理工具:loadrunner

[testdirector]:企業級測試管理工具,也是業界第一個基於web的測試管理系統。

[quality center]:基於web的測試管理工具,可以組織和管理應用程式測試流程的所有階段,包括指定測試需求、計劃測試、執行測試和跟蹤缺陷。

[quicktest professional]:用於建立功能和迴歸測試。

[loadrunner]:預測系統行為和效能的負載測試工具

七、軟體測試的相關概念:

軟體測試的物件:需求規格說明書、概要設計規格說明書、詳細設計規格說明書、原始碼程式

軟體測試:檢測系統預期結果與實際結果之間的差別,發現系統中的bug。

軟體測試與qa的區別:

qa:是以第三方的姿態,孤立於專案組以外的身份,對整個開發進行評審,qa負責對每個階段的軟體文件審

核。

軟體測試的目的:

1. 發現程式碼錯誤(單元測試)

2. 一個成功的測試用例,在於發現至今未發現的錯誤

3. 一個成功的測試用例,在於發現至今未發現錯誤的測試

4. 依據需求分析確保產品的所有功能,並且使用者訪問的所有功能附有書面說明書。(系統測試-功能)

5. 滿足效能和效率的要求(系統測試-效能)

6. 適應使用者的環境(系統測試-相容)

軟體測試的原則:

1. 應儘早執行,並貫穿於整個軟體生命週期。(軟體的生命週期)

2. 嚴格執行測試計劃(軟體的生命週期-測試專案計劃)

3. 應追溯需求(軟體的生命週期-測試需求分析)

4. 窮舉例是不能的,要遵循good-enough原則(軟體的生命週期-測試用例編寫)

5. 關注缺陷的修復(軟體的生命週期-bug提交)

6. 檢查程式是否做了不該做的(單元測試)

7. 必須確定預期結果(系統測試-功能)

8. 應由第三方來構造(驗收測試)

八、 v模型:

v模型:揭示了軟體測試活動分層和分階段的本質特性。

如:整合測試對應概要設計

整合測試計劃和整合測試說明文件的編寫:可以在概要設計階段就可以開始編寫,只要在整合測試實施前完 成即可。

v模型還有一點意義:1)在需求分析階段 : 編寫測試用例,可以發現需求文件本身的缺陷,這樣就能儘早把需

求的缺陷消除,避免使缺陷殘留到下一個階段中。

2)在概要設計階段:編寫整合測試用例也會間接地地圖軟體設計質量。

總結:開發人員軟體開發階段:使用者需求、需求分析與系統設計、概要設計、詳細設計、編碼

(整合、實施、交付)

測試人員軟體測試階段:驗收測試準備、系統測試準備、整合測試準備、單元測試準備、單元測試

(整合測試、系統測試、驗收測試)

(測試階段準備反過來,與開發階段對應上)

九、典型的軟體測試過程模型是:v模型、w模型、h模型、前置測試模型。

第五篇:軟體測試學習總結

軟體測試學習總結

姓名:某某學號:20140001

在大慶浦東軟體平臺有限公司經過一週的軟體測試實訓,從對軟體測試沒有什麼經驗的我初步掌握了軟體測試的方法和技能,收穫頗多。

我在大學期間的專業是資訊與計算科學,原本打算從事網路方面的工作,對活動目錄、資料庫、作業系統等的知識比較感興趣。經過這次理論學習,瞭解到要做好軟體測試,要求掌握的知識並不僅僅是測試方面的,網路、資料庫、作業系統等的知識對做好測試也是很有幫助的。這讓我明確了以後學習的目標,在不斷學習軟體測試的同時,也應該繼續其他相關知識的深入學習。

通過此次學習,對整個軟體測試行業的瞭解大大的加深。以前認為軟體測試只是枯燥的反覆的使用被測試軟體來發現異常的問題,以為軟體測試並不重要,低開發一等。現在認識到了軟體測試的重要性,軟體測試是軟體產業向軟體工業化生產時代邁進不可缺少的重要組成部分,是保證軟體質量達到客戶需求不可缺少的環節。軟體測試在國內是一個新的職業,發展得比較晚,但它的重要性正在為行業所重視。

在學習過程中,我瞭解了作為一個合格的測試人員所應具備的素質與技能。其中個人素質在測試工作中起到了非常重要的作用,它包括你的信心、耐心、細心和與人交流溝通的能力,它將貫穿你工作生涯的整個過程。在測試理論上,我們系統學習了軟體測試的流程,各種測試階段和測試方法,以及測試工具的使用。通過這些課程的學習,讓我們對軟體工程也有了更深刻的理解,為以後的測試工作作了很好的理論儲備和技能的提升。

軟體測試作為軟體開發過程中一個非常重要的環節,越來越成為軟體開發商和使用者關注的焦點。完善的測試是軟體質量的保證,因此軟體測試就成了一項重要而艱鉅的工作,要做好這項工作當然也絕非易事,我在做軟體測試工作中總結出了一些經驗和技巧。

1.功能點的細化

在進行測試前,先將所要測試的功能細分,填寫《測試用例表》,有針對性的執行功能測試案例,逐個對每個功能細分點進行測試。在每次執行測試案例之前,明確此次執行的目的和預期的輸出結果,並要做好記錄。

2.注意測試中的錯誤集中發生的現象

有一些錯誤是和程式開發人員的程式設計水平和習慣有很大關係的。例如程式中的拼寫錯誤,習慣用法等。注意收集並記錄這些現象,有助於更快、更多地發現類似的錯誤。

3.儘可能多的使用非常規的測試

充分考慮到各種合法的輸入和不合法的輸入以及各種邊界條件。邊界值往往是最容易出現異常的情況,特殊的情況下甚至要製造極端的狀態和意外狀態,比如網路突然中斷,和電源突然斷電等情況。

4.對測試錯誤結果一定要有一個確認的過程

一般有a測試出來的錯誤,一定要有一個b來確認。

5.制定嚴格的測試計劃

測試時間安排的儘量寬鬆,不要希望在極短的時間內完成一個高水平的測試。

6.迴歸測試的關聯性一定要引起充分的注意

在開發人員剛修復bug之後的地方,再找一找,往往開發人員只修復報告出來的缺陷而不去考慮別的功能在修改時可能會重新造成錯誤。修改一個錯誤而引起更多的錯誤出現的現象並不少見。

7.測試文件要儘可能詳細

《測試用例表》中的功能點可儘量的詳細,如實、詳細地記錄每次執行測試案例的輸入資料,輸出資料,出錯提示,進行測試的時間,完成測試的時間等,便於以後對測試工作的回溯。

8.重視交流和溝通

包括和程式開發人員的交流,同是測試人員之間的交流,網上技術論壇和網友的交流,和客戶的交流等。多思考,多交流,多提問,通過多種溝通交流的途徑,可以少走很多彎路,同時可以學到很多東西。

9.善於總結

在測試過程中發現的所有問題,異常情況,發現程式開發人員易犯,常犯的錯誤,各種有價值的經驗教訓,使用系統和操作資料庫時發現或者學到的技巧,使用測試工具時的心得等等,都可以隨手記錄在筆記本或者電腦上。這些都將是今後工作中可以參照的珍貴資料,同時也會成為自己的寶貴經驗。

10.妥善儲存一切測試過程文件。

這次軟體測試實訓為我們以後從事軟體測試工作打下了良好的專業基礎,為我們的進一步學習提高打下了紮實的理論基礎。對測試過程有了初步的認識,測試計劃、測試設計、測試開發、測試執行、測試評估、測試報告貫穿整個軟體開發過程。單元測試、整合測試、系統測試、驗證測試每個階段都應以使用者需求為依據。這些基本的概念雖然比較抽象,但對以後的實踐是大有益處的。

總的來說,這次培訓效果不錯,對自己有一定的提升,這完全不同與學校的學習,因為它更加貼近工作,針對以後工作的內容作了很多例項的練習與工具的使用,為我們更快的加入工作提供的很好的前提。接下來一段時間,我將利用假期進入相關測試部門進行實際專案的訓練,我相信在我有了很好的理論基礎後,會在工作中很好的加以應用,讓測試工作做得更好。同時,我會更加努力的學習與工作,遇到問題會及時多渠道尋找解決方法,積極上進,希望早日成為一名優秀的測試人員。