如何分析SAPCloudforSales自動化-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)如何分析SAP Cloud for Sales 自動化,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍門企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,龍門網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

今天我想基于目前C4S產(chǎn)品的現(xiàn)狀和自身的技術(shù)背景,簡單聊聊自動化這個動人心魄、讓人又愛又恨的話題。

相信任何一個軟件開發(fā)團(tuán)隊(duì)的每位成員,聽到“自動化”一詞,都會抱有熱烈的期待。對于老板來說,這個詞意味著成本的下降及更高的ROI(Return On Investment,投資回報(bào)率);從開發(fā)工程師的角度,自動化有助于更早地檢測到代碼變更對原有功能的影響;測試工程師當(dāng)然是全力支持自動化的,因?yàn)槭⌒暮褪×?;產(chǎn)品經(jīng)理自然也不會拒絕自動化,因?yàn)樗軌驇砀咝У慕桓逗透焖俚牡?/p>

然而,我們身邊也不乏自動化實(shí)施失敗的團(tuán)隊(duì)。2013年在我前一家工作的公司里,我曾參與某核心系統(tǒng)項(xiàng)目的開發(fā)工作,這個業(yè)務(wù)系統(tǒng)從需求到完整上線共耗時一年半,核心功能的開發(fā)更是耗時大半年之久。面對如此龐大的業(yè)務(wù)測試成本和強(qiáng)需求,PMO(Project Manage Office)在項(xiàng)目開發(fā)之初就啟動了自動化測試需求,然而在業(yè)務(wù)功能不穩(wěn)定,產(chǎn)品需求、開發(fā)與測試基本屬于趕工狀態(tài)的情況下,與人工回歸相比,自動化所帶來的收益基本微乎其微。所以選擇適當(dāng)?shù)淖詣踊瘯r機(jī)和策略,是自動化成功與否的重要因素之一。

眾所周知,SAP眾多產(chǎn)品都在使用自研的ABAP進(jìn)行開發(fā)。當(dāng)我加入SAP后,我了解到這些運(yùn)行在ABAP Netweaver之上的產(chǎn)品,均有完備的自動化測試。對于ABAP后臺功能代碼,主要是開發(fā)人員為核心功能編寫完備的,覆蓋率高的單元測試,然后用事務(wù)碼SUT調(diào)度成后臺作業(yè)定期執(zhí)行,如果自動化測試執(zhí)行時發(fā)現(xiàn)故障,會自動發(fā)郵件通知相關(guān)人員。

如何分析SAP Cloud for Sales 自動化

前臺UI代碼,無論是原生的Fiori應(yīng)用還是CRM Web Client UI這種加了一層皮膚的類Fiori應(yīng)用,都能通過Selenium來進(jìn)行UI的自動化測試。

當(dāng)然,SAP成都研究院也在進(jìn)行眾多基于微服務(wù)架構(gòu)的云產(chǎn)品開發(fā),主要使用Java編程,那么自動化測試的實(shí)現(xiàn)也更加容易,Spring系列框架里有大量成熟和流行的自動化測試套件可供使用。

從迭代發(fā)布的角度講,C4S產(chǎn)品的發(fā)布周期為一個季度一次,每個季度中有三個周期:前兩個周期主要完成新功能開發(fā),第三個周期需要團(tuán)隊(duì)成員既完成新功能測試,也需要回歸系統(tǒng)原有功能。與此同時,每個季度中還有5次補(bǔ)丁的發(fā)布,每一次都需要完成原有業(yè)務(wù)的回歸測試。夾在產(chǎn)品新特性測試和回歸測試之間的,是一望無際的工作量和對高效率、高質(zhì)量測試的需求。

我為所在團(tuán)隊(duì)負(fù)責(zé)的功能制定的自動化的策略是: 接口 + UI自動化覆蓋。也許您會問,作為一個請求的最前端,既然UI的測試都能覆蓋了,那自動化測試為什么還需要接口的覆蓋?工作量是否存在重復(fù)?從功能的角度來講,確實(shí)有些重復(fù)。但從收益的角度來講,對接口的自動化測試進(jìn)行投入,收益遠(yuǎn)超成本。

1. 對于任意一個系統(tǒng),接口的穩(wěn)定性在整個系統(tǒng)中的重要地位不言而喻。相對于后置的E2E(端到端)測試,接口測試能夠從基礎(chǔ)層減小變更對整個應(yīng)用及下游業(yè)務(wù)調(diào)用方的影響范圍。

