wps 项目进度_平安科技软件+金山WPS测试面试题
平安科技面試題部分
1、什么是敏捷模型和瀑布模型?
2、為什么要使用jenkins/使用jenkins的好處?
3、說說你對持續(xù)集成的理解?
WPS面試問題
慣常先進行自我介紹,介紹完之后根據(jù)我的介紹內(nèi)容問我,在接口測試時有遇到什么問題嗎?如何解決?再問對所在實習公司有沒有不滿的地方?為什么不在實習公司轉正?給你一張A4白紙,你如何測試它?評價你最好的一個朋友。然后最后一個問題是有什么問題想了解的。
下面對平安科技所問的問題進行一個了解、梳理和介紹,并不是我面試時的回答哈。自行了解,然后總結提煉,面試時有被問到的話,能全部回答完整固然最好,但不能完整回答上也沒關系,了解一下有個印象,不至于只會回答不知道 ̄□ ̄||
1、什么是瀑布模型、什么是敏捷開發(fā)?
瀑布模型
??1970年WinSTon Royce提出了著名的"瀑布模型",將軟件生命周期劃分為制定計劃、需求分析、概要設計,詳細設計、程序編寫、軟件測試和運行維護等基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。
瀑布模型嚴格定義了各階段的輸入輸出,如果某一階段沒有達到要求的輸出,將不會進行下一階段。
瀑布模型的特點:
各階段劃分很明確,便于項目經(jīng)理對進度的把控,但是缺乏靈活性。
適用于需求很明確的項目,因此對于客戶需求的變化很難適應。
以文檔作為驅動,每一階段都需要輸出相應的文檔,作為每一階段審核的標準,因此極大地增加了工作量。
強調(diào)了每個階段的嚴格性,只有前一階段通過審核才能進入下一階段的設計。開發(fā)前期良好的需求說明,是最終系統(tǒng)正確性和完整性的保證。
由于開發(fā)模型是線性的,早期的錯誤可能要等到開發(fā)后期的測試階段才能發(fā)現(xiàn),進而帶來嚴重的后果。
用戶只有等到末期才能見到開發(fā)成果。
由瀑布模型引入敏捷開發(fā)
??敏捷開發(fā)是一種從1990年代開始逐漸引起廣泛關注的一些新型軟件開發(fā)方法,是一種應對快速變化的需求的一種軟件開發(fā)能力。相對于"非敏捷",更強調(diào)程序員團隊與業(yè)務專家之間的緊密協(xié)作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重作為軟件開發(fā)中人的作用。
什么是敏捷開發(fā)?
敏捷開發(fā)的核心是迭代
其特點是:
1.個人和交互重于流程和工具
2.有效的軟件重于全面的文檔
3.客戶合作重于合同談判
4.因時制宜重于按步就班
5.敏捷開發(fā)的優(yōu)勢?
以客戶滿意度為主。客戶會看到產(chǎn)品設計的每一步并在此基礎上做出反饋,這時候你需要迅速的做出調(diào)整
擁抱變化。客戶最關心的是設計出的軟件能夠滿足其需求,因此這就需要開發(fā)人員清楚客戶要得到什么就要迅速實現(xiàn)什么。這樣軟件的每個子項目都會根據(jù)需求進行調(diào)整,并不會對其它子項目產(chǎn)生不好的影響
頻繁交付。從幾周到幾個月應該交付更新,時間越短越好。及時交付客戶維系好的客戶關系,并根據(jù)客戶反饋的信息,并作出相應的調(diào)整。
面對面的交流。由于領域的區(qū)別,客戶只是業(yè)務了解,而軟件開發(fā)人員只對軟件熟悉,這就可能導致溝通之間出現(xiàn)理解偏差,因為常常在一起工作顯得很必然。
參考從瀑布模型到敏捷開發(fā)
2、為什么要使用jenkins/使用jenkins的好處?
??發(fā)布的任何一個環(huán)節(jié)都是自動完成的,無需太多的人工干預,有利于減少重復過程以節(jié)省時間、費用和工作量。
3、說說你對持續(xù)集成的理解?
持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干。它的目的是讓產(chǎn)品可以快速迭代,同時還能保持高質量。它的核心措施是,代碼集成到主干之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。
根據(jù)持續(xù)集成的設計,代碼從提交到生產(chǎn),整個過程有以下幾步。
1. 提交
流程的第一步,是開發(fā)者向代碼倉庫提交代碼。所有后面的步驟都始于本地代碼的一次提交(commit)。
2. 測試(第一輪)
代碼倉庫對commit操作配置了鉤子(hook),只要提交代碼或者合并進主干,就會跑自動化測試。
測試有好幾種。
單元測試:針對函數(shù)或模塊的測試
集成測試:針對整體產(chǎn)品的某個功能的測試,又稱功能測試
端對端測試:從用戶界面直達數(shù)據(jù)庫的全鏈路測試
第一輪至少要跑單元測試。
3. 構建
通過第一輪測試,代碼就可以合并進主干,就算可以交付了。
交付后,就先進行構建(build),再進入第二輪測試。所謂構建,指的是將源碼轉換為可以運行的實際代碼,比如安裝依賴,配置各種資源(樣式表、JS腳本、圖片)等等。
常用的構建工具如下。
List item
Jenkins
Travis
Codeship
Strider
Jenkins和Strider是開源軟件,Travis和Codeship對于開源項目可以免費使用。它們都會將構建和測試,在一次運行中執(zhí)行完成。
4. 測試(第二輪)
構建完成,就要進行第二輪測試。如果第一輪已經(jīng)涵蓋了所有測試內(nèi)容,第二輪可以省略,當然,這時構建步驟也要移到第一輪測試前面。
第二輪是全面測試,單元測試和集成測試都會跑,有條件的話,也要做端對端測試。所有測試以自動化為主,少數(shù)無法自動化的測試用例,就要人工跑。
需要強調(diào)的是,新版本的每一個更新點都必須測試到。如果測試的覆蓋率不高,進入后面的部署階段后,很可能會出現(xiàn)嚴重的問題。
5. 部署
通過了第二輪測試,當前代碼就是一個可以直接部署的版本(artifact)。將這個版本的所有文件打包( tar filename.tar * )存檔,發(fā)到生產(chǎn)服務器。
生產(chǎn)服務器將打包文件,解包成本地的一個目錄,再將運行路徑的符號鏈接(symlink)指向這個目錄,然后重新啟動應用。這方面的部署工具有Ansible,Chef,Puppet等。
6. 回滾
一旦當前版本發(fā)生問題,就要回滾到上一個版本的構建結果。最簡單的做法就是修改一下符號鏈接,指向上一個版本的目錄。
0基礎入學、100%就業(yè)關注公眾號領取10G學習資料點點點,贊和在看都在這兒!總結
以上是生活随笔為你收集整理的wps 项目进度_平安科技软件+金山WPS测试面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 tensorflowpr
- 下一篇: 维沃手机有没有智能机器人_抢!抢!抢!到