軟件生命周期(SDLC,Systems Development Life Cycle,SDLC)是軟件開始研制到最終被廢棄不用這樣一個完整的過程叫做軟件生命周期,軟件生命周期又稱為軟件生存周期或系統開發生命周期,是軟件的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質量。但隨着新的面向對象的設計方法和技術的成熟,軟件生命周期設計方法的指導意義正在逐步減少。
生命周期的每一個周期都有確定的任務,並產生一定規格的文檔(資料),提交給下一個周期作為繼續工作的依據。按照軟件的生命周期,軟件的開發不再只單單強調“編碼”,而是概括了軟件開發的全過程。軟件工程要求每一周期工作的開始只能必須是建立在前一個周期結果“正確”前提上的延續;因此,每一周期都是按“活動-結果-審核-再活動-直至結果正確”循環往復進展的。
瀑布模型:
V模型:
W模型:
BUG的生命周期
Bug-->軟件程序的漏洞或缺陷
Bug 的類型:
代碼錯誤、設計缺陷、界面優化、性能問題、配置相關、安裝部署、安全相關、標准規划、測試腳本、。。。其他(功能類、界面類、性能類、易用性類、兼容性類、。。。)
Bug 的等級:
1)致命錯誤:
常規操作引起的系統崩潰、死機、死循環造成數據泄露的安全性問題,比如惡意攻擊造成的賬戶私密信息泄露、設計金錢的計算。
2)嚴重錯誤:
重要功能不能實現
錯誤的波及面廣,影響到其他重要的正常功能實現,功能交互
非常規操作導致的程序崩潰、死機、死循環
外觀難以接受的缺陷
密碼明文顯示,(界面+數據) 前提:眼睛
3)一般錯誤:
次要功能不能正常實現
操作界面錯誤(包括數據窗口內列名定義,含義不一致)
查詢錯誤,數據錯誤顯示
簡單的輸入限制為放在前段進行控制(格式限制)
刪除操作為未給出提示,誤刪
4)細微錯誤:
界面不規范
輔助說明描述不清楚
提示窗口文字未采用行業術語
界面存在文字錯誤
例如:
1.用戶輸入正確的用戶名和密碼不能登錄網站-->代碼錯誤 1
2.客戶需求要有充值功能,但是網站沒有做-->設計缺陷 1
3.網站首頁的圖片在IE8瀏覽器上顯示不全-->兼容方面或者網絡太慢或者界面優化 1
4.點擊網站的注冊和其他鏈接,不能正常跳轉--跳轉響應非常慢10s-->代碼錯誤或者網絡太慢 2
5.酒店管理網站的網頁某些圖片重復顯示-->界面優化 2
6.酒店管理網站的網頁某些酒店圖片顯示不出來-->兼容方面 1
7.網站充值后,出現金額錯誤-->代碼錯誤 1
8.關閉按鈕在彈窗左側-->設計缺陷或者界面優化 3
9.APP某個圖標顯示太小或者像素失真-->界面優化或者性能問題 1
10.某個提示語音需要改進一下,用戶對專業術語不太懂-->標准規划 4
Bug的生命周期:new -open-fixing-verify-close
否 否
發現bug-->提交bug-->指派bug-->研發確認bug-->研發去修復bug-->回歸驗證bug-->是否通過驗證-->關閉bug
Bug 的管理狀態處理-測試:
1已經指派的bug
2已經解決的bug
3重復bug
4不足缺陷
5無法重現
6不予解決
7設計如此
8延期修改
常見筆試面試題
1.有沒有你印象深刻的bug?怎么解決的?
2.Bug 的生命周期?(筆試)
3.當你開了一個bug,但開發不認為是bug,如何處理
4.你在發現bug並確認bug的過程中對於復現率不高的bug怎么處理的?
常見bug 管理系統:
禪道(zentao)、bugzilla、jira、bugfree、easybug、QC
Bug包含的內容:
Bug標題 短描述、重現步驟--詳細步驟、實際結果、預期結果、Bug 類型和嚴重程度、Bug 測試環境、附件。
常見筆試面試題:
1.bug 記錄里面包含哪些內容
2.你了解哪些bug 管理系統
3.你們測試用例和bug是如何管理的。