1. 程式人生 > >軟體測試的生命週期&測試流程

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

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

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

二、軟體生命週期的階段
1. 問題的定義及規劃
開發方和需求方共同討論,主要是確定軟體的開發目的及可行性。制定開發計劃
1
2. 需求分析
對軟體需要實現的各個功能進行詳細分析,弄清楚使用者對軟體系統的全部需求,
要產出《需求規格說明書》。
1
2
比如:登陸這個功能要支援手機快速登入和第三方賬號登入

3. 軟體設計
把需求分析結果轉換成軟體結構和資料結構,形成系統架構。(明確“怎麼做”)
1
· · · 概要設計:
主要是架構的實現,指搭建架構、表述各模組功能、模組介面連線和資料傳遞的實現等事務。
比如:要建一棟樓,架構師首先要做好整體規劃,要建多少層,外觀是怎樣之類的,然後拆分功能模組。

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

4. 軟體編碼
按照詳細設計好的模組功能表,程式設計人員開始編寫程式碼
1
5. 軟體測試
在軟體編寫完成後要經過嚴密的測試,以發現問題並加以糾正。主要有黑盒測試和白盒測試。
1
· · · 單元測試:
主要是測試程式程式碼,為的是確保各單元模組被正常編譯。有具體到模組的測試,也有具體到類、函式的測試等。——一般是由開發來完成

· · · 整合測試:
單元測試後,將各單元組成完整的體系,測試軟體單位之間的介面是否正確,資料能否正常傳遞。——比如註冊和充值這兩個功能能否連通

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

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

6. 執行維護
是生命週期中持續時間最長的階段,為了延長軟體的使用壽命,適應使用者需求,就必須
對軟體進行維護。包括糾錯性維護和改進性維護。
1
2
三、軟體模型
V模型結構圖(各個階段相對應)

 

四、軟體測試的基本流程
需求分析階段:

閱讀需求,理解需求,主要就是對業務的學習,分析需求點
1
計劃階段:

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

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

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

出測試報告,對整個測試的過程和版本質量做一個詳細的評估。
1


五、軟體開發流程、測試流程梳理
開發流程:

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

需求分析
編寫測試用例
評審測試用例
搭建測試環境
等待開發提交測試包
部署測試包
冒煙測試(主體功能預測)
執行測試用例
BUG跟蹤處理(提交及迴歸BUG)
N輪之後符合需求
版本上線
面向使用者使用
1
2
3
4
5
6
7
8
9
10
11
12
六、C/S與B/S架構
C/S架構:
client-server,需要安裝客戶端才能夠使用的軟體。每次更新都需要更新服務端和客戶端,比如超市收銀系統,每次更新每臺電腦都必須重灌客戶端,有分店則更麻煩,人力物力財力都耗費很大。

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

七、軟體測試行業的理解
根據大家自己的見解,說說大家認為軟體測試這個職業的理解以及發展

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

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

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

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

5.測試人員的發展:功能測試工程-->自身測試工程師
功能測試工程師-->管理崗
1
2
3
4
5
6
7
8
9
10
11
12
13
八、常見筆試面試題
1.生命週期模型包含哪些階段?你們的開發模型是什麼?
答:軟體生命週期包含問題的定義及規劃、 需求分析、 軟體設計、軟體編碼、軟體測試、
執行維護等階段。我們公司目前使用的是V模型。
1
2
2.測試流程包含哪些階段?
答:測試流程包含需求分析階段、計劃階段、設計階段、執行階段、評估階段等階段。
1
3.總結下開發流程?
答:需求分析——概要設計、詳細設計——編寫程式碼——單元測試——程式碼審查——整合測試——打包提交
測試部——等待測試提交BUG——修復BUG——等待測試迴歸BUG——N輪之後符合需求——版本上線
——面向使用者使用
1
2
3
4.總結下測試流程?
答:需求分析——編寫測試用例——評審測試用例——搭建測試環境——等待開發提交測試包——部署測試包
——冒煙測試(主體功能預測)——執行測試用例——BUG跟蹤處理(提交及迴歸BUG)——N輪之後符合需
求——版本上線——面向使用者使用
---------------------
作者:ChaosMax
來源:CSDN
原文:https://blog.csdn.net/ChaosMax/article/details/71628867
版權宣告:本文為博主原創文章,轉載請附上博文連結!