軟體測試之理論知識_1.3

无忧无虑的Y發表於2024-11-20

軟體測試知識:

1、為什麼要測試?

(1)程式碼是人寫的,難免會出錯

(2)軟體本身就會存在問題,非正常執行也會問題

(3)環境會影響軟體出現問題

(4)軟體測試活動是保證軟體測試質量之一

2、測試的定義什麼?(重點)

製造業定義:以檢驗產品是否滿足需求為目標

軟體行業定義:

a、驗證軟體的正確性

b、發現軟體中的缺陷(找bug)

3、軟體生命週期?

指的是軟體從產生到報廢的整個過程,是一種時間的概念。

4、軟體生命週期包括哪些階段?
(1)問題引入或定義
(2)可行性分析(涉及經濟,政治,法律,技術)
(3)專案招投標
(4)專案立項
(5)需求分析
(6)開發階段(設計,編碼,測試)
(7)維護

5、軟體什麼週期模型有些?
• --瀑布模型(waterfall) 目前已經淘汰

• --V模型(重點講解)
• --W模型
• --H模型 (重點講解)
• --敏捷開發模型 (重點講解)
• --迭代開發模型
• --增量開發模型

6、v模型

需求(簡稱:srs) 產品輸出

全稱:軟體需求規格說明書

1、使用者需求

型別:一個文件;

內容:對整個專案的設計、框架、功能、模組的描述

2、概要設計 (開發輸出)

簡稱:(HLD)

型別:文件

內容:架構的初步設計文件,使用說明什麼型別資料庫,架構的描述,設計,模組的名稱

(可理解為:蓋房子的大概設計,基本框架結構)

3、詳細設計

簡稱(LLD)

型別:也是一個文件

內容:針對功能具體的實現,模組的具體實現,具體設計,架構的具體描述,

(可理解為:房子的具體的裝飾設計)

v模型的四個階段:

(1)單元測試

單元測試:

是指驗證軟體單元是否滿足詳細設計文件的規格,能正確的執行,主要是對程式碼的測試.

單元測試也是最小的測試單位;
在工作中單元測試一般情況是開發自測,如果需要測試進行單元測試,對測試的技術要求非常高,必須要懂開發語言;

理解:單元測試,課本上有10個單元一本書(一單元測試)

(2)整合測試

整合測試是指多個單元組合驗證軟體是否滿足概要設計文件的規格,能正常執行,主要是模組與模組之間的資料互動。

理解:課本上有10個單元(有2個單元或2個單元模組以上測試,比如期中考試1-6單元)

(3)系統測試

系統測試是指把軟體進行正常執行,對整個軟體系統進行測試,驗證這個系統能正常的執行,主要是測試一個整體業務的流程。

理解:課本上有10個單元(測試1-10 單元綜合測試)

(4)驗收測試

驗收測試是指:站在使用者角度去對軟體進行測試,驗證系統滿足使用者需求;

驗收測試測試分為兩種:alpha測試(α) 和 bete測試(β)

α測試是內部驗收測試
β測試是客戶方測試

α測試和β測試區別:

1、α測試測試地點:是在自己公司 ;β測試一般在客戶方

2、α測試都是內部人員進行測試,開發在現場及時發現問題,及時解決;

   β測試是在客戶方的員工測試,發現問題在反饋給開發在解決

3、α測試測試時間短,技術人員比較集中;

  β測試測試時間較長,測試人員不集中;

============================

備註:

(1)整合測試(it)和系統測試(st) 合併成(sit測試)

(2)sit測試(系統整合測試), 技術測試 ;uat測試(驗收測試)

(3)sit環境 (sit1環境,sit2環境,sit3環境);uat環境(專門用來驗收環境)

(4)環境:

a.線上環境(也叫生成環境)

b.測試環境:測試人員使用

c、開發環境:開發人員使用

============================

H模型(重點)

測試線:

(1)需求澄清會議(產品經理會組織需求會議)

(2)拿到需求,深入分析和了解需求文件

(3)測試經理編寫測試計劃 (重點)

測試計劃:(內容:測試目的,背景,範圍,測試准入,測試準出,環境和資源,測試任務和測試進度,風險及風險管理,測試交付文件)

