2.1 軟體生命周期概念:
軟體生命周期概念(別稱軟體生存周期、軟體開發生命周期):指軟體從產生到報廢的整個程序,是一種時間的概念,(如一部手機的壽命)
2.2 軟體生命周期的階段:
1、客戶問題的引入與分析---從而產生開發產品的想法
---產品經理/客戶
2、可行性分析(技術方法能否實作;做這個專案能不能掙錢;有沒有涉及侵權、涉及政治,以及是否違法)
---產品經理/需求人員
3、專案招投標:指確定專案的交付周期
---專案經理
4、專案立項:確定交付時間以及交付的量、對周期、人力安排以及測驗環境做一個確定,這些專案經理都回去做一些規劃
----專案經理
5、需求分析:由產品經理召開一個需求澄清會議,然后由產品經理主講 ---產品經理
6、開發測驗階段:開發撰寫代碼、測驗設計測驗用例并且執行測驗用例
7、部署維護
部署:指軟體進行上線或者給客戶進行安裝部署
維護:軟體開發完成后投入使用,由于各方面的原因,軟體不能適應客戶的需求,需要延續軟體的使用壽命,就必須對軟體進行維護,
8、升級淘汰階段:
升級階段:修復錯誤(bug)、添加需求等等,編碼后測驗通過,進行推送升級
淘汰階段:客戶不用了:他又去找開發做了一款滿足他需求的軟體,意味著一款新的軟體誕生,軟體的生命周期又開始輪回起來了
2.3 軟體生命周期模型:(測驗流程)
開發模型:瀑布模型(waterfall)、V模型(重點講解)、W模型、H模型(重點講解)、敏捷開發模型(重點講解)、迭代開發模型、增量開發模型(了解)
---瀑布模型(waterfall)
明確了每一步需要完成的作業內容,但同時也導致每步作業之間關聯性很強,上一步沒有完成就無法開展下一步作業,
測驗模型:V模型、W模型、H模型(重點,要求掌握)

---V模型
V模型是瀑布模型的變種,把瀑布模型中的測驗階段與之前的分析設計階段對應起來,得到V模型
需求(簡稱:srs)全稱:軟體需求規格說明書
1、用戶需求:一個檔案,對整個專案的設計、框架、功能、模塊的描述
2、概要設計:簡稱HLD,一個檔案,架構的初步設計檔案,使用說明什么型別資料庫,架構的描述,設計,模塊的名稱(可理解為:蓋房子的大概設計,基本框架結構)
3、詳細設計:簡稱(LLD),一個檔案,針對功能具體的實作,模塊的具體實作,具體設計,架構的具體描述,(可理解為:房子的具體的裝飾設計)
v模型的四個階段:
(1)單元測驗
單元測驗:指驗證軟體單元是否滿足詳細設計檔案的規格,能正確的執行,主要是對代碼的測驗,單元測驗也是最小的測驗單位,
在作業中單元測驗一般情況是開發自測,如果需要測驗進行單元測驗,對測驗的技術要求非常高,必須要懂開發語言;
(2)集成測驗
集成測驗是指多個單元組合驗證軟體是否滿足概要設計檔案的規格,能正常執行,主要是模塊與模塊之間的資料互動,
(3)系統測驗
系統測驗是指把軟體進行正常運行,對整個軟體系統進行測驗,驗證這個系統能正常的運行,主要是測驗一個整體業務的流程,
(4)驗收測驗
驗收測驗是指:站在用戶角度去對軟體進行測驗,驗證系統滿足用戶需求;
驗收測驗測驗分為兩種:alpha測驗(α) 和 bete測驗(β)
α測驗是內部測驗
β測驗是客戶方測驗
α測驗和β測驗區別:
1、α測驗測驗地點:是在自己公司 ;β測驗一般在客戶方
2、α測驗都是內部人員進行測驗,開發在現場及時發現問題,及時解決;β測驗是在客戶方的員工測驗,發現問題同意反饋非開發在解決
3、α測驗測驗時間段,技術人員比較集中;β測驗測驗時間較長,測驗人員不集中
備注:
(1)集成測驗(it)和系統測驗(st) 合并成(sit測驗)
(2)sit測驗(系統集成測驗), 技術測驗 ;uat測驗(驗收測驗)
(3)sit環境 (sit1環境,sit2環境,sit3環境);uat環境(專門用來驗識訓境)
(4)環境:
a.線上環境(也叫生成環境):客戶在實作
b.測驗環境:測驗人員使用
c、開發環境:開發人員使用
V模型優點:
1、非常明確的標明了測驗程序中存在的不同級別,并且每個級別與分析設計階段對應,這個測驗他不是用同一種方法進行測驗,他是每個不同階段都有一個不同的方法
2、每個測驗階段有明確的交付物
V模型局限性:不夠靈活,測驗階段介入晚
如果用戶的需求在提出時就有問題,或者是在設計階段就有,是發現不了,直到開發編碼完成把這個東西做出來后開始單元測驗,才能發現,甚至更后面才能發現問題,越往后發現我們需要返工的東西就會越多,從而成本也會越大,問題發現的晚,修復的質量產品的質量也會降低.
---W模型
---敏捷開發模型 (重點)
敏捷開發模型是一個新型模型適應快速需求變化,交付周期比較短,輕量級的開發模式,
時間:一周,兩周,一個月
產品拿到一個需求,開發一周,測驗撰寫用例,第二周測驗區測驗,開發修改,修改好就上線
---迭代開發模型
專案被分為一系列的增量,每一個增量都交付整個專案需求中的一部分功能,需求按優先級進行劃分增量的交付,
如:買家版,賣家版, 商家版, ,先左買家版,
---增量開發模型
專案被分為一系列的增量,每一個增量都交付整個專案需求中的一部分功能,需求按優先級進行劃分增量的交付,
如:買家版,賣家版,商家版,先左買家版,
---H模型