2. 同時,接口的測試也能為UI自動化實(shí)施提供基礎(chǔ)數(shù)據(jù)。

UI自動化為了完成某個場景的測試,通常會有很多前置業(yè)務(wù)數(shù)據(jù)的依賴。這些UI自動化需要的測試數(shù)據(jù)如何生成?有同事建議可以提前手工造數(shù)據(jù)。如果自動化測試的數(shù)據(jù)都要依靠手工來維護(hù),在我看來,這個自動化不要也罷。通常,在接口測試完成之后會將已測試通過的接口封裝成工具類,供后續(xù)UI自動化的工程化調(diào)用,這樣既減少了UI自動化的數(shù)據(jù)依賴,對接口測試通過率也提出了更高的要求。所以一般的接口工程必須100%通過,才能完成觸發(fā)后續(xù)UI自動化的作用去執(zhí)行功能測試。

3. 為性能測試準(zhǔn)備打下堅(jiān)實(shí)的基礎(chǔ)。

通常準(zhǔn)備性能測試之前,接口測試的響應(yīng)時間會成為反饋接口性能的重要依據(jù)。我們在制定接口性能的SLA(Service-Level Agreement)時,其基本數(shù)據(jù)來源就是接口測試。而很多互聯(lián)網(wǎng)公司,相對于端到端的響應(yīng)時間,他們更注重接口的響應(yīng)時間,因?yàn)榻涌诟讓印S绕溽槍Χ鄬咏涌谝蕾嚨南到y(tǒng),每年 618,雙11之前的線上大促壓測,接口全鏈路測試必定是重中之重。

我在C4S推薦使用的接口測試框架為Spring + Maven + Testng,語言為Java, 被測對象為C4S oData服務(wù)提供的HTTP API。其中Spring框架主要負(fù)責(zé)通過注解方式完成對象注入,Maven負(fù)責(zé)工程結(jié)構(gòu)和Jar包管理,Testng負(fù)責(zé)具體的測試工作。對于不熟悉Java的朋友來說,借助現(xiàn)有工具諸如Postman也能很好地勝任這項(xiàng)工作。

1. 工程結(jié)構(gòu)及說明

接口主體工程以Maven規(guī)范工程為模板,所有的代碼和相關(guān)資源文件均放置在src/test目錄下。工程模塊主要分為4部分:測試代碼、枚舉對象、工具類及相關(guān)資源文件。

測試代碼:這是測試代碼的主要存放目錄。 通常根據(jù)業(yè)務(wù)的不同,我們將每一個接口的測試案例按照業(yè)務(wù)測試和參數(shù)測試分別編寫。

所謂業(yè)務(wù)測試,是指測試案例中涉及業(yè)務(wù)規(guī)則的部分。比如,某接口中存在一個channel(渠道)字段。業(yè)務(wù)規(guī)則定義:當(dāng)channel為all時,創(chuàng)建全渠道使用的數(shù)據(jù);當(dāng)channel為特定值時,創(chuàng)建的數(shù)據(jù)只能適用于特定的場景。則業(yè)務(wù)測試的案例有2個:

o Channel = all

o Channel = 特定數(shù)據(jù)

參數(shù)測試:主要測試接口參數(shù)字段是否為必填項(xiàng)。比如,某接口中存在一個channel為必填字段且必須為指定枚舉類型字符串,當(dāng)傳入接口為null或blank或非枚舉值時,框架返回HTTP 400參數(shù)錯誤,同時提示錯誤信息。此時參數(shù)測試案例有3個:

o Channel = null

o Channel = “”(blank)

o Channel = “XXXX”(XXXX為非枚舉值)

枚舉對象:此部分是將業(yè)務(wù)中經(jīng)常用到的固定參數(shù)使用枚舉的方式列出,方便整個工程使用。見下圖中httpEnum文件夾中的類。

工具類:包括基本工具類和業(yè)務(wù)工具類部分。業(yè)務(wù)工具類是將特定接口進(jìn)行封裝,方便下游接口調(diào)用使用。

資源文件:包括Spring相關(guān)配置,properties文件以及參數(shù)測試中的數(shù)據(jù)來源文件等。

如何分析SAP Cloud for Sales 自動化

2. 案例編寫

