偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

蘇寧發(fā)票中心自助開票,測(cè)試自動(dòng)化減負(fù)初實(shí)踐

原創(chuàng)
開發(fā) 后端 自動(dòng)化
蘇寧發(fā)票中心系統(tǒng)自2014年以來先后接入增值稅電子普通發(fā)票、增值稅專用發(fā)票、增值稅普通發(fā)票、增值稅普通發(fā)票(卷式)等四種發(fā)票類型的開具。

【51CTO.com原創(chuàng)稿件】

前言

蘇寧發(fā)票中心系統(tǒng)自2014年以來先后接入增值稅電子普通發(fā)票、增值稅專用發(fā)票、增值稅普通發(fā)票、增值稅普通發(fā)票(卷式)等四種發(fā)票類型的開具。從業(yè)務(wù)上來看,接收線上易購(gòu)、零售云、金融、貓寧、當(dāng)當(dāng)、天貓分銷、蘇寧有房、北京節(jié)能補(bǔ)貼、政企對(duì)公、香港票據(jù)、電商能力輸出、蘇寧卡、大潤(rùn)發(fā)、卜蜂蓮花、蘇鮮生等訂單并提供開票服務(wù)。

[[261778]]

自動(dòng)化解決方案

俗話說,頭大的問題造就大頭的智慧;那,我們先來說說為什么要做自動(dòng)化?

蘇寧發(fā)票中心開票系統(tǒng),如前言所述,負(fù)責(zé)蘇寧集團(tuán)內(nèi)外部所有業(yè)務(wù)開票服務(wù),對(duì)接上下游N個(gè)業(yè)務(wù)和系統(tǒng),在各相關(guān)系統(tǒng)有新的功能開發(fā)時(shí),涉及發(fā)票中心無改動(dòng),但常需要配合聯(lián)測(cè),提供開票服務(wù),而這不定時(shí)的各種各樣的數(shù)據(jù)配合聯(lián)測(cè),耗費(fèi)了團(tuán)隊(duì)巨大的時(shí)間和精力。

舉個(gè)例子,某項(xiàng)目增票配合測(cè)試,因?yàn)樵鲋刀悓!⑵掌遍_具需要先定位數(shù)據(jù)是否接收到,然后檢查數(shù)據(jù)是否符合開票條件,然后執(zhí)行定時(shí)任務(wù)轉(zhuǎn)待開,鎖定,開票,郵寄導(dǎo)入。

對(duì)于如上這么多的操作步驟,我們做過測(cè)算,人工平均開一張票需6min,在項(xiàng)目3天左右的集中聯(lián)測(cè)周期內(nèi)共需配合開具100張以上發(fā)票,消耗測(cè)試資源100(張)*6(min/張)/60(min)/8(人天)=1.25人天,也就是說,如果實(shí)現(xiàn)完全自動(dòng)化,無需測(cè)試人員介入,單張發(fā)票開具在2min內(nèi)完成,聯(lián)測(cè)周期內(nèi)***可節(jié)省42%的測(cè)試總?cè)颂?。要提升配合?lián)測(cè)效率,釋放團(tuán)隊(duì)資源,提高測(cè)試專注度,這個(gè)問題的解決,則變得刻不容緩。

我們?cè)O(shè)計(jì)了一個(gè)較優(yōu)的解決方案是什么?有哪些優(yōu)點(diǎn)?

有人會(huì)說,MOCK啊,N年前就有的問題解決方案!可是,MOCK數(shù)據(jù)的“老少通吃”,“呆頭呆腦”的“妄下結(jié)論”,實(shí)在難以滿足復(fù)雜的業(yè)務(wù)場(chǎng)景和真實(shí)數(shù)據(jù)的處理,用一句概括就是存在風(fēng)險(xiǎn)且容易失真。

拿發(fā)票中心來講,上游系統(tǒng)下傳真實(shí)的測(cè)試數(shù)據(jù),我們需要對(duì)請(qǐng)求開票的數(shù)據(jù)的稅率、會(huì)員、支付、收貨狀態(tài)做判斷并處理。如上所述復(fù)雜過程都需要按實(shí)際開票鏈路實(shí)現(xiàn),這也是集成測(cè)試基本準(zhǔn)則要求之一,采用MOCK方式不可取。同時(shí),發(fā)票中心針對(duì)來源系統(tǒng)不同、票種不同也需要合并或者其他方式的處理數(shù)據(jù),僅就一個(gè)合并功能,MOCK技術(shù)難以實(shí)現(xiàn)。

