2019年移動(dòng)端測(cè)試團(tuán)隊(duì)在測(cè)試框架與架構(gòu)上進(jìn)行了一些列的嘗試,建立輿情監(jiān)控機(jī)制和灰度結(jié)果跟蹤機(jī)制缅阳;基礎(chǔ)能力嘗試了各種專(zhuān)項(xiàng)測(cè)試、業(yè)務(wù)分層和自動(dòng)化分層保障體系,并將安全測(cè)試納入整個(gè)App測(cè)試體系中鞭执;在底層進(jìn)行基礎(chǔ)能力搭建、工具支撐芒粹、流程優(yōu)化與完善兄纺。從實(shí)施的角度,目前還有很多不盡人意的地方是辕,但總體測(cè)試框架保障體系已經(jīng)初步建立囤热。下面分別從三個(gè)方面簡(jiǎn)單聊聊整個(gè)測(cè)試框架。
1.線(xiàn)上監(jiān)控與灰度測(cè)試
與客服获三、運(yùn)維旁蔼、開(kāi)發(fā)建立線(xiàn)上監(jiān)控和輿情監(jiān)控機(jī)制,確保App線(xiàn)上問(wèn)題更早更快的被發(fā)現(xiàn)疙教;目前只是進(jìn)行客訴問(wèn)題棺聊、灰度問(wèn)題跟蹤記錄,App市場(chǎng)問(wèn)題分析提取跟蹤記錄贞谓,但沒(méi)有進(jìn)行分析反饋到質(zhì)量改進(jìn)過(guò)程中限佩,需要在2020年中進(jìn)一步加強(qiáng)并推進(jìn)。
2.基礎(chǔ)能力建設(shè)
2.1 基礎(chǔ)能力測(cè)試框架介紹
基礎(chǔ)能力建設(shè)包含App發(fā)版相關(guān)回歸測(cè)試裸弦、性能專(zhuān)項(xiàng)祟同、渠道包等測(cè)試;業(yè)務(wù)支撐相關(guān)數(shù)據(jù)異常校驗(yàn)理疙、穩(wěn)定性晕城、自動(dòng)遍歷等測(cè)試;以及基礎(chǔ)組件相關(guān)接口測(cè)試及代碼評(píng)測(cè)窖贤。
按照分層思想和階段分為四部分砖顷,底層基于App組件的接口測(cè)試,代碼評(píng)審赃梧,代碼掃描(未開(kāi)展)滤蝠。中間層是在業(yè)務(wù)開(kāi)發(fā)階段的單功能業(yè)務(wù)測(cè)試,主要包含業(yè)務(wù)測(cè)試(手工)以及基于業(yè)務(wù)的穩(wěn)定性測(cè)試授嘀,基于業(yè)務(wù)穩(wěn)定性測(cè)試主要包含三部分內(nèi)容物咳,Monkey、自動(dòng)遍歷蹄皱、樂(lè)高及統(tǒng)一運(yùn)營(yíng)平臺(tái)異常數(shù)據(jù)驗(yàn)證測(cè)試所森。上層是基于App基礎(chǔ)階段的回歸測(cè)試囱持,包括業(yè)務(wù)回歸測(cè)試(自動(dòng)化和手工)、App版本性能測(cè)試焕济、業(yè)務(wù)專(zhuān)項(xiàng)測(cè)試纷妆、App渠道包測(cè)試等內(nèi)容。
以及第四部分是安全和H5接入測(cè)試晴弃,安全測(cè)試和H5接入測(cè)試因?yàn)閮?nèi)容較多掩幢,后續(xù)專(zhuān)門(mén)寫(xiě)文說(shuō)明。本文不再贅述上鞠。
為了便于讀者閱讀际邻,方便說(shuō)明該框架體系,本文把上文內(nèi)容按照自動(dòng)化測(cè)試和手工測(cè)試的角度分類(lèi)芍阎,另外因?yàn)榛A(chǔ)組件較為特殊世曾,單獨(dú)拿出來(lái)加以說(shuō)明。從基于分層思想的App自動(dòng)化測(cè)試策略谴咸,基于業(yè)務(wù)分層的測(cè)試策略轮听,業(yè)務(wù)組件及基礎(chǔ)組件的測(cè)試策略進(jìn)行說(shuō)明。
2.2 基于自動(dòng)化分層測(cè)試策略
移動(dòng)端自動(dòng)化測(cè)試策略按照測(cè)試階段和目標(biāo)不同分為三部分岭佳,基于基礎(chǔ)組件和業(yè)務(wù)組件的App基礎(chǔ)自動(dòng)化測(cè)試血巍,基于業(yè)務(wù)支撐的穩(wěn)定性測(cè)試、基于App發(fā)版的驗(yàn)證測(cè)試珊随。
基于基礎(chǔ)組件的App基礎(chǔ)測(cè)試包含接口測(cè)試及代碼評(píng)審述寡;主要保障App基礎(chǔ)能力及代碼健壯性。
App基礎(chǔ)組件和業(yè)務(wù)組件的變更或者修改叶洞,針對(duì)App基礎(chǔ)功能的測(cè)試主要采用代碼評(píng)審鲫凶,測(cè)試同學(xué)要參與到需求、設(shè)計(jì)衩辟、測(cè)試各個(gè)環(huán)節(jié)掀序,當(dāng)需求確定后,測(cè)試同學(xué)要和開(kāi)發(fā)同學(xué)一起評(píng)審設(shè)計(jì)是否合理惭婿,開(kāi)發(fā)完成后,測(cè)試同學(xué)需要從設(shè)計(jì)中畫(huà)出代碼實(shí)現(xiàn)的偽代碼和開(kāi)發(fā)同學(xué)進(jìn)行評(píng)審叶雹,確保代碼從設(shè)計(jì)到開(kāi)發(fā)都符合預(yù)期财饥,在基礎(chǔ)組件和業(yè)務(wù)組件的單功能測(cè)試主要使用接口測(cè)試,在Android平臺(tái)使用junit框架進(jìn)行接口測(cè)試折晦。
基于業(yè)務(wù)支撐穩(wěn)定性測(cè)試钥星,主要包含業(yè)務(wù)測(cè)試(手工)以及基于業(yè)務(wù)的穩(wěn)定性測(cè)試。在業(yè)務(wù)測(cè)試提測(cè)后满着,需要先進(jìn)行Monkey穩(wěn)定性測(cè)試谦炒、自動(dòng)遍歷功能的測(cè)試贯莺,確保其功能的改動(dòng)不影響App的穩(wěn)定性,不出現(xiàn)崩潰宁改。業(yè)務(wù)的可用性缕探,不出現(xiàn)黑白屏、無(wú)加載还蹲、加載超時(shí)等問(wèn)題爹耗。如果涉及到App模板改造,需要對(duì)后臺(tái)統(tǒng)一運(yùn)營(yíng)平臺(tái)配置后的模板數(shù)據(jù)異常進(jìn)行校驗(yàn)谜喊,確保不因?yàn)楹笈_(tái)App模板配置錯(cuò)誤潭兽,導(dǎo)致App崩潰。
基于App發(fā)版的自動(dòng)化回歸測(cè)試斗遏,App穩(wěn)定性測(cè)試山卦、安全測(cè)試、移動(dòng)端性能測(cè)試诵次、渠道包發(fā)布測(cè)試账蓉,主要解決功能可用性及易用性場(chǎng)景。
在App封板后藻懒,打包進(jìn)行回歸測(cè)試剔猿,這個(gè)過(guò)程主要需要通過(guò)冒煙測(cè)試驗(yàn)證包的可用性,通過(guò)后進(jìn)行App自動(dòng)化測(cè)試(核心功能)嬉荆;手工回歸測(cè)試归敬,包含基礎(chǔ)功能和新增功能部分的回歸測(cè)試,同時(shí)進(jìn)行穩(wěn)定性測(cè)試鄙早,包含Monkey汪茧、自動(dòng)遍歷;App安全測(cè)試(可選)限番、移動(dòng)端版本性能測(cè)試舱污,全部通過(guò)后,進(jìn)行渠道包發(fā)布測(cè)試弥虐,通過(guò)后進(jìn)入灰度測(cè)試階段扩灯。
2.3基于業(yè)務(wù)分層測(cè)試策略
在App測(cè)試過(guò)程中就是測(cè)試一個(gè)個(gè)頁(yè)面,而這個(gè)頁(yè)面的技術(shù)特性決定了這個(gè)頁(yè)面需要注意哪些地方霜瘪,比如原生頁(yè)面珠插、H5頁(yè)面、RN颖对、小程序等捻撑;每個(gè)頁(yè)面中會(huì)用快速搭建業(yè)務(wù)能力的業(yè)務(wù)組件,如彈窗、XView顾患、分享番捂、引導(dǎo)、搜索等功能江解;最后才是這個(gè)頁(yè)面要實(shí)現(xiàn)什么樣的業(yè)務(wù)能力设预,是要根據(jù)業(yè)務(wù)特性設(shè)計(jì)。如對(duì)該部分內(nèi)容感興趣可參看《基于業(yè)務(wù)分層的測(cè)試策略》
基于業(yè)務(wù)分層測(cè)試就是在測(cè)試過(guò)程中把業(yè)務(wù)能力分解并形成一些通用技術(shù)能力膘流,提供給每個(gè)測(cè)試同學(xué)培訓(xùn)內(nèi)化絮缅,形成他的基礎(chǔ)工作能力。如圖所示呼股。
技術(shù)組件:主要指與應(yīng)用的基礎(chǔ)技術(shù)耕魄,如RN、H5(webview)彭谁、小程序吸奴、原生等。
業(yè)務(wù)組件:業(yè)務(wù)組件主要指業(yè)務(wù)中的通用功能如彈窗缠局、XView则奥、分享、引導(dǎo)狭园、搜索等功能读处。
業(yè)務(wù)流程:指與業(yè)務(wù)相關(guān)的業(yè)務(wù)規(guī)則、流程等業(yè)務(wù)屬性信息唱矛。
比如在測(cè)試A頁(yè)面時(shí)罚舱,A頁(yè)面是一個(gè)RN頁(yè)面,首先考慮RN如何測(cè)試绎谦,要關(guān)注那些點(diǎn)管闷;再接著找到頁(yè)面中業(yè)務(wù)組件,比如頁(yè)面中使用了彈窗窃肠、分享包个、push等業(yè)務(wù)組件,這時(shí)考慮測(cè)試組件的測(cè)試要點(diǎn)冤留;最后結(jié)合該頁(yè)面提供的業(yè)務(wù)能力進(jìn)行測(cè)試碧囊。
這樣就實(shí)現(xiàn)了具體的業(yè)務(wù)流程和業(yè)務(wù)組件、技術(shù)組件之間的解耦纤怒,快速實(shí)現(xiàn)測(cè)試人員能力之間的遷移糯而,填平技術(shù)人員之間能力差異鴻溝。
2.4礎(chǔ)組件的測(cè)試策略
App基礎(chǔ)組件和業(yè)務(wù)組件的變更或者修改肪跋,對(duì)App功能的影響非常大,嚴(yán)重者會(huì)導(dǎo)致App功能的不可用土砂,所以對(duì)基礎(chǔ)功能的測(cè)試顯得尤為重要州既,針對(duì)基礎(chǔ)組件的測(cè)試谜洽,主要從三個(gè)方面入手,第一個(gè)層面保障修改的功能可用吴叶,主要通過(guò)代碼評(píng)審和接口自動(dòng)化實(shí)現(xiàn)阐虚;第二個(gè)層面主要測(cè)試業(yè)務(wù)組件或者技術(shù)組件修改或者變更,對(duì)其他業(yè)務(wù)可用性的測(cè)試蚌卤,主要通過(guò)Monkey实束、自動(dòng)遍歷,測(cè)試App的崩潰逊彭,不出現(xiàn)黑白屏咸灿、無(wú)加載、加載超時(shí)等問(wèn)題侮叮;第三個(gè)層面主要是通過(guò)手工回歸加探索性測(cè)試確保其修改或者變更不影響其功能和用戶(hù)體驗(yàn)避矢。
3.工具流程支持
工具規(guī)范支持包含工具建設(shè)和質(zhì)量及流程規(guī)范相關(guān)的保障與支持。關(guān)于工具建設(shè)專(zhuān)門(mén)撰文說(shuō)明囊榜,本文不在贅述审胸。流程規(guī)范主要主要完成《App發(fā)版規(guī)范》、《SDK準(zhǔn)入規(guī)劃》卸勺、《業(yè)務(wù)上線(xiàn)規(guī)范》以及《回歸測(cè)試管控要點(diǎn)》等方面砂沛,因該部分內(nèi)容涉及到公司相關(guān)流程制度,在此不盡興詳細(xì)說(shuō)明
2019年如白馬過(guò)隙曙求,期間做了很多事情碍庵,但技術(shù)的沉淀需要時(shí)間的打磨,整個(gè)框架本身還有很多需要優(yōu)化的地方圆到,如工具和手工測(cè)試完美結(jié)合怎抛,制度如何更優(yōu)化讓這一套工具平臺(tái)自動(dòng)流轉(zhuǎn);測(cè)試標(biāo)準(zhǔn)化和規(guī)范化也只是開(kāi)了個(gè)頭芽淡;數(shù)據(jù)度量马绝、質(zhì)量運(yùn)營(yíng)等方面基本上還處于零起步。希望同學(xué)們繼續(xù)努力挣菲,一起加油富稻。
最后,感謝團(tuán)隊(duì)小伙伴們的努力和付出白胀,和你們?cè)谝黄鹞液苄腋椭赋!?/p>
最后引用毛澤東主席的詩(shī)詞作結(jié)尾,表達(dá)我此刻的心境或杠。
雄關(guān)漫道真如鐵,而今邁步從頭越哪怔。
如果你喜歡我的文章,歡迎關(guān)注掃描公眾賬號(hào):MiniStarClub