此處以實(shí)現(xiàn)oData的SocialMediaActivity 接口的自動化測試為例來進(jìn)行說明。

我們借用顏值大師——李曉剛老師畫的圖來大致了解SociaMediaActivity在C4S微信集成架構(gòu)中的作用:

如何分析SAP Cloud for Sales 自動化

由上圖所知,C4S通過暴露SocialMediaActivity接口來方便Agent調(diào)用。

在C4S和Social Media集成的相關(guān)場景中,用戶可以通過關(guān)注微信公眾號來綁定一個特定的BusinessPartner(以下簡稱BP), 從而達(dá)到通過用戶在系統(tǒng)中自定義的微信Channel來直接與C4C服務(wù)模塊中的工作人員直接交互的目的。而Activity是針對指定的BP所進(jìn)行的活動,例如創(chuàng)建ticket,點(diǎn)贊,回復(fù)等。故而完整的業(yè)務(wù)流程如下:

  • 獲取系統(tǒng)token

  • 獲取已關(guān)聯(lián)的BP信息

  • 創(chuàng)建ticket信息

  • 評論/點(diǎn)贊/回復(fù)操作

  • 數(shù)據(jù)清理

如何分析SAP Cloud for Sales 自動化

如何分析SAP Cloud for Sales 自動化

  • BeforeClass: 執(zhí)行獲取token的準(zhǔn)備工作。

  • BeforeMethod: 創(chuàng)建/獲取已關(guān)聯(lián)的BP信息。

  • Test: 特定業(yè)務(wù)的測試案例。本處對Activity的層級和操作內(nèi)容進(jìn)行檢查,因此有2個測試方法。

  • AfterMethod:清理已創(chuàng)建的Activity。此處需要重點(diǎn)說明是,為避免后臺錯誤數(shù)據(jù)對應(yīng)用正常使用的影響,每一次執(zhí)行都需要對增量數(shù)據(jù)進(jìn)行清除處理,保持環(huán)境干凈整潔。

  • AfterClass: 清理創(chuàng)建的BP信息。

3. CI(Continuous Integration, 持續(xù)集成)

基于Maven工程的集成,本例中使用Jenkins進(jìn)行示例,與此同時項(xiàng)目工程中需要使用surefire-plugin(一個用來執(zhí)行測試用例的Maven插件)來配置相關(guān)的測試案例范圍。

在pom.xml中配置testng.xml文件:

如何分析SAP Cloud for Sales 自動化

testng.xml文件內(nèi)容示例:

如何分析SAP Cloud for Sales 自動化

使用Maven的好處再次體現(xiàn),只需要簡單配置即可使用:

如何分析SAP Cloud for Sales 自動化

在Jenkins中加入testng report plugin展示,然后build即可。

如何分析SAP Cloud for Sales 自動化

如何分析SAP Cloud for Sales 自動化

雖然我更擅長使用基于Java的Selenium這個UI自動化框架,也明白接口測試完成之后,對UI自動化的巨大幫助,但由于C4S在印度和美國團(tuán)隊(duì)內(nèi)都使用現(xiàn)有的成型產(chǎn)品SAHI,所以這里我只介紹SAHI在C4S的應(yīng)用。

SAHI是Tyto Software旗下的一個基于業(yè)務(wù)的Web應(yīng)用自動化測試工具, 通過注入 JavaScript來訪問 Web 頁面中的元素。相對于Selenium等自動化測試工具,SAHI在動態(tài) ID元素查找和隱式頁面等待處理等方面具有一定的優(yōu)勢。感興趣的同事可前往官網(wǎng)進(jìn)行嘗試。

1. 工程結(jié)構(gòu)及說明

此處以Social 案例為例:

如何分析SAP Cloud for Sales 自動化

  • **DD_CSV: **案例運(yùn)行的的數(shù)據(jù)來源

  • **Function_Library: **該目錄中存放已封裝的基本共用函數(shù),如登錄、登出、工作中心訪問、表格訪問等。更加細(xì)致的封裝則是將頁面元素抽象到Library中的IDS下,便于統(tǒng)一管理, 如下圖:

如何分析SAP Cloud for Sales 自動化

  • SCRIPTS:特定的UI測試案例。

  • SUITE:測試案例運(yùn)行的范圍。

2. 案例編寫

此處以RUI項(xiàng)目中SingleTab功能為例進(jìn)行說明。

