一.功能測試
? ? ? ? ? ? ? 1) 定義:軟件測試中最主要的測試類型穴张。根據系統(tǒng)特性细燎、操作描述和用戶方案(需求文檔),測? ??????????????????????試一個系統(tǒng)的特性(業(yè)務流程)和可操作行為(功能)以確定他們滿足設計需求
? ? ? ? ? ? ? ?2)測試活動:
? ? ? ? ? ? ? ? ? ? ?a:測試計劃(測試資源分工皂甘、測試計劃時間玻驻、測試環(huán)境數(shù)據準備、測試版本和測試功能點明? ??????????????????????????確偿枕、測試方法和類型)璧瞬、
? ? ? ? ? ? ? ? ? ? ?b:測試用例編寫(功能用例、模塊流程用例渐夸、全系統(tǒng)流程用例)嗤锉、
? ? ? ? ? ? ? ? ? ? ?c:測試執(zhí)行(測試用例執(zhí)行、bug定位和溝通墓塌、bug跟蹤和管理)档冬、
? ? ? ? ? ? ? ? ? ? ?d:測試質量分析(測試報告:bug趨勢、bug分布模塊和修改bug人員安排桃纯、系統(tǒng)總體質量分? ? ? ? ? ? ? ? ? ? ? ? ? ? 析酷誓、提供是否上線評估資料)、
二.性能測試
? ? ? ? ? ? ? ? 1)定義:是指驗證軟件的性能可以滿足系統(tǒng)規(guī)格給定的指定要求的性能指標态坦。性能測試是一個比? ????????????????????較?大的范圍盐数,可以進一步衍生出負載測試、壓力測試伞梯、穩(wěn)定性測試? ??
? ? ? ? ? ? ? ? ? ? ? ? ? a:?負載測試的目的是:確認系統(tǒng)在正常指標下的最大負載玫氢。是在測試過程中逐步的增加負? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 載,并記錄被測系統(tǒng)響應的性能表現(xiàn)漾峡,最終確認出系統(tǒng)在正常指標下最大的負載。
? ? ? ? ? ? ? ? ? ? ? ? ? b:壓力測試喻旷,測試出系統(tǒng)所能承受的最大極限。是指系統(tǒng)在極限下的壓力情況且预,系統(tǒng)在? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?什么樣的壓力下會導致系統(tǒng)得到失效,無法正常運行锋谐。
? ? ? ? ? ? ? ? ? ? ? ? ? c:穩(wěn)定性測試一般是稍大于業(yè)務量的一個負載遍尺,對系統(tǒng)進行的一個持續(xù)的,長時間的測試涮拗,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?比如24*3,連續(xù)3天的施加壓力迂苛,確定系統(tǒng)在較長運行時間的情況下,系統(tǒng)的穩(wěn)定性情況
????????????????2)不同的系統(tǒng)鼓择,擁有不同的性能指標,我們要通過這些性能指標判斷當前系統(tǒng)的性能問題惯退,一? ? ? ? ? ? ? ? ? ? ? ? ? ? 切靠數(shù)據說話赌髓,如何獲得這些數(shù)據?就是測試了催跪。
? ? ? ? ? ? ? ? ? ? 內存測試锁蠕、CPU測試、響應時間測試懊蒸、喚醒率測試等荣倾,都屬于性能測試骑丸。還有強度測試、容量? ? ? ? ? ? ? ? ? ? ? ? ?測試通危、基準測試等铸豁。
? ? ? ? ? ? ? ? ? ? ?性能測試很重要的一個工作就是性能分析菊碟、性能評價节芥,也是用戶驗收的一個重要指標
? ? ? ? ? ? ? ? ?3)測試活動
三.兼容性測試
? ? ? ? ? ? ? ? 1)定義:包括軟件本身的兼容性逆害,平臺兼容性、設備兼容性魄幕、其他軟件兼容性等相艇。
? ? ? ? ? ? ? ? ? ? ? ? a:軟件本身的兼容性纯陨,是指對歷史版本的數(shù)據、功能等進行兼容
? ? ? ? ? ? ? ? ? ? ? ? b:不同平臺下的兼容队丝,軟件可能運行在多個平臺上欲鹏,比如LINUX有很多版本,在這些平臺? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 上都需要驗證
? ? ? ? ? ? ? ? ? ? ? ? c:軟件對運行設備的兼容性膘盖,比如android,有多種手機侠畔。
? ? ? ? ? ? ? ? ? ? ? ? d:軟件和一些主流運行是否兼容,比如軟件和微信不兼容红竭,那就沒人會安裝你的軟件了拟杉。
? ? ? ? ? ? ? ? ? ?
四.體驗測試
五.回歸測試
? ? ? ? ? ? ? ? ? ? ? ? 1)回歸測試有兩類:用例回歸和錯誤回歸慎王;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a:用例回歸是過一段時間以后再回頭對以前使用過的用例在重新進行測試被廓,看看會重新? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?發(fā)現(xiàn)問題肌厨。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? b:錯誤回歸凰狞,就是在新版本中沛慢,對以前版本中出現(xiàn)并修復的缺陷進行再次驗證,并以缺? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?陷為核心团甲,對相關修改的部分進行測試的方法。
六.白盒測試
? ? ? ? ? ? ? ? ? 1)定義:已知產品的內部工作過程粉渠,可以通過測試證明每種內部操作是否符合設計規(guī)格要求,所有內部成分是否以經過檢查霸株。
????????????2)黑盒測試又叫功能測試或數(shù)據驅動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
????????????????????a去件、是否有不正確或遺漏的功能扰路?
????????????????????b、在接口上汗唱,輸入是否能正確的接受?能否輸出正確的結果授霸?
????????????????????c、是否有數(shù)據結構錯誤或外部信息(例如數(shù)據文件)訪問錯誤碘耳?
????????????????????d、性能上是否能夠滿足要求捕捂?
????????????????????e斗搞、是否有初始化或終止性錯誤?
????????????3)白盒測試又稱為結構測試或邏輯驅動測試榜旦。白盒測試主要是想對程序模塊進行如下檢查:
????????????????????a、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍澡屡。
????????????????????b咐旧、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍铣墨。
????????????????????c、在循環(huán)的邊界和運行的界限內執(zhí)行循環(huán)體姚淆。
????????????????????d屡律、測試內部數(shù)據結構的有效性,等等超埋。
七:單元測試
? ? ? 1)是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的媒惕、很明確的功能是否正確来庭。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為面睛。
? ? ? ? ? ?a:內容包括?模塊接口測試尊搬、局部數(shù)據結構測試佛寿、路徑測試、錯誤處理測試冀泻、邊界測試
????????????b:策略包括邏輯覆蓋弹渔、循環(huán)覆蓋、同行評審舞肆、桌前檢查椿胯、代碼走查剃根、代碼評審、景泰數(shù)據流分析
? ? ?2)單元測試策略
? ? ? ? ? ? a:自頂向下的單元測試策略:從頂層調用的單元做成樁模塊;?對第二層測試狈醉,使用上面已測試的單元做驅動模塊;?依次類推,直到全部單元測試結束娱两。(比孤立單元測試的成本高很多)
? ? ? ? ? ?b:自底向上的單元測試策略:先對模塊調用的最底層模塊進行測試金吗,模擬調用該模塊的模塊為驅動模塊;?其次摇庙,對上一層模塊進行單元測試,用已經被測試過的模塊做樁模塊卫袒,依次類推夕凝,直到全部單元測試結束户秤。(比較合理的單元測試策略逮矛,但測試周期較長)
????????????c:孤立測試的單元測試策略:無需考慮每個模塊與其他模塊之間的關系须鼎,分別為每個模塊單獨設計樁模塊和驅動模塊,逐一完成所有單元模塊的測試晋控。(最好的單元測試策略)