(1)需求澄清會議(產品經理會組織需求會議)
(2)拿到需求,深入分析和了解需求檔案
(3)測驗經理撰寫測驗計劃 (重點)
測驗計劃:(內容:測驗目的,背景,范圍,測驗準入,測驗準出,環境和資源,測驗任務和測驗進度,風險及風險管理,測驗交付檔案)
準入:
開發:需求分析報告,需求規格說明書,概要設計說明書,詳細設計說明書,版本說明書及開發自測報告;
測驗:測驗計劃,測驗用例通過,測驗環境搭建好
準出:
a.用例100%執行
b.0bug
c.輸出測驗報告
(4)撰寫用例
(5)評審用例(測驗人員:組內評審(開發,測驗,產品都參加),交叉評審(測驗人員之間評審))
(6)用例評審通過以后匯入到用例管理工具中禪道.
(7)搭建測驗環境(運維搭建,自己搭建)
(8)開發提交代碼包,提測(也叫轉測)
(9)測驗將代碼包部署到環境,
(10)進行冒煙測驗,冒煙測驗通過,進入sit測驗,如果,冒煙測驗不通過,就把版本打回非開發,開發修改,在提測,
冒煙測驗(也叫版本驗證測驗)定義:指對新本本的主要功能,基本功能進行測驗,
如果通過,那么冒煙測驗通過,如果冒煙測驗失敗,那么就把版本打回給開發進行修改,直到冒煙測驗通過
(11)sit系統集成測驗(一般一個專案有3次系統集成測驗,有些專案周期長也有4次,5次)
(12)第一次sit測驗也叫全量測驗(把前面寫的所有用例都要進行測驗),測驗出來的bug,指派給開發(通過禪道),測驗小結