准入:

開發:需求分析報告,需求規格說明書,概要設計說明書,詳細設計說明書,版本說明書及開發自測報告;

測試:寫好測試計劃,測試用例透過,測試環境搭建好

準出:

a.用例100%執行

b.0bug

c.輸出測試報告

(4)安排任務,測試分析需求,編寫用例

(5)評審用例(測試人員:組內評審(專案評審人員:開發,測試,產品都參加),交叉評審(測試人員之間評審:測試a、測試b、測試c))

(6)用例評審透過以後匯入到用例管理工具中;如:禪道.testlink

(7) 搭建測試環境(運維搭建,自己搭建,測試管理搭建)

(8)開發提交程式碼包,提測(也叫轉測) 要達到准入要求;

(9)測試將程式碼包部署到環境,

(10)進行冒煙測試,冒煙測試透過,進入sit測試,如果,冒煙測試不透過,就把版本打回給開發,開發修改,在提測。

冒煙測試(也叫版本驗證測試)定義:指對新版本的主要功能,基本功能進行測試。

如果透過,那麼冒煙測試透過,如果冒煙測試失敗,那麼就把版本打回給開發進行修改,直到冒煙測試透過

(11)sit系統整合測試(一般一個專案有3次系統整合測試,有些專案週期長也有4次,5次)

(12)第一次sit測試也叫全量測試(把前面寫的所有用例都要進行測試),測試出來的bug,指派給開發(透過bug工具如:禪道),測試小結

(13)開發修改bug,在提交程式碼

(14)測試在第二次部署專案包,在進行第二次sit測試前也要進行冒煙測試,冒煙測試透過以後才能進行第二次sit測試;

第二sit測試和第三sit測試都叫做迴歸測試

迴歸測試:是系統維護階段進行的驗證測試

區別:測試階段不同

冒煙測試是版本提交時第一個測試,迴歸測試是在維護階段測試

(14)第二次sit測試,在將bug提交給開發,開發修改,

(15)第三sit測試,先冒煙測試,在去測試,驗證。。。。。。以此類推,

備註:測試用例的來源:

a、冒煙測試用例

b、驗證上一個版本提交bug的用例

c、測試與bug有關聯的模組用例

d、你認為可疑的測試場景和測試用例

e、測試補充的測試用例和測試場景

(16)直到達到準出:用例100%執行,0bug,

(17)輸出測試報告=========================說明sit測試測完(表示技術測完)

測試報告:

內容:測試目的,測試範圍,測試背景,測試實施日期,測試人員,bug 清單,用例清單,測試結果,

(18)sit測完通知 uat 測試,uat驗收透過,

(19)封板(封裝版本)

(20)等待上線

(21)上線前準備線上資料

(22)上線後線上上測試,

(23)測試沒有bug,如有bug就要分析bug,bug影響程度,影響大,就回退版本,如果影響小就備註下次版本修改

(24)上線成功

================================================

主流程:

產品開需求會議測試和開發拿到需求分析需求=編寫測試計劃(測試經理)編寫測試用例=評審用例,評審透過將用例匯入用例管理工具=搭建環境開發提測,達到准入要求部署專案包到環境中=開始冒煙測試sit1系統整合測試有bug提交給開發開發修改好提交第二次程式碼包=部署專案包到環境中在冒煙測試sit2測試=以此類推直到達到準出要求0bug,用例100%執行輸出測試報告通知uat測試=uat驗收透過封裝版本=等待上線=準備線上資料=上線==線上測試=測試無bug表示上線成功。

================================================

根據講解的H模型:梳理(重點記)

產品拿出需求規格說明書(srs);召開需求會議,分析需求,熟悉需求;測試負責人拿到需求開始編寫測試計劃;安排測試任務,各自編寫測試用例;編寫完用例後在對用例進行評審(有組內評審,有交叉評審);評審透過以後,匯入到用例管理工具中;在搭建好環境(運維或測試人員);開發開發完也要進行提測(達到准入);測試將程式碼包部署到環境中;在進行冒煙測試,冒煙測試透過(如果冒煙失敗,就打回版本),就進行sit1系統整合測試,將所有測試用例都執行一遍;有bug提交給開發,開發修改,再提交程式碼包;進行第二次sit系統整合測試,也要冒煙測試,冒煙測試以後就開始進行sit2系統整合測試,測試中發現的bug,提交給開發,開發修改,再提交第三次程式碼包,進行第三sit系統整合,以此類推,直到測試用例100%執行,0bug(達到測試準出),輸出測試報告;通知uat驗收,驗收透過;封裝版本,打包,準備線上資料,上線,線上測試,線上測試透過,上線成功。(如果線上有bug根據影響程度判斷:影響大就回退版本,如果影響小,備註好下一個版本解決)