為解決此問題,經(jīng)過相關(guān)人員的通力合作,秉承***程度用機(jī)器替代人工干預(yù)的思路,利用團(tuán)隊(duì)內(nèi)現(xiàn)有的自動(dòng)化技術(shù),總算是有了一個(gè)相對(duì)不錯(cuò)且相對(duì)單獨(dú)的解決方案。

方案簡(jiǎn)述

前臺(tái):為方便上游開票需求人員的使用,使用Web頁面進(jìn)行數(shù)據(jù)輸入,提供開票界面和開票結(jié)果查詢界面;

后臺(tái):使用以”簡(jiǎn)潔”和“膠水語言”著稱的Python實(shí)現(xiàn),提供開票和開票結(jié)果查詢接口,供前端調(diào)用;并將接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析、數(shù)據(jù)校驗(yàn)、MySQL數(shù)據(jù)查詢、邏輯計(jì)算,進(jìn)而將可開票數(shù)據(jù)進(jìn)行定時(shí)任務(wù)執(zhí)行、調(diào)用IE開票、屏幕截圖保存、日志寫入保存等操作,實(shí)現(xiàn)完整的開票流程。

此解決方案優(yōu)點(diǎn):

1、普適性高,目前任何上游需開票項(xiàng)目均可使用;

2、票種和環(huán)境隨意切換;

3、問題定位反饋精準(zhǔn);

4、***用戶操作更簡(jiǎn)單直接,執(zhí)行效率高;

5、執(zhí)行結(jié)果無需切換系統(tǒng)查看,查詢更直觀;

6、測(cè)試人員基本0占用,人力資源基本0消耗。

Web前端,vue.js結(jié)合element組件,打造極簡(jiǎn)界面

為開票人員提供查詢界面,可通過關(guān)鍵信息查詢開票結(jié)果圖片,開票詳細(xì)日志。

開票結(jié)果查詢?cè)斍椋?/p>

復(fù)雜的表單輸入,轉(zhuǎn)化為簡(jiǎn)單的三個(gè)輸入條件,并且將過程執(zhí)行日志,問題提示,錯(cuò)誤信息,紅色報(bào)錯(cuò)等,全數(shù)收入。

通過簡(jiǎn)單的權(quán)限限制,為我方人員提供數(shù)據(jù)流水界面(開票人員不可見),方便統(tǒng)計(jì)與問題分析。

Web,Python與Command的化學(xué)反應(yīng),設(shè)計(jì)簡(jiǎn)單的權(quán)限控制

局域網(wǎng)內(nèi),開關(guān)機(jī),斷聯(lián)網(wǎng)均可能導(dǎo)致IP的變更,故我們選擇加域的計(jì)算機(jī)全名(其他唯一標(biāo)識(shí)也可,為確定具體人員,故我們選擇加域的計(jì)算機(jī)全名),作為權(quán)限控制切入點(diǎn)。

Web通過axios將接口數(shù)據(jù)傳給Python的flask,flask接收數(shù)據(jù)的同時(shí)獲取其請(qǐng)求ip,通過ip獲取計(jì)算機(jī)全名(Windows系統(tǒng)下通過nbtstat命令,linux下通過nmblookup命令,Python亦可通過socket.getfqdn(ip)等方式),通過域名獲取配置,以此判斷請(qǐng)求者所能看到的頁面(未配置則為默認(rèn)頁面);并且通過前端路由跳轉(zhuǎn),避免跳過權(quán)限檢查,直接訪問地址的情況。

Python的邏輯判斷與自動(dòng)化操作,像機(jī)器一樣運(yùn)轉(zhuǎn)

