新手入門知識-系列篇

新手入門知識-系列篇

軟件測試行業終於被越來越多的人知道並加入進來,作爲一個軟件測試人員感到很高興,爲了給大家出一份力,我將陸續貼一些基礎知識,然後再將自己的理解寫出來,也許有理解的不對的地方,也希望和大家一起討論。

本文作者特此授權測試時代(www.testage.net)獨家發表,如需轉載,請與作者本人或測試時代(北京慧靈科技有限公司)聯繫!未經授權,請勿轉載,違者必究

1、軟件測試是什麼
定義:測試是對軟件產品質量的檢驗和評價。它一方面檢查軟件產品質量中存在的質量問題,同時對產品質量進行客觀的評價。
軟件測試就是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終複審,是軟件質量保證的關鍵步驟。
軟件測試是根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(包括輸入數據與預期輸出結果),並利用這些測試用例運行軟件,以發現軟件錯誤的過程。

理解:軟件測試簡單來說就是對一個軟件進行一個檢測,看軟件的一些功能,性能等方面是否達到了用戶要求。由於一個軟件的基礎、根本就是功能,所以測試人員非常多的精力都投入到功能中,所以很多人剛開始就認爲軟件測試就是拿着鼠標亂點,很看不起測試的工作。其實很正常,我們對於自己一些不太瞭解的事情總會有一些比較片面的瞭解。但是已經入行的測試人員卻不能看不起自己的職業,因爲你瞭解的,將來要做的遠遠比亂點要多的多。亂點的確也算是一種測試,名詞叫隨機,但是如何從隨機中找到規律,如何能遍歷所有的功能,這都需要一些前人總結出來的方式方法指導,所以測試不簡單,至於方式方法是什麼?咱們下回繼續。

2、什麼是黑盒測試,白盒測試
黑盒測試
黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下, 測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,並且保持外部信息(如數據庫或文件)的完整性。
白盒測試:
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。

理解:黑盒,白盒是軟件測試的基本方法,簡單的說黑盒就是看不到代碼,不關心代碼,只關心這個功能實現了沒有。白盒測試就是關心代碼,看代碼是否規範,小的算法是否能夠實現。
     目前來說,白盒測試因爲起碼要有開發基礎,而且成本比較高,所以白盒測試人員相對較少,也許是物以稀爲貴,所以白盒測試對很多工程師都有一定的吸引力。
     雖然黑盒測試不接觸代碼,但是並不代表很簡單,首先測試人員要了解你所測試的軟件的功能,如果是行業軟件還要了解相關行業經驗,然後還要怎樣能夠將所有軟件的功能,流程測試到。每做一步都要有一個目的,目標明確才能事半功倍,所以黑盒測試不是純粹的亂點,是有目的,有設計性的 

3、什麼是功能測試,性能測試
定義:
功能測試:驗證測試軟件功能能否正常按照它的設計工作。看運行軟件時的期望行爲是否符合原設計。
性能測試是:通常驗證軟件的性能在正常環境和系統條件下重複使用是否還能滿足性能指標。

理解:
功能測試:其實功能測試看着字面也比較好理解,就是驗證軟件是否實現了它應該實現的功能,也可以理解爲是否按照用戶的需求做了軟件,多了功能或少了功能都是有問題的。沒有寫在需求裏的功能,如果開發實現了,測試人員也是要報BUG的,除非是需求變更了,需求文檔沒有更新。現在很多公司需求工作做的都不是特別好,所以有時候測試人員沒有一個相對可靠的依據來進行判斷,這就要求測試人員有一定的溝通能力,去和客戶,產品,需求,甚至開發人員不停溝通,得出一個比較可信的需求。

性能測試:功能測試是測試人員的基礎工作,公司一般都是從功能測試做起,認爲功能實現了產品就可以交付用戶了,待到發現長時間運行或者多人同時用的時候系統總是癱瘓,才讓各公司對性能測試引起重視。又或者是發現在大數據量查詢或訪問一個頁面時系統很滿讓人難以忍受時,也讓公司對性能不得不多多關注。其實以上我說的這些例子都是性能測試的一部分。
其實性能測試有兩種含義,在說功能測試,性能測試時,性能測試是一個廣義詞。而在性能測試裏又細分爲壓力測試,性能測試時,它是一個狹義的解釋。至於細分怎麼解釋我們以後再談。
由於性能測試比功能測試發展晚,所以相對來說積累的經驗少,很多人想做又不知道從何下手,又有些人覺得工具能解決所有的問題。其實性能測試最重要的是一頭一尾,前頭的設計,後頭的分析纔是最重要的,而工具只是幫你實現你的設計而已。


4、什麼是α測試和β測試?
定義:
Alpha testing (),是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的受控測試,Alpha測試不能由程序員或測試員完成。
Beta testing(β測試),測試是軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試。開發者通常不在測試現場,Beta測試不能由程序員或測試員完成。

理解:找了很多個定義,感覺這個還比較恰當。有把α測試說成是模擬用戶的測試,我覺得有點誤導了,最早這個概念是在軟件工程書裏軟件測試章節裏提到的,這兩種測試實際上都是用戶在測試。簡單說來Alpha testing (α測試)就是用戶在軟件開發公司可控的情況下進行測試。Beta testing(β測試)是用戶在用戶自己的環境進行測試,軟件開發公司不可控。其實個人認爲這種定義純屬理論,於實際工作指導意義不大,用處最多的地方是面試的時候。但是好像無論中國人還是外國人有時候都喜歡玩文字遊戲,無奈

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