軟件測試的生命週期&測試流程

一、軟件的生命週期 
二、軟件生命週期的階段 
三、軟件模型 
四、軟件測試的基本流程 
五、軟件開發流程、測試流程梳理 
六、C/S與B/S架構 
七、對軟件測試行業的理解 
八、常見筆試面試題


一、軟件的生命週期

定義:軟件生命週期是指軟件的產生直到報廢的生命週期。 
人類整理的第一個軟件生命週期:1970年,瀑布型生命週期

二、軟件生命週期的階段

1. 問題的定義及規劃

開發方和需求方共同討論,主要是確定軟件的開發目的及可行性。制定開發計劃

2. 需求分析

對軟件需要實現的各個功能進行詳細分析,弄清楚用戶對軟件系統的全部需求,
要產出《需求規格說明書》。

比如:登陸這個功能要支持手機快速登錄和第三方賬號登錄

3. 軟件設計

把需求分析結果轉換成軟件結構和數據結構,形成系統架構。(明確“怎麼做”)
· · · 概要設計:

主要是架構的實現,指搭建架構、表述各模塊功能、模塊接口連接和數據傳遞的實現等事務。 
比如:要建一棟樓,架構師首先要做好整體規劃,要建多少層,外觀是怎樣之類的,然後拆分功能模塊。

· · · 詳細設計:

對各模塊進行深入分析,對各模塊組合進行分析等,這一階段要求達到僞代碼級別,把程序具體要實現的功能、現象等描述出來,其中包含數據庫設計說明。 
比如:架構師規劃好後,開發拿着打散的模塊,再落實到每一個樓層,每一個房間,房間裏的每件物品等

4. 軟件編碼

按照詳細設計好的模塊功能表,編程人員開始編寫代碼

5. 軟件測試

在軟件編寫完成後要經過嚴密的測試,以發現問題並加以糾正。主要有黑盒測試和白盒測試。
· · · 單元測試:

主要是測試程序代碼,爲的是確保各單元模塊被正常編譯。有具體到模塊的測試,也有具體到類、函數的測試等。——一般是由開發來完成

· · · 集成測試:

單元測試後,將各單元組成完整的體系,測試軟件單位之間的接口是否正確,數據能否正常傳遞。——比如註冊和充值這兩個功能能否連通

· · · 系統測試:

把軟件系統搭建起來,按照《軟件規格說明書》中的要求對各項功能進行測試,看是否符合需求、在系統運行是否存在漏洞等——根據測試用例,進行完整的系統測試

· · · 驗收測試:

客戶拿到軟件後,根據前面所提的需求以及《規格說明書》來做相應的測試,已確定軟件是否符合需求效果——用戶對軟件進行驗收 
(單元測試、集成測試、系統測試之間的區別:句子—段落—文章;磚—牆—樓)

6. 運行維護

是生命週期中持續時間最長的階段,爲了延長軟件的使用壽命,適應用戶需求,就必須對軟件進行維護。包括糾錯性維護和改進性維護。

三、軟件模型

V模型結構圖(各個階段相對應)

這裏寫圖片描述

四、軟件測試的基本流程

需求分析階段:

閱讀需求,理解需求,主要就是對業務的學習,分析需求點

計劃階段:

主要任務是編寫測試計劃,參考軟件需求規格說明書,項目總體計劃,測試範圍,進度安排,
人力物力的分配,整體測試策略的指定,和風險的評估與規避措施有一個指定,一般有測試
主管編寫,當然我們也會參與相關的評審工作。

設計階段:

主要任務是編寫測試用例,會參考需求分析、概要設計、詳細設計等文檔,有不明確的也
會及時和開發、產品經理溝通。用例編寫完成後會進行評審。

執行階段:

首先搭建測試環境,執行預測,以判定當前版本可測與否,如果預測通過,正式進入系統
測試,遇到問題提交bug到缺陷管理平臺,並對bug進行跟蹤,知道被測軟件達到測試需求
要求,沒有重大bug,測試結束。

評估階段:

出測試報告,對整個測試的過程和版本質量做一個詳細的評估。
  • 這裏寫圖片描述

五、軟件開發流程、測試流程梳理

開發流程:

1、需求分析2、概要設計、詳細設計
3、編寫代碼4、單元測試
5、代碼審查6、集成測試
7、打包提交測試部8、等待測試提交BUG
9、修復BUG10、等待測試迴歸BUG
11、N輪之後符合需求12、版本上線
13、面向用戶使用

測試流程:

1、需求分析
2、編寫測試用例
3、評審測試用例
4、搭建測試環境
5、等待開發提交測試包
6、部署測試包
7、冒煙測試(主體功能預測)
8、執行測試用例
9、BUG跟蹤處理(提交及迴歸BUG)
10、N輪之後符合需求
11、版本上線
12、面向用戶使用

六、C/S與B/S架構

C/S架構: 
client-server,需要安裝客戶端才能夠使用的軟件。每次更新都需要更新服務端和客戶端,比如超市收銀系統,每次更新每臺電腦都必須重裝客戶端,有分店則更麻煩,人力物力財力都耗費很大。

B/S架構: 
browser-server,只需要一個瀏覽器就可以訪問服務。只需要更新服務端,不需要更新瀏覽器,用戶主動性較高。比如天貓、淘寶、QQ、愛奇藝等。

七、軟件測試行業的理解

根據大家自己的見解,說說大家認爲軟件測試這個職業的理解以及發展

1.容易入門,不侷限是計算機專業的。

2.企業對軟件測試人員有大量需求,特別是功能測試工程師的需求。

3.鼠標點點點是初級功能測試工程師侷限的工作內容,不僅於此。我們軟件測試是分很多種的:自動化測試,性能測試,白盒測試,安全測試。

4.產品團隊一般組成:項目經理、產品、開發(前端、後端、移動端)、測試、UI設計。
  大一點的企業還包括:DBA(數據庫工程師)、架構師、運維、運營。
  測試的主要溝通對象:開發、產品經理、測試經理、研發經理。

5.測試人員的發展:功能測試工程-->自身測試工程師
               功能測試工程師-->管理崗

八、常見筆試面試題

1.生命週期模型包含哪些階段?你們的開發模型是什麼?

答:軟件生命週期包含問題的定義及規劃、 需求分析、 軟件設計、軟件編碼、軟件測試、運行維護等階段。我們公司目前使用的是V模型。

2.測試流程包含哪些階段?

答:測試流程包含需求分析階段、計劃階段、設計階段、執行階段、評估階段等階段。

3.總結下開發流程?

答:需求分析——概要設計、詳細設計——編寫代碼——單元測試——代碼審查——集成測試——打包提交測試部——等待測試提交BUG——修復BUG——等待測試迴歸BUG——N輪之後符合需求——版本上線——面向用戶使用

4.總結下測試流程?

答:需求分析——編寫測試用例——評審測試用例——搭建測試環境——等待開發提交測試包——部署測試包——冒煙測試(主體功能預測)——執行測試用例——BUG跟蹤處理(提交及迴歸BUG)——N輪之後符合需求——版本上線——面向用戶使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章