日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

测试功能范围_软件测试难学吗?

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试功能范围_软件测试难学吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、想要零基礎學好軟件測試,當然需要對測試有一個良好的認知。你可以大致的瀏覽一下標題,先看這些標題從理解上看有沒有難度。然后在根據自己的情況來判斷軟件測試是否難學。

1、什么是軟件測試?

軟件測試(英語:Software Testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。

2、怎樣才算一個真正的軟件測試工程師?

真正的軟件測試工程師算是半個產品經理,半個開發工程師。有人覺得這個標題有點諷刺,真正的測試?難道我們不是真正的測試,平常做的都不是測試的工作嗎?其實不肯定也不否定,但這是一個包含關系,如果只是評審+用例編寫執行,那么確實不是一個真正的測試。

正如標題那樣,我認為真正的測試 =“半個產品+半個開發”。

半個產品,主要體現在理解這個需求為什么要做?其核心價值在哪里?吸引用戶的特點是什么?意味著在評審階段,你除了幫助完善功能需求外,更重要的是理解這個需求對于用戶有什么價值,你是用戶你會怎么想有什么感受,不能簡單的走完流程就可以了,比如一個播放視頻類應用, 多樣性 流暢度 簡易性 快速性等 這是在評審之后可以總結出來的,那么抱著這個價值點,圍繞這我們的整個測試流程,往往能夠發現不一樣的地方。比如還是播放類應用,在我了解個特性后,在測試過程中我會更加留意播放方面的性能,以及兼容性,在我設計測試方案的時候就會標明這幾個測試重點,以便我自己或者組員能夠在測試過程中多加留意這部分的測試點,然后在設計測試用例的時候會提高優先級和覆蓋率。可以發現,測試有了測重點。

半個開發,其實個人認為這是偏向于灰盒測試了,體現在一個需求,你除了要明確這個需求的業務邏輯,其代碼邏輯(數據流邏輯)也是需要知道的,從后臺獲取的json數據結構到客戶端展示再到存儲至本地數據,這一個流向,都是需要去了解并測試的(這部分參照之前寫的測試分析文章),所以測試驗證的不僅僅是功能層面的東西,還是內部的具體實現(當然,具體到類方法的測試那是測試開發的職能,不關咱測試的事),我們要保證的,就是這一階段數據的正確性和容錯性。這樣做的好處是,能從內部發現缺陷,在出現問題的時候可以大概定位到問題出在哪,在出問題面對boss的質疑能夠把責任丟給開發,哦不,是更好的解決問題。

那么半個開發還體現在對工具效率的提升上,能夠通過小腳本,小框架去提升測試效率,這要求對于基本的語言要求是必須的,大公司面試的某一輪考研的就是你的代碼能力,所以測試還是半個開發這一點是毋庸置疑滴。

1、測試項目啟動與規劃

一般地,項目啟動過程組包括兩個過程:即制定項目章程和制定項目初步范圍說明書;而項目規劃過程組則會綜合項目的成本、范圍、時間、質量、風險、人力、溝通、采購等因素制定項目計劃,該項目計劃將用于指導項目的實際執行。

對任一項目而言,有三個文件是非常重要的。即:項目章程、項目范圍說明書,項目管理計劃。這三個文件均產生于項目啟動階段和項目規劃階段。其中項目章程被認為是三大文件之首(項目章程、項目范圍說明書,項目管理計劃)。一個項目,不論大小,都應該有項目章程。

一個典型的項目章程包括如下內容:

1)項目名稱及背景描述;

2)項目經理任命及職責范圍界定;

3)項目業務需求描述;

4)項目發起的原因;

5)主要項目干系人及其初步需求;

6)產品及預期交付成果描述;

7)項目假設和約束條件。

三、零基礎如何學好軟件測試,不懂測試方法怎能事半功倍?

1、從測試設計方法分類

Black box黑盒測試:把軟件系統當作一個“黑箱”,無法了解或使用系統的內部結構及知識。從軟件的行為,而不是內部結構出發來設計測試.

White box白盒測試:設計者可以看到軟件系統的內部結構,并且使用軟件的內部知識來指導測試數據及方法的選擇。

Gray box. 灰盒測試:介于黑盒和白盒之間

總結: 實際工作中,對系統的了解越多越好。目前大多數的測試人員都是做黑盒測試,很少有做白盒測試的。 因為白盒測試對軟件測試人員的要求非常高,需要有很多編程經驗。做.NET程序的白盒測試你要能看得懂.NET代碼。做JAVA程序的測試,需要你能看懂JAVA的代碼。 如果你都能看懂了,你還會做測試么?

2、從測試是手動還是自動上分類

Manual Test 手動測試:測試人員用鼠標去手動測試 (測試GUI)

Automation 自動化測試:用程序測試程序 (測試API)

對于項目來說, 手動測試和自動化測試同等重要,都是保障軟件質量的方法。 目前大部分的項目組都是手動測試和自動化測試相結合。因為很多測試無法做成自動化,很多復雜的業務邏輯也很難自動化, 所以自動化測試無法取代手動測試。

