學於黑馬和傳智播客聯合做的教學專案 感謝一、為什麼需要軟體測試黑馬官網
傳智播客官網
1.一款軟體從無到有會經歷很多的開發階段由不同的人來參與開發,所以最終產出的軟體 功能可能會存在問題。因此為了保證軟體的功能是可用的,我們必須要進行測試。
2.當前的軟體件行業已經不在是功能為王了, 使用者不僅僅只盯著軟體的功能是否滿足需求, 使用者還會對軟體是否容易上手,執行效率是否 ok .....等一系列其它體驗都有了更高的要求,所以這也需要我們對軟體進行大量的測試。
二、為什麼選擇軟體測試
國內的軟體行業對於專業的軟體測試人員需求是慢慢變大。
有些人喜歡創造世界所以他們做了開發, 我們就是希望這個世界變得更加美好所以做了軟體測試。
三、為什麼不讓開發自已做測試
1.當前行業有許多的測試從業人員本身之前都是開發崗。
2.專業度:軟體測試和軟體開發分別屬於軟體行業當中二個不同的技術方向。所以讓專人做專事對於質量更加***。
3.思維定式: 在軟體的開發周期中 對於程式設計師來說他們大多數的時間都是在思考如何實現具體的軟體功能,而不會去從使用者的角度考慮如何去"奇葩"的使用這些功能。
4.測試力度: 相對於開發來說,產器就相當於是他們的"孩子"。所以"下手"就不會那麼狠。
一、軟體測試定義
通過手工或者工具對 "被測物件"進行測試操作,從而驗證實際結與預期結果之間是否存在差異。
二、軟體測試的作用
1.通過測試工作可以發現並修復軟體當中存在的缺陷,從而提高使用者對產品的使用信心。
2.測試可以記錄軟體執行過程中產生的一些資料,從而為決策提供資料支援。
3.測試可以降低同型別產品開發遇到問題的風險。
三、測試原則:
所謂的測試原則指的就是我們在執行測試工作時必須要遵守的一些規則。
1.測試證明軟體存在缺陷:無論執行什麼樣的測試操作都能證明當前軟體是有缺陷的。
2.不能執行窮盡測試:有些功能是沒有辦法將所有的測試情況都邏列出來,所以任何的測試操作都有結束的時間。
3.缺陷存在群集現象:對於軟體功能說,核心功能佔 20%,非核心是 80%。在實際工作中我們會集中測試 20%的核心功能,所以這個部分發現缺陷的機率就會高於 80%。因此我們我們就會遇到缺陷都集中在 20% 功能模組裡的現象。
4.某些測試需要依賴特殊的環境。
6.殺蟲劑現象:同樣的乙個測試用例不能重的執行多次,因為軟體會對它產生免疫。
7.不存在缺陷謬論:任何軟體不可能是完美的。
對於當前的測試行業來說我們最經常測試的主體就是 軟體( 主體功能 ),但是需要我們明白是乙個軟體也不僅僅只有功能需要測試。我們可以將軟體分為三個部分組成:功能集合+使用說明書+配置資料。
對於一款軟體來說從無到有需要不同的過程,我們可以將這個過程分為不同階段,然後每個階段都會相應有測試物件
需求分析階段:各種需求規格說明書。
軟體架構設計:api 介面文件( 介面測試 )
編碼實現階段:源**( 白盒測試、單元測試 )
系統功能使用:軟體功能主體( 當前行業做的最多的一種測試 )
軟體的開發都會依據相應的開發模型, 測試級別指的就在這個模型當中我們人為定義的開發步驟。其中對於測試來說我們最常見的一種級別分類如下:
1.單元測試[ ut unit test ]:在軟體測試中單元指的就是組成軟體最小的底層**結構,一般就是類、函式、元件( 當下的軟體測試行業,不會刻意要求測試人員對源**進行測試 )。
2.整合測試( it system ingertaion test ):將多個單元模組組合在一起,然後驗證它們之間溝通的"橋梁"是否能正常工作( 介面測試 ) 。
3.系統測試( st system test ):這是當前行業做的最多的一種測試。由測試人員充當使用者然後對軟體的功能主體進行測試。
4.驗收測試:
(1) a測試 ---- 內測
(2) b測試 -----公測
(3) uat( user acceptance test )測試---- 由客戶派出對於業務非常精通的人員來使用該軟體,從而對功能進行測試。
(4) 驗收測試的核心就是讓使用者為當前軟體 "買單" 。
功能測試:驗證當前的軟體主體功能是否可用。
相容性測試:驗證當前軟體在不同的環境下是否還可以使用。
安全測試:驗證軟體是否只是能授權使用者提供功能使用。
效能測試:相對於當前軟體消耗的資源 它的產出能力。
一、按測試物件進行分類
1.白盒測試:這種測試的主體就是軟體的底層**,不會在意外在的介面是否 ok ,只要求底層功能實現,同時邏輯正確。
2.黑盒測試:這種測試就是指測試軟體外在主體功能是否可用。
3.灰盒測試:介於二者之間( 介面測試 )
4.上述三種方法當中的 "盒" 指的就是被測物件。
二、按測試物件是否執行分類
1.靜態測試:指的就是測試不執行。
2.動態測試:將軟體執行在真實的使用環境中進行測試。
三、按測試手段進行分類
1.手工測試:由測試人員手動的對被測物件進行驗證,優點就是可以靈活的改變測試操作及環境。
2.自動化測試:所謂自動化主要有二種形,一種是自已寫測試指令碼,另外一種就是通過第 三方的工具對被測物件進行測試。優點就是可以高效率的去執行一些人工無法實現的操作。
描述當前軟體是否好用,在當前的軟體行業裡我們所採用的一套標準是基於 iso 組織制定的。需要我們記憶的就是軟體質量的六大特性:
功能性:軟體需要滿足使用者顯式或者穩式的功能。
易用性:軟體易於學習 和上手使用。
可靠性:指的就是軟體必須實現需求當中指明的具體功能。
效率性:類似於軟體的效能。
可維護性:要求軟體具有將某個功能修復之後繼續使用的能力。
可移植性:當前軟體可以從乙個平台移植到另乙個平台上去使用的能力。
【 功能靠用,效率可"以" 】
需求分析
(1) 當前階段的核心目的就是梳理清楚我們需要設計的點是什麼。
設計用例:
(1) 用例就是使用者為了測試軟體的某個功能而執行的操作過程。
(2) 設計用例是有方法的( 等價類、邊界值、判定表...... )
評審用例:對當前的用例進行新增或者刪除。
配置環境
(1) 環境:指的就是當前被測物件執行所需要的執行環境,做為測試人員需要具備配環境的能力。【 一般情況下都會使用一鍵安裝的整合環境 】
(2) 環境分類:作業系統 + 伺服器軟體 + 資料庫 + 軟體底層**的執行環境。
執行用例
(1) 一般在執行用例之前我們會做乙個冒煙測試。 這種測試的核心就是快速的對當前軟體的核心功能或者主體執行流程進行驗證。如果冒煙測試階段有問題,則可以將此版本回退給開發。
(2) 如果冒煙測試通過那麼才會開展示全面的測試。
回歸測試及缺陷跟蹤
(1) 回歸測試指的就是當我們將某個缺陷提交給開發之後,由它們進行修復,修復完成之後需要測試認員再次對其進行測試【回歸測試】
(2) 缺陷跟蹤:指的就是當測試人員發現某個缺陷之後需要一直對其進行狀態的跟蹤。
輸出測試報告
將當前的測試過程中產生的資料進行視覺化的輸出。方便其它人去檢視。
測試結束
當將整個測試過程中產生的一些文件進行整理歸檔,方便後續版本使用。
所謂的軟體架構我們可以理解為是用來指導我們軟體開發的一種思想。目前來說最常見的二種架構模式就是 b/s c/s 。
b---browser 瀏覽器
c---clent 客戶端
s---server 服務端
三、二種架構的比較
1.標準:相對於 cs 架構來說 bs 架構的二端都是在使用現成的成熟產品。所以 bs 會顯示的標準一些。
2.效率:相對於 bs 架構來說 cs 中的客戶端可以分擔一些資料的處理,因此執行效率會高一些。
3.安全:bs 架構當中的資料傳輸都是以 http 協議進行的輸出,而 http 協議又是明文輸出。可以被抓包,所以相對於 cs 架構來說 bs 就顯得不那麼安全【相對的】
4.公升級: bs 架構只需要在伺服器端將資料進地更新, 前台只需要重新整理頁面就可以完成公升級, 而 cs 架構當中必須要將二端都進行更新。
5.開發成本:相對於 bs 架構來說 cs 當中的客戶端需要自已開發,所以相對於來說成本會高一些。
一、瀏覽器是什麼
瀏覽器本質就是一款軟體,安裝在作業系統之上。一般給使用者提供瀏覽網頁的服務。目前來說我們會人為的將所有瀏覽器總結出乙個所謂的五大生產廠商。【 對於瀏覽器來說最核心技術就是核心 】
二、五大瀏覽器生產廠商
1.ie( 微軟 )-----trident
2.chrome ( 谷歌 )----blink
3.firefox( 火狐 )-----gecko
4.safari( 蘋果 )-----webkit
5.opera( 歐朋 )----presto【 現在已經放棄自已東西完全向 chrome 】
jpg(jpeg) :這是一種可以高度保留色彩資訊的格式。
gif:所佔體積小,可以實現**
軟體質量保證 軟體質量
這篇博文將較為全面深入地談談軟體質量保證中關於軟體質量的概念,內容等相關問題。關於質量的定義,不同的領域,不同的人,不同的側重點會得出截然不同的結果。因此關於其質量的基礎概念相對而言較為好理解,但是具體如何去定義實際上確是無關緊要的。不過我們在分析軟體質量的時候,不僅要考慮其面向使用者的需求覆蓋率,...
軟體質量之路(1) 軟體質量框架
林星 iamlinx 21cn.com 2004 年 3 月 自ibm developerworks 軟體質量的重要性是不言而喻的,但是當所有人都意識到它的重要性的時候,卻很少有人能夠清晰的描述出如何才能夠提高軟體質量。軟體質量框架的目的就在於提出乙個評價的原型,幫助我們分析一種方法和技術是否能夠提...
什麼軟體質量 如何評價軟體的質量
1.軟體質量 軟體質量是軟體的生命,它直接影響著軟體的使用和維護。通常軟體的質量有下面幾個方面來評價質量的優劣 1 軟體需求是衡量軟體質量的基礎,不符合需求的軟體就不具備質量。設計的軟體應在功能 效能等方面都符合要求,並能可靠地執行。2 軟體結構良好,易讀 易於理解,並易於修改 維護。3 軟體系統具...