===============================================

自動化部署H模型:(擴充)jenkins自動化部署工程,是自動化部署環境

產品拿出需求規格說明書(srs);召開需求會議,分析需求,熟悉需求;測試負責人拿到需求開始編寫測試計劃;安排測試任務,各自編寫測試用例;編寫完用例後在對用例進行評審(有組內評審,有交叉評審);評審透過以後,匯入到用例管理工具中;在搭建好環境(運維或測試人員);開發開發完也要進行提測(達到准入);搭建自動部署環境平臺;透過jenkins去構建對應的工程;將程式碼包部署到環境中,在進行冒煙測試,冒煙測試透過(如果冒煙失敗,就打回版本),就進行sit1系統整合測試,將所有測試用例都執行一遍;有bug提交給開發,開發修改,開發體提交程式碼包,合併分支;透過jenkins去構建對應的工程拉取最新的程式碼,進行第二次sit系統整合測試,也要冒煙測試,冒煙測試以後就開始進行sit2系統整合測試,測試中發現的bug,提交給開發,開發修改,透過jenkins去構建對應的工程拉取最新的程式碼,進行第三sit系統整合,以此類推,直到測試用例100%執行,0bug(達到測試準出),輸出測試報告;通知uat驗收,驗收透過;封裝版本,打包,準備線上資料,上線,線上測試,線上測試透過,上線成功。(如果線上有bug根據影響程度判斷:影響大就回退版本,如果影響小,備註好下一個版本解決)

================================================

敏捷開發模型(重點)

敏捷開發模型是一個新型模型適應快速需求變化,交付週期比較短,輕量級的開發模式。

時間:一週,兩週,一個月

產品拿到一個需求,開發一週,測試編寫用例,第二週測試去測試,開發修改,修改好就上線

================================================

增量開發模型

專案被分為一系列的增量,每一個增量都交付整個專案需求中的一部分功能,需求按優先順序進行劃分增量的交付。

如:買家版,賣家版, 商家版, ,先買家版,

================================================

迭代開發 模型(重點)

專案被分為大量的迭代過程,一次迭代就是一個完整的開發流程,也是一個可以釋出的可執行的產品,輸入軟體開發週期中最終產品的一個子集。

如:拍拍,微信、qq

===============================================

面試題:(回答H 模型)

1、你上一家公司工作的流程?

2、給你一個需求,你會怎麼做?

3、說說你在公司中如何開展測試工作?

4、你們公司測試流程?

===============================================

測試的基本原則:

1、測試是從使用者的角度去測試;(使用者故事測試)

2、測試不僅測試是軟體本身,(比如:測試環境,配置,網路等)

3、軟體外在可用,不代表軟體沒有問題(比如:aap能下載安裝,點選就閃退)

4、軟體測試是沒有完成正確,只有更加完美

5、測試是永遠測不完的

6、測試應儘早介入(比如:建房,開始就介入測試就可以發現更多問題,等)

7、2/8原則, (80%的錯誤集中在20%的區域)比如:

8、殺蟲劑效應

9、測試儘量選擇第三方測試

10、測試活動的依賴物件(功能測試,效能測試,安全測試等)

===============================================

測試活動的週期

測試計劃(安排任務)-------測試分析和設計(編寫用例)-----測試實現執行(測試階段)---輸出測試報告---- 資產歸檔(測試文件)

===============================================

准入(也叫轉測,也叫提測):

開發:詳細設計,概要設計,開發自測報告,

測試:測試計劃,測試用例,測試用例稽核透過,搭建好環境

準出:0bug ,用例100%執行,輸出測試報告

相關文章