選擇20java
填空20數組
判斷20安全
簡答20ide
設計20工具
按測試階段分類:性能
單元測試單元測試
單元測試中的驅動程序指調用被測程序的模塊。測試
樁程序指調用的程序。網站
集成測試spa
集成測試的測試計劃一般在概要設計的階段完成。
集成測試包含自底向上,自頂向下兩種基礎方式。前者須要寫驅動,後者須要寫樁。
系統測試
性能測試
性能測試指爲了發現系統性能問題或獲取系統性能相關指標而進行的測試。根據不一樣的測試目的分爲
一、 性能驗證測試:驗證系統是否達到事先已定義的系統性能指標、可否知足系統的性能需求
二、 性能基準測試:在系統標準配置下得到有關的性能指標數據,做爲未來性能改進的基準線
三、 性能規劃測試:多種特定環境下,得到不一樣配置的系統的性能指標,從而決定在系統部署時採用什麼樣的軟硬件配置
四、容量測試:系統容量能夠看做系統性能指標之一
常見的有負載測試、壓力測試、可靠性、穩定性等測試。
負載方式如教材圖6-6
驗收測試
按是否看見源代碼測試:
白盒測試:
邏輯覆蓋
語句覆蓋:使程序中的每一個可執行語句至少被執行一次
斷定覆蓋(分支):每一個判斷的取真分支和取假分支至少經歷一次
條件覆蓋:每一個判斷中每一個條件的可能取值至少知足一次
斷定-條件覆蓋:全部條件可能取值至少執行一次,同時,全部判斷的可能結果至少執行一次
條件組合覆蓋等:使得程序中每一個判斷的全部可能的條件取值組合都至少出現一次
基本路徑測試
路徑覆蓋:設計全部的測試用例,來覆蓋程序中的全部可能的執行路徑。
黑盒測試:
等價類劃分法
邊界值分析法:
邊界值分析法就是在某個輸入輸出變量範圍的邊界上,驗證系統功能是否正常運行的測試方法(黑盒)
決策表法
決策表(斷定表)法是藉助表格方式完成對輸入條件的組合設計,以達到徹底組合覆蓋的測試效果。(黑盒)
由條件樁和動做樁組成。通常步驟爲:
一、列出全部條件樁和動做樁;
二、填入條件項;
三、填入動做項,指定初始斷定表;
四、簡化合並類似規則或者相同動做
????按是否執行代碼測試:
按目的測試:
性能測試
壓力測試
功能測試
功能測試主要是按照產品規格說明書來檢驗被測試的系統是否知足各方面功能的使用要求
可靠性測試
災難恢復性測試
安全性測試
安全測試中,基於漏洞的測試是指從軟件內部出發找到的安全缺陷。
漏洞指軟件內部的安全性問題,威脅是軟件外部的安全性問題
兼容性測試
兼容性測試是指軟件之間可否正確地交互和共享信息。多版本時,包含之前版本內容是向前兼容,包含將來版本是向後兼容
迴歸測試
安裝測試
驗收測試
驗收測試是指性能測試完成,上市以前這個階段進行的測試,其中須要客戶參與
軟件國際化是軟件工程,完成軟件國際化以後才能完成軟件本地化
I18N指軟件國際化,L10N指軟件本地化。
軟件本地化是對原始語言(例如,英文)開發的軟件進行語言轉換和工程處理,生成不一樣語言版本的技術。
「國際化軟件測試」的內容分爲「軟件國際化測試」和「本地化軟件測試」,「軟件國際化測試」是「國際化軟件測試」的子集。
國際化軟件測試首先要通過軟件國際化測試,等到本地化軟件開發出來後,再進行本地化軟件測試。
軟件國際化測試的對象是採用國際化方法進行設計的軟件,例如英文的Word 2003。 測試的環境是各類不一樣語言的操做系統,例如簡體中文、繁體中文、德語、日語等的Windows 操做系統。
自動化測試指由計算機系統或軟件工具、程序來承擔並自動執行。
自動化測試不能徹底代替手工測試
軟件質量保證中包含了軟件測試
β測試指軟件開發公司組織各方面的典型用戶在平常工做中實際使用β版本
單元測試中常見的缺陷:
空指針保護
數據格式化異常
字符串或數組越界錯誤
資源不合理使用
不當使用synchronized致使系統性能降低
得到的外部數據在使用時,一般要考慮到是否爲空,是否符合需求格式,是否符合長度要求等等。即在使用equals,包裝類轉換,數組和字符串長度、synchronized時,須要注意
軟件測試管理體系中,TPI next由關鍵域,級別,測試成熟度矩陣,檢查點,改進建議構成。
關鍵域指軟件測試過程的各個方面,經過對不一樣方面的評估,測試過程的優缺點都變得清晰,這些方面爲關鍵域
級別指每一個關鍵域所處的狀態,即對關鍵域的評估結果
測試成熟度矩陣指關鍵域各個等級和整體測試過程成熟度等級的映射關係
檢查點指爲了客觀決定各個關鍵域的級別而提供的度量工具
改進建議指檢查點爲咱們發現的問題
待測試代碼:
public int add(int a,int b) { return a+b; }
測試代碼:
public class TestAAA { static int[] cases; //被beforeClass賦值,由靜態使用靜態。測試用例 int[] results; //由before賦值。預期結果 @BeforeClass public static void setCases() { cases = new int[]{1,3,-1,-3,1,-3,-1,3}; } @Before public void before(){ results = new int[]{4,-4,-2,-2}; } @Test //單元測試的主體 public void testAdd(){ Calc c = new Calc(); for (int i = 0;i<cases.length; i+=2 ){ //兩個一組進行加法 //斷言判斷運行結果和預期結果 Assert. assertEquals(c.add(cases[i],cases[i+1]),result[i/2]); } } }
基本路徑組分析方法:一、先畫出流程控制圖;二、計算環複雜度;三、寫出基本路徑,和環複雜度數量相等。
常見流程控制圖