一、產(chǎn)品開發(fā)流程
正常的互聯(lián)網(wǎng)開發(fā)app的流程大致如下:
產(chǎn)品規(guī)劃,定產(chǎn)品方向
定需求肥惭,定產(chǎn)品交互原型
UI根據(jù)線框圖設(shè)計視覺稿
線框圖定好以后,產(chǎn)品與研發(fā)進(jìn)行討論紊搪,修改定稿
研發(fā)根據(jù)視覺稿搭建UI框架
研發(fā)根據(jù)視覺稿定義API協(xié)議文檔
APP端與服務(wù)端各團(tuán)隊小組定制任務(wù)計劃
研發(fā)APP端與服務(wù)端根據(jù)API文檔并行開發(fā)功能
APP端與服務(wù)端按照項目計劃的時間對接API與測試
研發(fā)修復(fù)回歸測試反饋的bug蜜葱,提交beta版
測試通過,提交給運(yùn)營發(fā)布到渠道上線
【注意:接口文檔定義好了耀石,代表兩端已經(jīng)都很熟悉需求了牵囤,只需要在
開發(fā)周期嚴(yán)格按照接口文檔的來,并且共同更新和完善這個接口文檔】
二滞伟、快速搭建項目
定開發(fā)規(guī)范
版本管理
搭建UI框架
選用開發(fā)庫集成(或自造輪子)
第三方服務(wù)集成(視情況而定)
1.定義開發(fā)規(guī)范
一個項目一般不會只有一個人獨立開發(fā)揭鳞,就算是獨立開發(fā),我們也應(yīng)該定一下開發(fā)規(guī)范梆奈,一般會有什么樣的規(guī)范野崇?
命名規(guī)范
代碼規(guī)范
代碼管理規(guī)范
2.命名規(guī)范
命名規(guī)范包括:
項目命名
包命名
類命名、成員變量命名
資源文件命名
3.代碼規(guī)范
代碼規(guī)范視語言而定亩钟,例如:開發(fā)android使用的是Java舞骆,自然要按照J(rèn)ava的編碼規(guī)范進(jìn)行編碼,比如命名采用駝峰命名法径荔,編碼的時候也要符合Android的開發(fā)規(guī)范,比如UI線程不做任何耗時的操作脆霎,像網(wǎng)絡(luò)請求总处、數(shù)據(jù)庫操作都需要放到子線程中去做,只有UI的刷新才在UI線程中做睛蛛,像這些規(guī)范鹦马,可以根據(jù)自身在項目遇到的問題來定胧谈,定規(guī)范的好處就是減少踩坑的幾率,提高開發(fā)的質(zhì)量荸频。
4.代碼管理
對于一個經(jīng)常更新迭代的產(chǎn)品菱肖,需要對代碼進(jìn)行分支管理,最好使用git代碼倉庫對代碼進(jìn)行管理旭从。建議代碼版本管理由SVN逐步過渡到git稳强,跟上時代的潮流。
三和悦、測試
1.功能性測試
UI與技術(shù)退疫,要兼任QA的角色。根據(jù)需求測試功能與業(yè)務(wù)邏輯(包括界面交互流程與細(xì)節(jié))
2.非功能性測試
非功能性的一些因素鸽素,這里就要提到【云測】這個東西褒繁,例如Testin,因為現(xiàn)在設(shè)備太多了馍忽,如果公司要買一堆設(shè)備來做測試棒坏,成本太高,況且設(shè)備更新得太快遭笋,根本就跟不上坝冕,所以就有了云測這個東西,它是一個云測試平臺服務(wù)坐梯,提供了一大批主流機(jī)型徽诲,我們就直接省去購買設(shè)備的成本,還能得到完善的測試報告吵血。
優(yōu)點:
終端云谎替,省去測試設(shè)備購買租賃成本
高效率節(jié)省測試人員成本及時間
包含兼容性測試、性能測試蹋辅、功能測試
操作簡單钱贯、詳細(xì)測試報告生成
四、團(tuán)隊協(xié)作(禪道)
利用【禪道】工具進(jìn)行團(tuán)隊協(xié)作敏捷開發(fā)侦另,與項目Bug測試管理跟蹤
1.任務(wù)
禪道中秩命,迭代的核心是任務(wù),而任務(wù)是基于對需求的分解褒傅,完成了任務(wù)弃锐,也就實現(xiàn)了需求。
需求分解
將關(guān)聯(lián)到每次迭代中的每個需求進(jìn)行估算殿托、分解為若干任務(wù)
做任務(wù)
做完任務(wù)后在"迭代-版本"創(chuàng)建版本和提交測試霹菊,在"迭代-測試任務(wù)"查看測試進(jìn)展和報告
解BUG
在"迭代-版本"查看版本所產(chǎn)生的BUG,進(jìn)行解決
2.迭代
創(chuàng)建迭代時關(guān)聯(lián)產(chǎn)品支竹;
編輯迭代時關(guān)聯(lián)需求(也就是要實現(xiàn)哪些個需求)旋廷;
通常一個迭代實現(xiàn)一個計劃(實現(xiàn)計劃中關(guān)聯(lián)的需求和BUG)鸠按。
迭代-版本
在一個迭代中,一般會創(chuàng)建若干版本饶碘,以實現(xiàn)盡早測試
迭代-測試任務(wù)
一個版本完成后目尖,即可提交測試(為QA創(chuàng)建一個測試任務(wù))。
3.敏捷測試
在一個迭代中扎运,要規(guī)劃幾個版本(build)瑟曲,才能實現(xiàn)盡早測試。整個迭代過程就是不斷實現(xiàn)需求/測試的過程绪囱,而沒有一個集中解決BUG的過程测蹲,但在最后會有一個驗收測試和發(fā)布的過程。
1.迭代版本(build):保持不變鬼吵,有些字段名稱略有變動扣甲,不影響理解。
2.測試版本(testrun):改為 測試任務(wù)齿椅。
版本指的都是擴(kuò)展版本琉挖,其基本定義為:version# (role#build#)),比如:0.5.0 (C2)涣脚。
五示辈、可持續(xù)化集成(Jenkins)
Jenkins主要用于公司持續(xù)集成環(huán)境的搭建。起到自動構(gòu)建遣蚀、自動編譯矾麻、自動化測試一體化的功能,它提供了數(shù)百個插件支持建設(shè)芭梯,測試险耀,部署和幾乎任何項目自動化(在后續(xù)團(tuán)隊擴(kuò)大了的情況下采用)
減少風(fēng)險
一天中進(jìn)行多次的集成,并做了相應(yīng)的測試玖喘,這樣有利于檢查缺陷甩牺,了解軟件的健康狀況,減少假定累奈。
任何時間贬派、任何地點生成可部署的軟件
增強(qiáng)項目的可見性