MultiTab和SingleTab功能是指在C4S產(chǎn)品中,當(dāng)用戶在全屏模式下打開某一個或多個工作視圖時,系統(tǒng)會將多個工作視圖以Tab的形式顯示在工作區(qū)中;但是當(dāng)用戶修改瀏覽器大小到一定尺寸后,工作區(qū)中將只顯示活動的那個Tab。

MultiTab顯示時,有活動與非活動Tab之分,同時要適配多個Tab的鼠標(biāo)操作切換和通過功能菜單的切換。如下圖所示:

如何分析SAP Cloud for Sales 自動化

SingleTab顯示:只顯示當(dāng)前活動的Tab,在顯示數(shù)據(jù)和形式上與MultiTab有差別,同時也要適配通過功能菜單的Tab切換。

如何分析SAP Cloud for Sales 自動化

與此同時,該特性需要測試系統(tǒng)在不同的主題、字體大小下此特性也能正常工作。因此測試案例的流程如下(可參考代碼注釋部分):

如何分析SAP Cloud for Sales 自動化

(1) 重置相關(guān)特性:瀏覽器大小,主題,字體大小,視圖類型,頁面默認(rèn)過濾器

(2) 訪問特定的工作視圖并顯示特定數(shù)據(jù),驗(yàn)證全屏模式下活動狀態(tài)的/非活動狀態(tài)的MultiTab的顯示和Tab上數(shù)據(jù)的正確性

(3) 縮小瀏覽器大?。?/p>

  • 驗(yàn)證Tab上數(shù)據(jù)正確性

  • 修改系統(tǒng)主題,驗(yàn)證SingleTab的顯示

  • 修改字體大小,驗(yàn)證SingleTab顯示

3. CI集成

基于Jenkins的強(qiáng)大的插件功能,C4S通過將Jenkins與GTP(內(nèi)部缺陷管理平臺)的集成完成CI調(diào)度和運(yùn)行。

UI自動化的CI集成,使得C4S產(chǎn)品的回歸測試的效率大大提升。以今年8月份發(fā)布的版本為例,手工回歸的測試案例目前已接近7000個。如前文所述,諸多的測試案例在每個迭代中持續(xù)的回歸測試,則是一項(xiàng)耗時又耗力的工程。而且這僅僅只針對回歸測試所執(zhí)行的案例。

從手工回歸測試案例的數(shù)量不難看出,快速反饋系統(tǒng)功能狀態(tài)機(jī)制在持續(xù)交付鏈中的重要性。而在對接口進(jìn)行全覆蓋測試之后,對UI自動化覆蓋回歸測試主流程的需求也愈加強(qiáng)烈。

在C4S,我們借助Jenkins 并行測試完成UI自動化,并使用郵件通知測試結(jié)果。在節(jié)省人工回歸成本的同時,使得產(chǎn)品管理團(tuán)隊(duì)能夠在短時間內(nèi)快速、全面了解系統(tǒng)功能的運(yùn)行情況,并給與團(tuán)隊(duì)成員質(zhì)量的信心。與此同時,在出現(xiàn)模塊功能失效甚至是系統(tǒng)宕機(jī)時,這種快速反饋鏈的建立為開發(fā)人員盡早盡快修復(fù)問題爭取了時間,減少了后續(xù)修復(fù)的時間成本。

就目前的測試覆蓋需求而言,由內(nèi)到外的接口覆蓋及端到端的UI覆蓋,在滿足底層穩(wěn)定可靠的同時,也保證前端功能的可用性。對于SAP質(zhì)量工程師而言,工作內(nèi)容遠(yuǎn)非測試工作這一項(xiàng)內(nèi)容,從團(tuán)隊(duì)成員質(zhì)量意識的提升到單元測試覆蓋及檢查;從測試工作到團(tuán)隊(duì)質(zhì)量反饋,都是SAP質(zhì)量工程師在每日工作中需要去花心思琢磨的。而從團(tuán)隊(duì)利益著手,考慮每一項(xiàng)質(zhì)量活動的價(jià)值和意義,對質(zhì)量工程師來說是一項(xiàng)全局觀的考驗(yàn),也是一場質(zhì)量與效率的平衡。

以上就是如何分析SAP Cloud for Sales 自動化,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

文章名稱:如何分析SAPCloudforSales自動化-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article32/dcopsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)、ChatGPTApp設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)