通過前端輸入的三個(gè)條件,Python后臺(tái)接收到接口數(shù)據(jù)后,進(jìn)行相關(guān)的業(yè)務(wù)判斷,包括且不限于數(shù)據(jù)檢查,數(shù)據(jù)核驗(yàn),開票池檢查,通過requests接口自動(dòng)化執(zhí)行定時(shí)任務(wù)以及執(zhí)行結(jié)果獲取,等一系列自動(dòng)判斷,不可開票則返回前端報(bào)錯(cuò),可開票則將獲得的數(shù)據(jù)傳入selenium操作的IE瀏覽器開票界面,進(jìn)行自動(dòng)開票。

為什么用IE?

開票業(yè)務(wù)系統(tǒng)本身設(shè)計(jì),在開票時(shí),是通過ActiveX調(diào)用本地的航信客戶端,進(jìn)行開票。所以,ActiveX,你懂得。

既然要調(diào)本地客戶端,問題豈不~

是的,問題多多

之一,我們排除了調(diào)用開票人員本機(jī)客戶端的方案(裝客戶端,設(shè)置IE,調(diào)用本機(jī)程序等,過于復(fù)雜)。

之二,我們根據(jù)當(dāng)前業(yè)務(wù)量,選擇使用一臺(tái)Windows終端機(jī)作為承載,所有的代碼部署和開票操作,均在此機(jī)器完成。

之三,開票結(jié)束后,因開票軟件本身的安全性限制,直接保存票據(jù)會(huì)丟失部分信息,故選擇使用pywinauto***化票據(jù)展示客戶端,通過Python進(jìn)行全屏截圖。

之四,截圖和日志一并保存在此機(jī)器上,前端通過接口直接請(qǐng)求即可查看詳情。

之五,拓展成長(zhǎng)方案:若使用linux部署web和python的業(yè)務(wù)邏輯的代碼,通過socket實(shí)現(xiàn)linux和Windows指令和數(shù)據(jù)的傳輸,Windows性能機(jī)作為IE開票和票據(jù)截圖的承載,以此來說,多臺(tái)性能機(jī)亦可承載分別的開票工作,故而實(shí)現(xiàn)并發(fā)的開票請(qǐng)求。

那么亂,還不歸納一下

整體來說,開票鏈路自動(dòng)化實(shí)現(xiàn)和問題解決過程如下:

  • 在Windows性能機(jī)上部署Python代碼和Web代碼,設(shè)置ip和端口,啟動(dòng)flask監(jiān)聽;
  • 開票人員即可通過相應(yīng)的http地址訪問開票頁面,輸入數(shù)據(jù),開始開票;
  • 接口接收到開票數(shù)據(jù),通過Python后臺(tái)的邏輯處理,有問題則返回前端,無問題則自動(dòng)調(diào)用IE開票,IE調(diào)用本地航信開票;
  • 開票結(jié)束自動(dòng)截圖保存在本地,過程日志同樣記錄在本地,開票流水日志記錄在MySQL;
  • 之后返回開票結(jié)果至前端,實(shí)際開票人員通過相關(guān)信息即可查詢票據(jù)圖片,開票日志,管理人員即可通過開票流水日志進(jìn)行相關(guān)的數(shù)據(jù)統(tǒng)計(jì)和管理工作。

總結(jié)

整個(gè)流程到此結(jié)束了,基本解決了我們聯(lián)測(cè)配合開票的問題。工具上線以來,測(cè)試人員不再需要中斷正在進(jìn)行的新項(xiàng)目去配合開票,提升了項(xiàng)目成員本身測(cè)試專注度,釋放了項(xiàng)目配合人力和時(shí)間約1.25人天/項(xiàng)目(單項(xiàng)目聯(lián)測(cè)人天3左右) ,提升開票效率近70%,我們抽取了一條開票數(shù)據(jù)的執(zhí)行l(wèi)og詳情,最直觀來展示復(fù)雜開票過程的效率:

蘇寧發(fā)票中心自助開票,測(cè)試自動(dòng)化減負(fù)初實(shí)踐

隨著時(shí)間的推移、項(xiàng)目的迭代和工具的完善,收益會(huì)也在逐步累加,配合開票真正的減負(fù)也開始突顯。而這一切的實(shí)現(xiàn)Python技術(shù)在測(cè)試自動(dòng)化中的應(yīng)用,起到了關(guān)鍵的作用。