(13)開發修改bug,在提交
(14)第二次sit測驗,第二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)上線成功
—————————————————————————————
H模型(重點,要求掌握)
目前軟體行業市場,主要都是以H模型的流程,進行軟體開發作業
H模型我們可以理解為專案流程
什么專案?什么是產品?什么是版本?什么是迭代?
比如說,現在市面上沒有一款正兒八經的社交軟體,那我們就來做一款設計軟體,我們先要組建一個專案,立項的名稱“設計軟體專案”,接下來做一款“微信”的社交產品,微信版本定為微信1.0,開發出來讓大家去使用,用戶多了,去使用后肯定會有體驗不佳,或者是功能有些地方不能滿足他的一個使用需求,所以產品需要不斷的去迎合市場,要不斷的去滿足用戶需求,所以我們要進行迭代更新,新加一些功能,或者優化一些功能,然后進行一次一次的發版更新推送
專案和產品的區別?先有專案再有產品
專案和版本的區別?一個專案中 專案只有一個,版本可以有多個
H模型特點:
1、H模型開發、測驗活完全獨立,各自形成一個獨立的流程,并且與其它流程并發進行
2、H模型貫穿與產品的周期
3、軟體測驗可以盡早的進行,也可以根據被測物的不同而分層次進行
測驗準備階段
需求下來了后,專案經理就會把需求檔案分給開發經理、測驗經理,然后把需求檔案分給對應的開發、測驗,分下來干嘛? 分下來去看 在看的程序 我們每個人的理解想法意見不一樣,所以要開一個需求澄清會議(產品經理召開,產品經理主講),大家把各自的意見、想法、建議都拋出來進行討論,經過多次討論后,大家都認可了,想法也一致了,然后最終就會輸入一個基線化檔案:
SRS:需求規格說明書
基線化檔案:表示這個檔案已經確認了,穩定了,沒有特殊情況不會進行修改了,同時它也是進入下一個環節的基礎
SRS澄清后
開發這邊:
1、撰寫概要設計說明書(HLD):就是這個需求需要哪些功能或者是需求分為哪些模塊列出一個大綱
2、撰寫 詳細設計說明書(LLD):就是對概要設計說明書列出的功能或模塊進行詳細設計
3、coding(編碼實作)
測驗這邊
1、評審概要設計說明書(review HLD)
2、繼續了解SRS
1、評審詳細設計說明書(review LLD)
2、深入了解SRS
為什么測驗人員可以評審開發人員撰寫的HLD和LLD?
因為開發和測驗看的是同一份需求檔案,開發要實作的功能,測驗人員也是清楚的,所以測驗人員也可以評審(但是實際作業中一般沒有這個步驟)
如果我們對需求不夠了解,在設計測驗用例的時候可能就會出現覆寫不全,可能導致漏測,漏測在測驗作業中屬于比較嚴重的問題,所以得特別注意
3、TPM(測驗經理)
輸出一個測驗計劃/測驗方案(一般由測驗經理撰寫)
1、TE輸出TC初稿,并進行多次用例評審,最終形成用例基線檔案
TE(軟體測驗工程師)
TC(測驗用例)
多次用例評審,有哪幾種用例評審方式?
1.交叉評審:測驗團體成員之間進行評審
2、團隊評審:產品經理、開發、測驗、運維一起評審
3、會議評審:有客戶參加
2、TPM(測驗經理)將基線用例輸入到testlink(用例管理工具)并將TC(測驗用例)分配給TE(測驗)誰寫的誰測
3、TPM或測驗骨干或者是環境運維人員搭建測驗環境
公司里的環境有哪幾種?
3.1 開發環境:開發人員使用的一個環境
3.2 測驗環境:測驗人員使用的一個環境
3.3 正式環境/生產環境:正式對外提供服務,客戶正式使用的環境
測驗就緒點
測驗環境搭建好了,開發編碼也完成了,開發負責人會講開發的代碼打成一個war包,交由測驗經理或者是運維人員去部署到測驗環境的linux服務器上,部署完成后啟動服務器,就可以通過瀏覽器訪問網頁,測驗作業就可以開始了
測驗執行階段
什么是冒煙測驗?
確認軟體的基本功能是否正常,需求的主流程是否正常,是否可以進行后續的測驗作業,如果冒煙測驗不通過,就暫時先不進行正式的測驗作業,把這個冒煙不通過的這個需求打回給開發,讓他去修復,什么時候冒煙能通過,什么時候進行正式測驗作業(只針對當前需求)
確認基本功能是否正常,基本功能是什么?
比如支付寶基本功能-支付
微信基本功能-社交、聊天
淘寶基本功能-購物
開發完成需求后需要進行自測(冒煙測驗),自測通過提測
冒煙測驗通過后正式執行SIT
SIT(系統集成測驗/全量測驗)全量測驗什么意思?
就是把所有的用例都進行執行一遍,比如我們寫了1000用例,就要把這1000條用例全部執行完
第一輪SIT1,全量測驗,執行所有用例
第二輪SIT2,我們稱之為增量測驗/回歸測驗
增量測驗:我們在測驗程序中,測驗某個功能點,就發現按照原理的用例來測驗覆寫的不是很全,所以要在原先的用例上再加上幾條用例,把這個需求測驗點給覆寫完全
回歸測驗:開發在修復bug可能會對其它代碼造成影響,然而出現新的問題,如果不去進行回歸測驗,這些問題就發現不了
回歸測驗要測什么?
一般情況下測驗這些內容就可以了
1、新增這些用例
2、執行上一輪發現bug的這些用例
3、執行與上一輪bug所屬模塊的用例以及有關聯的模塊的用例
4、再進行一輪冒煙測驗
第三輪SIT3,回歸測驗
,,,,,,
SIT4 0/1:上線的硬性要求
0是bug清零 1的話指的是允許一個易用性或者是建議性的bug,易用性或者是建議性的bug,它不會影響功能使用,和產品開發溝通后,可以建個優化需求建議需求放到下一個迭代版本去優化,必須要發郵件通知測驗經理和抄送給專案組的相關成員,讓大家都知道這件事
用例執行100%,軟體需求分析均已實作
測驗準出報告
達到上線要求了后,測驗就可以結束這個版本的測驗,輸入一個測驗報告給專案經理、抄送給測驗經理、產品經理和專案組所有相關的成員.
2.4 測驗流程
1、首先是用戶需求
2、用戶提出需求后,接下來會對需求進行一個分析,這時產品經理會召開一個需求澄清會議,把需求人員(產品經理、開發、測驗、運維)拉過來,由產品經理主講,一起把需求講清楚,經過多次的分析,多次的討論,最侄訓輸入一個基線化檔案——需求規格說明書檔案,英文簡稱:SRS(這個檔案是確定了,穩定了,一般沒有特殊情況不會再進行修改了)
3、概要設計
4、詳細設計
5、編碼實作:開發撰寫代碼實作需求
測驗的基本原則:
1、測驗是從用戶的角度去測驗;(用戶故事測驗)
2、測驗不僅測驗是軟體本身,測驗環境,配置,網路等
3、軟體外在可用,不代表軟體沒有問題
4、軟體測驗是沒有完成正確,只有更加完美
5、測驗是永遠測不遠
6、測驗應盡早介入,
7、2/8原則, (80%的錯誤集中在20%的區域)
8、殺蟲劑效應
9、測驗盡量選擇第三方測驗
10、測驗活動的依賴物件(功能測驗,性能測驗,安全測驗等)
測驗活動的周期
測驗計劃(安排任務)-------測驗分析和設計(撰寫用例)-----測驗實作執行(測驗階段)---輸出測驗報告---- 資產歸檔(測驗檔案)
準入(也叫轉測,也叫提測):
開發:詳細設計,概要設計,開發自測報告,
測驗:測驗計劃,測驗用例,測驗用例審核通過,搭建好環境
準出:0bug ,用例100%執行,輸出測驗報告
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/500788.html
標籤:其他
上一篇:leetcode 448. Find All Numbers Disappeared in an Array 找到所有陣列中消失的數字(簡單)