對于軟件測試人員個人發展來說, 做自動化測試是個挑戰,也是測試人員發展的一個方向, 需要測試人員學習大量的開發知識(開發的知識真是學無止境啊)。 從長遠角度來看,自動化測試肯定是越來越吃香的。

而手動測試比較適合剛工作不久的人,手動測試最大的缺點就是技術含量低,單調乏味,容易廢人。

總的來說,手工測試勝在測試業務邏輯,而自動化測試勝在測試底層架構。

如果被測試的程序可測試性比較好, 很有必要做成自動化測試。 能做自動化的盡量做成自動化, 下面這些情形是可以做自動化的:

1) 測試存儲過程。 例如用C#去測試存儲過程

2)測試Web servies. 例如: 用SoupUI工具,或者C#,Java 去測試Web servies。

3)界面和業務邏輯分離的系統,比如,MVC,MVP架構, 或者WPF 程序。 可以用測試腳本去測試這些程序的API。

3、從測試的目的分類

功能測試

測試的范圍從小到大,從內到外, 從程序開發人員(單元測試)到測試人員,到一般用戶Alpha/Beta測試

Unit Test 單元測試:在最低的功能/參數上驗證程序的準確性,比如測試一個函數的正確性(開發人員做的)

Functional Test 功能測試:驗證模塊的功能 (測試人員做的)

Integration Test 集成測試:驗證幾個互相有依賴關系的模塊的功能 (測試人員做的)

Scenario Test 場景測試:驗證幾個模塊是否能完成一個用戶場景 (測試人員做的)

System Test 系統測試:對于整個系統功能的測試 (測試人員做的)

Alpha 測試:軟件測試人員在真實用戶環境中對軟件進行全面的測試 (測試人員做的)

Beta 測試:真實的用戶在真實的用戶環境中進行的測試, 也叫公測 (最終用戶做的)

非功能測試

一個軟件除了基本功能之外,還有很多功能之外的特性,這些叫“Quality of Service requirement”服務質量需求。沒有軟件的功能,這些特性都無從表現出來,因此,我們要在軟件開發的適當階段-基本功能完成后做這些測試。

Stress test 壓力測試:驗證軟件在超過負載設計的情況下仍能返回正確的結果,沒有崩潰

Load test 負載測試:測試軟件在負載情況下能否正常工作

Performance test性能測試:測試軟件的效能,是否提供滿意的服務質量

Accessibility test:軟件輔助功能測試-測試軟件是否向殘疾用戶提供足夠的輔助功能

Localization/Globalization:本地化/全球化測試

Compatibility Test:兼容性測試

Configuration Test:配置測試-測試軟件在各種配置下能否正常工作

Usability Test:可用性測試 –測試軟件是否好用

Security Test:軟件安全性測試

性能測試

性能測試要求測試人員熟練性能測試工具,比如QTP, LoadRunner, Jmeter。 Visual Studio也提供了很多性能測試的工具. 要求測試人員對低層協議非常理解和編寫腳本

性能測試非常有技術含量, 很有發展前途, 是軟件測試人員的一個職業發展方向。

安全性測試

安全性測試的內容很廣, 非常有難度啊。 我只接觸過XSS(跨站腳本攻擊)和SQL注入攻擊。

安全性測試非常有技術含量, 我認為也是軟件測試人員的一個職業發展方向

4、按測試的時機和作用分類

在開發軟件的過程中,不少測試起著“烽火臺”的作用,它們告訴我們軟件開發的流程是否暢通。

Smoke Test:“冒煙”–如果測試不通過,則不能進行下一步工作

Build Verification Test(BVT):驗證構建是否通過基本測試。

Acceptance Test:驗收測試,為了全面考核某功能/特性而做的測試

BVT測試是一種Smoke Test, 指Build生成好之后,自動運行的自動化測試腳本來檢查這個Build的基本功能。 如果BVT測試失敗了,需要開發人員馬上修改,重新生成Buil

5、按測試測策略分類

Regression Test 回歸測試:對一個新的版本,重新運行以往的測試用例,看看新版本和已知的版本相比是否有退化 (regression)

Ad hoc Test 探索性測試:隨機進行的,探索性的測試。

Santiy Test:粗略的測試, 只需要執行部分的測試用例

Regression Test 回歸測試:

對軟件測試人員來說就是重復測試,所以回歸測試最好是自動化的,否則測試人員就要一遍又一遍地重復測試。

1)開發人員做些小改動,就需要測試人員做回歸測試。確保現有的功能沒有被破壞;

2)Bug Fix 也需要回歸測試,確保新的代碼修復了Fix, 也確保現有的功能沒有被破壞;

3) 項目后期,需要做一個完整回歸測試, 確保所有的功能都是好的。

總的來說,測試不難,關鍵是你有沒有心思去認真學習!行動是打敗焦慮的最好方式!

總結

以上是生活随笔為你收集整理的测试功能范围_软件测试难学吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。