下一版本規(guī)劃

本次雖然我們已經(jīng)實(shí)現(xiàn)了完整鏈路自動(dòng)開票的能力,但由于從開始著手做這個(gè)自助開票(2019.2.12)到完整實(shí)現(xiàn)上線使用(2019.3.11)僅用1月,有很多工作項(xiàng)還未開展,我們將在下一個(gè)版本加強(qiáng)幾方面功能:1、開票服務(wù)能力分析和優(yōu)化;2、***直接用戶體驗(yàn)提升,便捷高效的使用;3、多端多線程開票支持能力建設(shè);4、開票問題自動(dòng)處理機(jī)制等等。

期待我們下一個(gè)更優(yōu)的版本吧!

作者簡(jiǎn)介

仲崇瑞,蘇寧科技集團(tuán)員工平臺(tái)研發(fā)中心高級(jí)測(cè)試經(jīng)理,有多年的業(yè)務(wù)及產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn)和測(cè)試管理經(jīng)驗(yàn),負(fù)責(zé)集團(tuán)財(cái)務(wù)核算、財(cái)務(wù)共享、稅務(wù)會(huì)計(jì)及智能應(yīng)用等產(chǎn)品的測(cè)試及管理工作,涉及功能、性能、自動(dòng)化、安全等測(cè)試領(lǐng)域,帶領(lǐng)團(tuán)隊(duì)多次出色完成財(cái)務(wù)系統(tǒng)變革和切換的測(cè)試工作,致力于構(gòu)建蘇寧財(cái)務(wù)類自動(dòng)化測(cè)試產(chǎn)品解決方案,打造高效便捷的測(cè)試應(yīng)用產(chǎn)品。

金業(yè)帥,蘇寧科技集團(tuán)員工平臺(tái)研發(fā)中心測(cè)試開發(fā)工程師,負(fù)責(zé)測(cè)試工具產(chǎn)品的技術(shù)研究、實(shí)施,主要對(duì)接集團(tuán)財(cái)務(wù)、共享、稅務(wù)等系統(tǒng)的自動(dòng)化實(shí)現(xiàn),參與蘇寧發(fā)票中心,財(cái)務(wù)中臺(tái)等系統(tǒng)的自動(dòng)化測(cè)試開發(fā)工作。精通Python應(yīng)用接口\后臺(tái)\客戶端開發(fā),掌握Python與Java應(yīng)用、MySQL/hive/ES等數(shù)據(jù)庫(kù)調(diào)用技術(shù)及應(yīng)用調(diào)優(yōu);在自動(dòng)化測(cè)試框架實(shí)施過程中,有比較深入的分析設(shè)計(jì)能力和搭建經(jīng)驗(yàn)。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2018-11-12 12:45:19

2022-09-12 16:02:32

測(cè)試企業(yè)工具

2017-08-29 09:57:26

SaaS產(chǎn)品自動(dòng)化

2018-07-13 06:46:35

數(shù)據(jù)中心自動(dòng)化微服務(wù)

2020-06-17 09:13:21

數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)

2019-12-24 09:30:59

蘇寧高可用高并發(fā)

2021-09-07 09:00:00

開發(fā)測(cè)試工具

2023-02-07 08:11:15

2020-11-04 09:00:00

自動(dòng)化測(cè)試回歸測(cè)試軟件測(cè)試

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務(wù)

2012-02-27 17:34:12

Facebook自動(dòng)化

2022-02-17 10:37:16

自動(dòng)化開發(fā)團(tuán)隊(duì)預(yù)測(cè)

2013-05-16 10:58:44

Android開發(fā)自動(dòng)化測(cè)試

2014-04-16 14:15:01

QCon2014

2023-03-29 08:33:03

倉(cāng)儲(chǔ)自動(dòng)化系統(tǒng)

2011-12-23 17:09:57

自動(dòng)化測(cè)試

2021-06-30 19:48:21

前端自動(dòng)化測(cè)試Vue 應(yīng)用

2012-12-24 22:54:31

2017-09-06 16:08:45

JmeterJenkins自動(dòng)化測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)