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