<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          千億級(jí)公司低代碼平臺(tái)的測(cè)試體系介紹

          共 3151字,需瀏覽 7分鐘

           ·

          2021-04-29 05:11


          一、有贊低代碼平臺(tái)-bos介紹

          1.1、什么是低代碼平臺(tái)

             低代碼開(kāi)發(fā)平臺(tái)已經(jīng)成為現(xiàn)在很多企業(yè)開(kāi)發(fā)管理應(yīng)用程序的重要工具,低代碼平臺(tái)的出現(xiàn)幫助企業(yè)降低了軟件開(kāi)發(fā)的成本,提高了軟件開(kāi)發(fā)的效率,越來(lái)越多的公司開(kāi)始開(kāi)發(fā)低代碼平臺(tái),甚至基于低代碼平臺(tái)開(kāi)始商業(yè)化,比如微軟的Power Platform,Salesforce的Lightning,阿里的星環(huán)等,我在這里介紹一下有贊的低代碼開(kāi)發(fā)平臺(tái)-BOS。

          1.2、什么是BOS,解決什么問(wèn)題

              商業(yè)操作系統(tǒng)(Business Operating System),商家的經(jīng)營(yíng)需要廣告曝光,銷(xiāo)售員,貨品,快遞,資產(chǎn),營(yíng)銷(xiāo)策劃,服務(wù)等要素,企業(yè)數(shù)字化前提是對(duì)經(jīng)營(yíng)要素進(jìn)行數(shù)字化,現(xiàn)實(shí)世界承擔(dān)執(zhí)行和信息采集,而虛擬世界事前模擬推演得出最佳路徑和步驟,從而提升商家經(jīng)營(yíng)效率。

          BOS對(duì)經(jīng)營(yíng)要素進(jìn)行數(shù)字化登記,并提供了搭建工具,用于集成數(shù)字化后的要素,按商家的意愿來(lái)調(diào)度要素,來(lái)構(gòu)建企業(yè)數(shù)字化的各種業(yè)務(wù)鏈路,被數(shù)字化后的要素稱之為”組件“。”組件“多來(lái)自生態(tài),市場(chǎng)化運(yùn)作方式商家可以集成優(yōu)質(zhì)的要素從而豐富貨源,提升服務(wù)水平,內(nèi)容得到精準(zhǔn)的曝光,用戶體驗(yàn)鏈路更加細(xì)膩。要素需要生態(tài)共識(shí)的”數(shù)據(jù)標(biāo)準(zhǔn)“才能被按需集成,而有贊則是標(biāo)準(zhǔn)的起草者,便于買(mǎi)家認(rèn)知,也是組件接入和執(zhí)行的依據(jù),還能建立組件之間的通訊。

          商業(yè)操作系統(tǒng)致力于用無(wú)代碼編排替代傳統(tǒng)編碼方式來(lái)集成要素實(shí)現(xiàn)業(yè)務(wù)需求,來(lái)滿足千差萬(wàn)別的企業(yè)數(shù)字化要求。另外,也降低了研發(fā)門(mén)檻,倡導(dǎo)“全民研發(fā)”的理念,讓運(yùn)營(yíng)人員自行調(diào)整邏輯和交互,最大限度釋放創(chuàng)造力還原一個(gè)點(diǎn)子,即時(shí)、高效、低成本驗(yàn)證數(shù)字化方案的可行性,并且全鏈路的邏輯一覽無(wú)余。

          接入的組件都依賴數(shù)據(jù)標(biāo)準(zhǔn),彼此之間無(wú)依賴,這就讓分布式獨(dú)立開(kāi)發(fā)組件變得可行,從而垂直業(yè)務(wù),ISV,商家都能提供組件,運(yùn)營(yíng)按編排成為產(chǎn)品,多版本的迭代并相互隔離。

          綜上,BOS由數(shù)據(jù)標(biāo)準(zhǔn),組件接入標(biāo)準(zhǔn),應(yīng)用層編排模型,規(guī)則引擎,數(shù)據(jù)連接器,組件擴(kuò)展標(biāo)準(zhǔn),自動(dòng)測(cè)試/運(yùn)維,產(chǎn)品授權(quán)和鑒權(quán),產(chǎn)品模板,開(kāi)發(fā)者準(zhǔn)入、培訓(xùn)和認(rèn)證體系,經(jīng)營(yíng)者商業(yè)關(guān)系管理,以及市場(chǎng)化運(yùn)作方式構(gòu)成。

          1.3、以交易接入為例,講述一下bos發(fā)展

          1b1dda9b562fda66e75391ca36cfa918.webp

          小結(jié):因?yàn)楸疚闹攸c(diǎn)講的是bos的測(cè)試體系,對(duì)于bos的內(nèi)容不過(guò)多贅述了,有興趣的小伙伴可以查看有贊coder的文章,里面有更多相關(guān)bos的內(nèi)容。

          二、業(yè)務(wù)代碼接入低代碼平臺(tái)的測(cè)試用例設(shè)計(jì)和自動(dòng)化介紹

          2.1、bos測(cè)試case的設(shè)計(jì)思路

          bos主要的核心主要是將業(yè)務(wù)需求結(jié)構(gòu)化,比如針對(duì)交易,先是把交易業(yè)務(wù)抽象成訂單確認(rèn),下單等一個(gè)一個(gè)工作流,工作流是由一個(gè)一個(gè)業(yè)務(wù)產(chǎn)品組成,如這里的(訂單基礎(chǔ)產(chǎn)品,渠道數(shù)量產(chǎn)品,自提產(chǎn)品等),產(chǎn)品之間會(huì)有一些疊加互斥的關(guān)系,然后產(chǎn)品內(nèi)部,又是由一個(gè)一個(gè)活動(dòng)任務(wù)組成如(數(shù)據(jù)初始化,業(yè)務(wù)校驗(yàn),業(yè)務(wù)裝配等),再然后活動(dòng)任務(wù),又是由一個(gè)一個(gè)組件組成(組件由開(kāi)發(fā)編碼并上傳到bos)。針對(duì)這樣的結(jié)構(gòu)化的需求,我們需要把對(duì)應(yīng)的case也做結(jié)構(gòu)化,需要針對(duì)不同組件改動(dòng)設(shè)計(jì)組件的測(cè)試case,針對(duì)活動(dòng)任務(wù)合在一起的產(chǎn)品設(shè)計(jì)針對(duì)產(chǎn)品的測(cè)試case,針對(duì)整個(gè)大的工作流設(shè)計(jì)工作流的測(cè)試case。我們的測(cè)試case,需要跟著業(yè)務(wù)代碼的結(jié)構(gòu)化,而做結(jié)構(gòu)化,從而達(dá)到精準(zhǔn)并且全面得測(cè)試到某個(gè)組件,某個(gè)產(chǎn)品,某個(gè)工作流的目的。

          236ba9404109fd80144e6a53b579eb84.webp

          2.2、bos測(cè)試case的自動(dòng)化

          bos的產(chǎn)品是一個(gè)持續(xù)迭代的過(guò)程,其實(shí)對(duì)于測(cè)試同學(xué)來(lái)講這就相當(dāng)于一個(gè)大規(guī)模的重構(gòu)項(xiàng)目,所以自動(dòng)化回歸是必不可少的手段,針對(duì)bos開(kāi)發(fā)流程,我的自動(dòng)化測(cè)試策略也做了一些適配,bos在開(kāi)發(fā)之前會(huì)先做大量的需求結(jié)構(gòu)化,然后把原來(lái)的需求拆分成一個(gè)一個(gè)組件,所以開(kāi)始階段,我們先對(duì)組件進(jìn)行case的結(jié)構(gòu)化梳理,并編寫(xiě)自動(dòng)化case,在開(kāi)發(fā)提測(cè)時(shí),之前的自動(dòng)化case可以作為開(kāi)發(fā)的準(zhǔn)入case,同時(shí)這部分case也可以賦能開(kāi)發(fā)自測(cè),然后進(jìn)行qa測(cè)試,這個(gè)階段主要執(zhí)行之前編寫(xiě)自動(dòng)化case執(zhí)行,并在上預(yù)發(fā)之前,把全量針對(duì)組件的自動(dòng)化case執(zhí)行通過(guò),作為上預(yù)發(fā)之前的準(zhǔn)入執(zhí)行。預(yù)發(fā)測(cè)試過(guò)程中除了必要的功能回歸,這邊還會(huì)執(zhí)行全量的預(yù)發(fā)自動(dòng)化case,以及流量回放(流量回放的具體策略在下一節(jié)詳細(xì)描述),待這些都通過(guò)后開(kāi)始發(fā)布組件。組件依次發(fā)布完成后,開(kāi)發(fā)同學(xué)會(huì)把組件配置到bos上去,形成一個(gè)個(gè)可視化的產(chǎn)品,工作流。具體的測(cè)試策略和組件的測(cè)試一致,只是把之前組件級(jí)的自動(dòng)化case換成了產(chǎn)品級(jí)和工作流級(jí)的自動(dòng)化case。

          3fd3a92a59b3479cf9484470a48db128.webp

          三、業(yè)務(wù)代碼接入低代碼平臺(tái)的流量回放介紹

          3.1、流量回放介紹

              先簡(jiǎn)要介紹一些有贊的流量回放平臺(tái),流量回放顧名思義就是采集線上的流量,在預(yù)發(fā)或者測(cè)試環(huán)境跑線上的流量,differ結(jié)果,找到差異的一種手段。有贊這邊的流量回放,是基于開(kāi)源的sandbox實(shí)現(xiàn)的,原理上是通過(guò)sandbox采集線上的流量,并通過(guò)消息的方式告知到流量回放平臺(tái),流量回放平臺(tái)再把這部分流量到預(yù)發(fā)上跑(主要是讀接口),或者把這部分流量到qa環(huán)境跑,不過(guò)需要mock外部依賴(讀寫(xiě)都有)。有贊這里預(yù)發(fā)回放目前只支持讀接口,因?yàn)槿绻菍?xiě)接口,會(huì)寫(xiě)入線上db,變成臟數(shù)據(jù),污染線上環(huán)境。

          3.2、bos基于流量回放的測(cè)試

              前面說(shuō)到業(yè)務(wù)接入bos,對(duì)測(cè)試來(lái)講其實(shí)就類似于一個(gè)大規(guī)模的重構(gòu),如此大規(guī)模的重構(gòu),靠人工設(shè)計(jì)測(cè)試用例,勢(shì)必很容易會(huì)有遺漏的地方,所以做完人工的自動(dòng)化回歸之后,我們引入流量回放的方式來(lái)輔助測(cè)試,來(lái)防治遺漏一些我們?cè)O(shè)計(jì)用例過(guò)程中場(chǎng)景比較偏比較容易遺漏的場(chǎng)景。針對(duì)于讀接口,我們采用線上采集線下回放的方式,因?yàn)槠脚_(tái)天然適配,取得了不錯(cuò)的效果。但是對(duì)于寫(xiě)接口,因?yàn)槠脚_(tái)不支持,但是如果采用線上采集,qa環(huán)境回放,因?yàn)槭峭獠恳蕾囀莔ock,需要根據(jù)調(diào)用外部依賴的入?yún)?,去匹配mock的值,但是我們這邊有很多借口是隨機(jī)值,經(jīng)常會(huì)導(dǎo)致回放失敗,走不通,所以我們最后選擇了一個(gè)中間方案。對(duì)于寫(xiě)接口(這邊以訂單創(chuàng)建接口為例),我們將訂單創(chuàng)建接口剝離出了只讀的部分(下單在[業(yè)務(wù)裝配]活動(dòng)任務(wù)前無(wú)數(shù)據(jù)寫(xiě)入),預(yù)發(fā)提供兩套讀接口,一套老流程無(wú)數(shù)據(jù)寫(xiě)入返回合同,一套bos流程無(wú)數(shù)據(jù)寫(xiě)入返回合同。抓取線上流量,在預(yù)發(fā)執(zhí)行兩個(gè)接口,比對(duì)返回值是否符合預(yù)期,主要實(shí)現(xiàn)如下圖:

          這個(gè)方案目前僅僅是一個(gè)過(guò)渡方案,后面對(duì)于這樣寫(xiě)接口,我們的初步想法,是利用影子鏈路,在寫(xiě)接口落庫(kù)操作的時(shí)候帶上影子標(biāo),進(jìn)入影子表,然后比對(duì)生產(chǎn)和影子鏈路的數(shù)據(jù),也可以比較接口的返回,初步設(shè)想如下圖:

          18c5c6509042e8fb7db93689aca74563.webp

          四、業(yè)務(wù)代碼接入低代碼平臺(tái)的壓測(cè)方案介紹

          對(duì)于壓測(cè)方案,我們主要是希望,在進(jìn)行bos化改造之后,系統(tǒng)的性能不要下降,所以我們這邊的壓測(cè)策略選擇了單機(jī)壓測(cè),相同的qps,觀察分別走新老鏈路的性能指標(biāo)。

          0f3585a354a0733ca381f0231185bb1d.webp

          五、業(yè)務(wù)代碼接入低代碼平臺(tái)的兜底方案介紹

          在上線過(guò)程中,為了防止接入bos出現(xiàn)bug,我們有一套比較詳細(xì)的兜底方案,我們會(huì)針對(duì)在切流過(guò)程中,出現(xiàn)對(duì)各種由bos平臺(tái)導(dǎo)致的異常進(jìn)行降級(jí)兜底,觸發(fā)兜底之后,會(huì)走到老的鏈路,同時(shí)配置監(jiān)控告警,防止對(duì)線上業(yè)務(wù)產(chǎn)生影響。兜底方案如下圖:

          92e5a68966654e9cce8592e200c4a758.webp

          六、總結(jié)

             bos在有贊是一個(gè)比較新的東西,針對(duì)bos的測(cè)試手段目前也在摸索當(dāng)中,針對(duì)現(xiàn)有的業(yè)務(wù),我們沉淀了一些測(cè)試策略,并在不斷迭代改進(jìn)中,比如我們?cè)O(shè)想在測(cè)試過(guò)程中,可以顯式告訴我們組件的調(diào)用過(guò)程,幫助我們進(jìn)行問(wèn)題排查;比如目前無(wú)論是組件的,產(chǎn)品的,工作流級(jí)別的case入口,都是工作流的接口,是否可以將其拆分開(kāi)來(lái),做具有針對(duì)性的測(cè)試,等等。希望在不久的將來(lái),我們可以有一套非常完備的業(yè)務(wù)接入bos的測(cè)試解決方案。

          end


          ???
          瀏覽 53
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人国产免费 | A一无码| 一区二区三区精品视频在线观看 | 成人午夜黄片 | 精品七区|