一.在軟體測試基礎之前,我先了解計算機基礎知識:
1.為什麼需要計算機?
每天都要處理的資訊是巨大的,如果是人工來對這些資料進行處理,效率是很低的。因此使用計算機來提高處理資料的速度。
2.計算機是什麼?
是可以自動高效地完成計算的電子裝置,俗稱電腦(pc)
二.軟體測試基礎:
1.為什麼需要軟體測試:
(1)一款軟體的誕生會經歷很多的開發階段,由於不同的人來參與開發,最終產出的軟體功能會存在問題。這時我們採用測試,對軟體進行測試,所以保證了軟體的功能可用。
(2)不管是軟體是否容易上手,執行效率是否高等一些列的要求,所以這也需要我們對軟體進行大量的測試。
2.為什麼選擇軟體測試:
想要讓這款產品變得更加的完善,讓使用者用起來更加利索、方便,把錯誤率降到最低,所以需要測試。
3.軟體測試定義:
通過手工或工具對「被測物件」進行測試操作,從而驗證實際結果與預期結果之間是否存在差異
4.測試原則:
(1)測試證明軟體存在缺陷:不管在執行什麼樣的測試操作都保能當前軟體是否有缺陷的。
(2)不能執行窮盡測試:有些功能是沒有辦法將所有的測試情況邏列出來,任何的測試操作都有結束的時間
(3)缺陷存在群集現象:對於軟體功能來說,核心功能佔20%,非核心功能佔80%,我們會集中測試20%的核心功能
(4)某些測試需要依賴特殊的環境
(6)殺蟲劑現象:同一樣的測試不能多次測試,因為軟體會對它產生免疫
(7)不存在缺陷謬論:任何軟體不可能是完美的
5.測試級別(最常見的一種級別分類,如下)
(1)單元測試:軟體中的最小可測試單元進行檢查和驗證,一般就是類、函式、元件。
(2)整合測試:在單元測試基礎上,將多個單元模組組合在一起,進行整合測試。
(3)系統測試:測試人員充當使用者然後對軟體功能的主體進行測試(是當前行業做的最多的一種測試)
(4)驗收測試(分為了兩種測試):1.內側、2.公測
6.系統測試分類:
(1)功能測試:驗證當前軟體主體是否可用
(2)相容性測試:驗證當前軟體在不同的環境下是否可用
(3)安全測試:驗證軟體是否只能授權使用者提供的功能使用
(4)效能測試:相當於當前軟體消耗的資源、它的產出能力
7.常見的系統測試方法:
1.按測試物件進行分類:
(1)白盒測試:主要測試軟體的底層**(也就是看**進行測試)
(2)黑盒測試:主要測試軟體外在主體是否可用(也就是不看**,直接進行測試)
(3)灰盒測試:介於二者之間的測試
2.按測試物件是否執行分類:
(1)靜態測試:不執行
(2)動態測試:在真實的環境下進行測試
3.按測試手段進行分類:
(1)手工測試:人員手動對被測試的物件進行測試,優點是靈活的改變測試操作環境
(2)自動化測試(主要有兩種形):1.自己寫測試指令碼,2.通過第三方的工具對被測試物件進行測試,優點是在高效率的執行有些人工無法的操作
8.軟體開發過程模型:
瀑布模型:
(2)瀑布模型的優缺點:
優點:開發的各個階段比較清晰
早期計畫及需要調查
適合需要求穩定的產品開發。
缺點:依賴於早期的需求調查,不適合需求的變化。
單一流程不可逆
風險往往在後期才顯露,失去糾正的機會,導致後期的時間不夠用
(3)在瀑布模式的基礎上,優化了瀑布模式,這個模式叫快速原型模式
第一:快速原型模型的介紹
第二:快速原型模式的優缺點
優點克服瀑布模型的缺點
缺點不適合大型系統的開發
適合小型的、靈活性高的系統
9.測試模型:
(1)v模型
(2)解析當中v模型的設計、測試等
需求分析:使用者需求、需求規格說明書
概要設計:模組與模組之間的介面、系統架構、模組的劃分
詳細設計:模組中的內部的邏輯與方法
編碼:實現上面的設計
單元測試:檢查開發的**是否符合詳細設計要求
整合測試:測試過的各組部分是否能玩好的組合到一起
系統測試:測試已經整合在一起的產品是否符合規格說明書打的要求
驗收測試:測試產品是否符合使用者的要求
(3)v模型的優點:
包含了高層測試:底層測試(單元測試)、高層測試(系統測試)
採用自頂向下的方法把整個開發過程分成不同的階段,每個階段的工作都很明確,當所有的階段都完成之後,那開發的過程也隨之結束
(4)v模型的缺點:
是由於自身的順序性所導致的,很多前期的錯誤直到測試階段才發現,甚至無法發現,隨著往往無從修改
模型靈活性比較低
(5)w模型:
第二:w模型優缺點
優點早期就進入測試,可以盡早的解決缺陷,把錯誤率降到最低
還便於控制整個專案過程
缺點複雜性提高,對需求和設計的測試要求很高
(6)h模型
第二:h模型優缺點
優點測試活動可以盡早準備、盡早執行、具有很強的靈活性
被測物的不同而分層次、分階段、分次序的執行,同時也可以被迭代
缺點管理型要求高、技能要求高、對於整個專案組的人員要求非常高、測試就緒點分析困難
10.等價類劃分法:
是一種重要的、常用的黑盒測試,不需要考慮程式的內部結構,只需要考慮程式的輸入規格即可
11.邊界值(邊界值分析法也是一種常用的黑盒測試方法):
確定邊界值情況、選取正好等於、剛剛好大於或者剛剛小於邊界值作為測試資料、閉兩邊、開中間
12.因果圖法的定義:
(1)特點:
考慮輸入條件的相互制約及組合關係
考慮輸出條件對輸入條件的依賴關係
(2)因果圖的核心:
因果圖的「因」——輸入條件
因果圖的「果」——輸出條件
(3)基本符號:
恒等含義:若原因出現,則結果出現; 若原因不出現,則結果也不出現
非含義:若原因出現,則結果不出現; 若原因不出現,則結果出現
或 含義:若幾個原因中有乙個出現,則 結果出現;若幾個原因都不出現,則 結果不出現
與含義:若幾個原因都出現,則結果 才出現;若其中乙個原因不出現, 則結果不出現
(4)約束條件:
軟 件 測 試 基 礎 知 識
軟體效能指標主要有響應時間,系統響應時間和應用延遲時間,吞吐量,併發使用者數,資源利用率五種。軟體實現的演算法與系統響應時間和應用延遲時間是直接相關的,所以軟體的效能也必定與實現演算法是有關係的吞度量是指系統在單位時間內處理請求的數量,對於無鬢髮的應用系統而言,吞度量是與響應時間嚴格的反比關係,因為...
軟體測試基礎知識
1 發現軟體錯誤 2 有效定義和實現軟體部件由底層到高層的組裝過程 3 驗證軟體是否滿足任務書和系統定義文件所規定的技術要求 4 為軟體質量模型的建立提供依據。概念 軟體測試是軟體質量保證的關鍵組成部分,對軟體測試的認識可分為以下幾個階段 測試就是除錯階段 測試是證明軟體正確階段 測試是發現軟體中錯...
軟體測試基礎知識
本人部落格文章 1.確認軟體的質量 a.是確認軟體做了你所期望做的事情 do the right thing b.是確認軟體以正確的方式來做了這個事情 do it right 2.是提供資訊 比如提供給開發人員或程式經理的回饋資訊,為風險評估所準備的資訊 3.是在測試軟體軟體產品本身,而且還包括軟體...