軟件測試方法種類繁多氨淌,記憶起來混亂, 如果把軟件測試方法進行分類, 就會清晰很多村视。 我參考一些書籍和網(wǎng)上的資料官套, 把常用的軟件測試方法列出來, 讓大家對軟件測試行業(yè)有個總體的看法蚁孔。
從測試設(shè)計方法分類
總結(jié): 實際工作中奶赔,對系統(tǒng)的了解越多越好。目前大多數(shù)的測試人員都是做黑盒測試勒虾,很少有做白盒測試的纺阔。 因為白盒測試對軟件測試人員的要求非常高瘸彤,需要有很多編程經(jīng)驗修然。這個可以長期積累。
從測試是手動還是自動上分類
對于項目來說, 手動測試和自動化測試同等重要愕宋,都是保障軟件質(zhì)量的方法玻靡。 目前大部分的項目組都是手動測試和自動化測試相結(jié)合。因為很多測試無法做成自動化中贝,很多復(fù)雜的業(yè)務(wù)邏輯也很難自動化囤捻, 所以自動化測試無法取代手動測試。
對于軟件測試人員個人發(fā)展來說邻寿, 做自動化測試是個挑戰(zhàn)蝎土,也是測試人員發(fā)展的一個方向, 需要測試人員學(xué)習(xí)大量的開發(fā)知識绣否。 從長遠(yuǎn)角度來看誊涯,自動化測試肯定是越來越吃香的。
而手動測試比較適合剛工作不久的人蒜撮,手動測試最大的缺點就是技術(shù)含量偏低暴构。
總的來說,手工測試勝在測試業(yè)務(wù)邏輯段磨,而自動化測試勝在測試底層架構(gòu)取逾。
如果被測試的程序可測試性比較好, 很有必要做成自動化測試苹支。 能做自動化的盡量做成自動化砾隅, 下面這些情形是可以做自動化的
- 測試存儲過程。 例如用C#去測試存儲過程
- 測試Web servies. 例如: 用SoupUI工具债蜜,或者C#,Java 去測試Web servies琉用。
- 界面和業(yè)務(wù)邏輯分離的系統(tǒng),比如策幼,MVC邑时,MVP架構(gòu), 或者WPF 程序特姐。 可以用測試腳本去測試這些程序的API晶丘。
從測試的目的分類
1)功能測試
測試的范圍從小到大,從內(nèi)到外唐含, 從程序開發(fā)人員(單元測試)到測試人員浅浮,到一般用戶Alpha/Beta測試
2)非功能測試
一個軟件除了基本功能之外,還有很多功能之外的特性捷枯,這些叫“Quality of Service requirement”服務(wù)質(zhì)量需求滚秩。沒有軟件的功能,這些特性都無從表現(xiàn)出來淮捆,因此郁油,我們要在軟件開發(fā)的適當(dāng)階段-基本功能完成后做這些測試本股。
3)性能測試
性能測試要求測試人員熟練性能測試工具,比如QTP, LoadRunner, Jmeter桐腌。 Visual Studio也提供了很多性能測試的工具. 要求測試人員對低層協(xié)議非常理解和編寫腳本拄显。
性能測試非常有技術(shù)含量, 很有發(fā)展前途案站, 是軟件測試人員的一個職業(yè)發(fā)展方向躬审。
4)安全性測試
安全性測試的內(nèi)容很廣, 非常有難度啊蟆盐。 我只接觸過XSS(跨站腳本攻擊)和SQL注入攻擊承边。
安全性測試非常有技術(shù)含量, 我認(rèn)為也是軟件測試人員的一個職業(yè)發(fā)展方向石挂。
按測試的時機和作用分類
在開發(fā)軟件的過程中炒刁,不少測試起著“烽火臺”的作用,它們告訴我們軟件開發(fā)的流程是否暢通誊稚。
BVT測試是一種Smoke Test, 指Build生成好之后翔始,自動運行的自動化測試腳本來檢查這個Build的基本功能。 如果BVT測試失敗了里伯,需要開發(fā)人員馬上修改城瞎,重新生成Build
按測試測策略分類
Regression Test 回歸測試:
對軟件測試人員來說就是重復(fù)測試蒲赂,所以回歸測試最好是自動化的研底,否則測試人員就要一遍又一遍地重復(fù)測試扔罪,
開發(fā)人員做些小改動疟位,就需要測試人員做回歸測試。確敝┰現(xiàn)有的功能沒有被破壞
Bug Fix 也需要回歸測試授舟,確保新的代碼修復(fù)了Fix, 也確比祝現(xiàn)有的功能沒有被破壞
項目后期肩碟,需要做一個完整回歸測試强窖, 確保所有的功能都是好的
Ad hoc Test 探索性測試:
平常我最喜歡做隨機測試了, 拋開test case. 自己按照自己的思路削祈,隨便點點翅溺。 如果測試GUI,Ad hoc能發(fā)現(xiàn)大量的bug.