一、軟件測試的概念: 軟件測試是使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。也就是檢查某個軟件是否能滿足你想要的的需求進行運行。 二、軟件測試的分類: 1、按開發(fā)階段:單元測試、集成測試、系統(tǒng)測試、驗收測試 單元測試:單元測試是對軟件組成進行的測試。其目的是檢驗軟件基本組成單位的正確性。測試對象是軟件設(shè)計的最小單元:模塊,又稱為模塊測試。 集成測試:集成測試(也成聯(lián)合測試,聯(lián)調(diào))、組裝測試,將程序模塊采用適當?shù)募刹呗越M裝起來。 系統(tǒng)測試:將軟件系統(tǒng)看成一個系統(tǒng)測試。包括對功能、性能以及軟件所運行的硬軟件環(huán)境進行測試。時間大部分在系統(tǒng)測試執(zhí)行階段。 2、按測試實施組織:α、β、第三方 α測試:主要是由一個用戶在開發(fā)環(huán)境進行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進行的測試。 β測試:由軟件的最終的用戶們在一個或者多個客戶場所進行的測試。 第三方測試; 介于開發(fā)方和用戶之間的組織測試。 3、按測試執(zhí)行方式:靜態(tài)測試、動態(tài)測試 靜態(tài)測試: 靜態(tài)測試值的是不運行程序本身,僅通過分析和檢查源程序的語法、結(jié)構(gòu)、過程、接口來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、流程圖分析、符號執(zhí)行來進行找錯。 動態(tài)測試 :動態(tài)測試指的就是運行被測的程序。檢查運行結(jié)果與預(yù)期結(jié)果的差異,并分析運行效率、正確性和健壯性的等性能,這種方法主要是由三部分進行組成的:測試用例、執(zhí)行程序、分析程序運行輸出的結(jié)果。 4、按是否查看代碼:黑盒測試、白盒測試、灰盒測試 黑盒測試:黑盒測試也稱為功能測試,測試中把被測的軟件當成一個黑盒子,不關(guān)心盒子的內(nèi)部結(jié)構(gòu)是什么,指關(guān)心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。 白盒測試:白盒測試又稱結(jié)構(gòu)測試,透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒值的是打開的盒子,去研究里面的源代碼和程序結(jié)果。 接口測試也是一種白盒測試。 灰盒測試:是介于白盒測試與黑盒測試之間的一種測試,主要用于集成測試階段。不僅關(guān)注輸入輸出的正確性。同時也關(guān)注程序內(nèi)部的情況。 5、按是否手工執(zhí)行劃分:手工測試、自動化測試 手工測試:是由人一個一個的輸入測試用例,然后觀察結(jié)果、和機器測試相對應(yīng),屬于比較原始,大事需要一個一個步驟進行測試 自動化測試:在預(yù)設(shè)條件下運行系統(tǒng)或應(yīng)用程序,評估運行結(jié)果、預(yù)先條件應(yīng)該包括正常的條件和異常條件。簡單的說自動化測試是把人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。 自動化測試比如功能測試自動化、性能測試自動化、安全測試自動化 通常我們所說的自動化測試就是指的是功能自動化測試 自動化測試按照測試的對象來分:分為接口測試、UI測試等。接口測試的ROI(產(chǎn)出投入比)要比UI測試高。 6、按測試對象劃分:性能測試、安全測試、兼容性測試、文檔測試、易用性測試(用戶體驗測試)、業(yè)務(wù)測試、界面測試、安裝測試 界面測試:界面測試也成為UI測試。測試用戶界面的功能模塊的布局是否合理,整體風(fēng)格是否一致、各個控件的放置位置是否符合客戶的使用習(xí)慣,還要測試操作界面操作便捷性、導(dǎo)航簡單易懂性、頁面元素的可用性,頁面元素的可用性、界面中文字是否正確,命名是否統(tǒng)一,頁面是否美觀、文字、圖片組合是否完美。 安全測試:安全測試是一個相當于來說獨立的領(lǐng)域,需更多的專業(yè)知識,例如Web的安全測試、需要熟悉各種網(wǎng)絡(luò)協(xié)議,Tcp/Http,防火墻、CDN、熟悉各種操作系統(tǒng)的漏洞。 熟悉路由器等。從軟件來說熟悉各種的攻擊手段,例如sql注入、Xss等。 業(yè)務(wù)測試:是測試人員將系統(tǒng)的各個模塊串接起來運行、模擬真是用戶實際的工作流程,滿足永續(xù)需求定義的功能進行測試的過程。 容錯性測試:檢查軟件在異常條件下自身是否具有防護性的措施或密謀中災(zāi)難性恢復(fù)的手段 劃分為容錯性測試和非容錯性的測試。 文檔測試:文檔測試的關(guān)注點 :文檔的術(shù)語 、文檔的正確性 、文檔的完整性 、文檔的一致性 、文檔的易用性。 兼容性測試:兼容線性主要指的就是軟件之間很好的運作,會不會有影響、軟件和硬件之間是否能夠發(fā)揮很好的效率工作,會不會影響導(dǎo)致系統(tǒng)的奔潰 。 易用性測試:易用性指的即使我們對于平時所使用的東西是否放在了合適的位置在我們是用的時候能夠進行很好的找到。滿足人體天生的人體工程學(xué)的范疇。 安裝測試:測試程序的安裝、卸載 ,典型的就是測試APP的測試的安裝和卸載。 內(nèi)存泄漏測試:造成內(nèi)存泄漏的原因:內(nèi)存分配完了忘記進行了回收、程序?qū)懛ㄓ袉栴}、某些API函數(shù)的使用不正確,造成內(nèi)存泄漏、沒有及時的進行釋放。 7、按測試地域劃分:本地化測試、國際化測試 國際化測試:軟件的國際化和軟件的本地化是開發(fā)面向全球不同地區(qū)用戶使用的軟件系統(tǒng)的兩個過程。本地化和國際化的軟件測試的一些測試要點。 本地化后的軟件在外觀上與原來版本存在著一些差異,外觀是否整齊、不定樣。 是否對界面元素進行了本地化處理,包括對話框、菜單、工具欄、狀態(tài)欄、提示信息(包括聲音的提示、日志等)。 在不同分辨率界面下是否顯示的是正常的。 是否存在不同的字體的大小,字體設(shè)置的是否恰當。 日期、數(shù)字格式、貨幣等是否能夠適應(yīng)不同的國家的文化習(xí)俗。例如年、月、日,而英文是月日年。 排序的方式是否考慮到了不同語言的特點。 在不同個的國家采用的是不同的度量單位,軟件是否能夠自適應(yīng)和轉(zhuǎn)換。 軟件是否能夠在不同類型的硬件上正常運行。正文翻譯是否正確,恰當是否有語法的錯誤。 軟件是否能夠適應(yīng)不同的操作系統(tǒng)的平臺。 聯(lián)機幫助和文檔是否已經(jīng)進行翻譯,翻譯后鏈接是否正常。正文翻譯是否正確,恰當是否有語法的錯誤。 本地化測試:之前所有我們說的都是基于本地化進行測試的
|