著者:周リー(ジンを尋ねる)、アリゴールドのドレス技術専門家。アリペイのサービス機能から、本論文では、無線支払い実験宝のクラスタ進化と開発の詳細な分析、そしてどのようなIoTと人間とコンピュータの相互作用を探索し、リアルタイム着陸プログラムを提供しています。
ライブビデオ(オープンブラウザにアドレスをコピー):
http://t.cn/AiKDZg5G
0.5背景
国家レベルのアプリケーションとして、Alipayのクライアントは、億人のユーザーに幅広いサービスを提供する必要があるので、顔の安定性と信頼性の適用は大きな課題、改善と最適化を継続する必要があります。
今日、私たちはビューのサービスポイントの品質のラウンドモニタリングと最適化を放置し、研究から、自動化ソリューションによって、オープンソースの使用から、ターミナルラボアリからの移行パスを探索し、徐々に無線技術の実験的クラスタシステム、アリペイを改善するために始めました内部は、同様にモバイル開発プラットフォームmPaaS外部出力のために適切な技術的なインフラストラクチャを使用する方法として、ビジネスシナリオ演習のようなものを経験しました。
1.開発
全体的に、生まれてから今まで、端末ラボアリは、(台湾のツール、サービス、技術など)3段階の合計を経験し、各ステージは、その特性と意義を持っています:
- ツール段階:
このフェーズでは、iOSとAndroidのの終わりを覆うようクライアントAppiumなどのオープンソースソフトウェアベースのオープンソースソフトウェアを使用して、主流の市場では、オープンソースのツールとこのようバインドアプリケーションのテストプロセスでは、言及に迅速にビジネスニーズ側を満たす測定(などの基本的な機能テスト、互換性テスト、など)一般的に、ビジネス側の自動化テストを支援します。
- サービスの段階:
バオが開始分離前と後の支払エンドの開発プロセス、そして徐々に独立したR&DプロセスのAppエンドシステム(R&Dアプリケーションのビルドプロセスとコラボレーションプロセス)を析出さ:ステージプレゼンスサービスが重要な背景です。単体でアプリ開発プロセスおよびシステムは、アプリケーションの開発とコラボレーション、プロセスの自動化、ユーザーのサービスの形でターミナル実験室のサポートは、毎日の仕事を満たすために、だけでなく、リリース前に継続的インテグレーション、毎日自動テストパッケージを再生します日々の品質データは、クライアントのコードカバレッジの統計として、サポートを提供するためにリリースされた。またに、などの作業。
- 台湾の段階では:
そして、端末研究所の機能を使用するとすると、最適化を向上させ、徐々にテストの規模を拡大し、サービスだけでなく、アリゴールドのドレスシステムのApp(アリペイ、口、ネットワーク事業者、銀行、などの単語)日々のテスト要件を満たす必要があるが、また、カバーに全体を拡散する機能が必要アリババグループの事業。
研究室に続いては、ビジネス側の需要とカスタマイズ機能の様々な直面する必要があり、どのように多様かつ複雑なビジネス環境、ビジネス側または上流の完全なシステムを構築する能力?この問題では、ターミナルラボが徐々に安定すると駅のプラットホームの建設を開始:一方でユニバーサルサービスを作るためには沈み続けて、その動作特性に応じて、ビジネス側の特定の能力構築を可能にする他の抽象標準のSDK、。
また、端末開発研究所のプラットフォームを構築しながら、このような実験室でのネットワークの構築、実際の実験室の実験室スイープのシリーズをコーディングする機能など、Alipayのビジネスシナリオを、一緒にフィット。
継続的な開発の経験を積んだ数年、トランジションの実験室の端末段階の段階的な完了、サービスの一般的な能力、アプレットのアクセス、研究開発プロセスの構築、実機をカバーする、その側でのAndroid、iOSとのIoTデバイスをカバー例のレンタルおよび制御することにより同様。
2.技術エコシステム
コース終了は、端末ラボを理解した後、我々は彼らのサービスを包括的に理解を持って提供することができます。プラットフォーム・サービス機能、クライアントSDKと実験室の容量:我々は、これらのサービスを要約し、分析するために行ったとき、あなたは3つの部分に分かれ、これらの特定の機能を置くことができます。
- プラットフォームのサービス機能
ターゲットプラットフォームのサービス能力が重視され、「よりオープンなプラットフォームにアリの研究室を構築する方法に、」私たちはアイデアのためのプラットフォームを構築する参加を構築する能力、とより多くのビジネスとシステムの上流側を取得する方法を検討する必要があります実験装置クラスタとオープンSDK:二つの部分に分かれて。
1.デバイスクラスター
蟻の研究室では、学生が日常業務の自動化テストを完了を助けるために、携帯電話端末市場の大半をカバーするだけでなく、公共の端末装置の数千人が含まれていますが、また、自作の実験室でのユーザーの方法を提供します。ユーザーは、特徴的なビジネスシナリオに応じてのみ必要機器の調達、ラボ展開は、彼らは独自のプラットフォーム上で、独自の機器を実行する能力を持っています。
プラットフォームパースペクティブのオープンと動的配置から、現在のデバイスのクラスタは、ビジネスが互いのプラットフォーム独立で使用できることを保証するために、完全分離を達成するために、その装置の所有権及びビジネスシナリオを確実にします。また、アリババグループ、R&Dセンターの数、の顔はまた、互いに分離配置に展開マルチデバイスのクラスタをサポートしています。
2. SDK
为了给上游系统和用户提供更为开放的能力,帮助业务方根据自身需求完成能力建设。终端实验室提供开放的 SDK 能力:上游系统只需在自己服务上接入 SDK,就能够完成任务构建链路,从用例管理、设备选择、任务执行,到执行结果回调,在此基础上用户就能够根据自身业务特点将业务数据进行多维度组合,形成自己的能力输出。
- 客户端 SDK
终端实验室经过几个阶段的发展,不仅提供 UI 自动化框架能力,而且在一些复杂场景做了深入研究和落地的工作。在这里我们以令大家头痛的“App 兼容性验证”作为切入点,结合目前常用的几种机器学习方案,分析方案的优缺点,最终形成了终端实验室的解决方案。
一方面伴随着移动互联网的快速发展,目前市面上手机的品牌和型号层出不穷,如何快速准确的验证 App 的功能在不同类型手机上运行有效性与稳定性,的确是件困难的事情;另一方面,目前针对图片的机器学习技术日益成熟,其图识别的准确性也完全能够满足日常兼容性的要求。
通常来说兼容性测试会采用两种方式:1.图像相似度计算;2. 无监督的异常点聚类。 这两种方式在使用方式和结果输出都有其优缺点:
- 对于“图像相似度计算”来说,其异常图片的识别成功率非常高,但其前提条件比较苛刻:用户需要对每一版 App 以及每一个业务点进行图片搜集和上传,而往往每条用例可能会包含少则几张图片多则十几张图片,对于几百、甚至几千条测试用例来说,就算是一版 App 的期望图片搜集工作都是巨大的,何况目前移动互联网普遍都是快速迭代发布,所以导致了这种预先处理图片的方式是不太可行的,下图是一般意义以图搜图的数据流:
- 另一种常用的方案是直接将同一业务场景下不同手机的一组截图交给无监督的异常点聚类算法处理,这种方案的优点比较明显:对于用户和平台来说,没有增加的额外的工作量,操作简单,但带来的问题是,计算出来的结果并不完全可信,特别是在一些极端情况下(如某一类异常图片总数较多的情况),少数正常的图片反而会被识别成异常图片,告知给业务方。
对比以上两种技术方案,终端实验室在兼容性异常图片发现上采用了更加灵活的方案,通过手机端“异常目标检测”和服务端“异常点聚类”相结合的方式完成目标。
首先,平台搜集常见异常图片,并训练成模型,植入手机端。
其次,当用户执行兼容性测试的时候,在手机端完成一部分“常见异常图片”的发现工作。
再次,当任务执行完后,服务端将剩下一部分图片交给““异常点聚类”处理,并进一步是被不同的图片。
最后,在整个执行任务结束后,平台就能有效识别异常图片,另外当异常图片未被有效识别的情况下,又可以在平台上快速提交异常图片,并交给算法逻辑继续学习,形成新的模型,从而在下一次任务执行过程中,就能把这种新发现的异常捕获住。
通过这种灵活的方案,一方面大大提升了异常图片检测结果的准确度,另一方面在整个异常图片的发现上形成了闭环,大大提升的兼容性测试的效能。
- 实验室能力
为了应对日益复杂的用户使用环境和不稳定的运行环境,终端实验室不断去构建各种专项实验室,尽可能在实验室环境里就把问题发现并推动研发流程去解决。同时伴随着 IoT 时代的到来,面对种类繁多的终端设备,如何能够通过实验技术的手段帮助研发同学提升效能,是一个新问题也是一个比较有挑战的问题:终端实验室通过托管 IoT 设备的方式,让用户快速方便寻找设备,并进行功能验证。具体技术方案是在原有的 Android/iOS 真机租用方案的基础上做了能力升级。
第一, 将终端实验室上某一款手机和 IoT 设备做关联,保证当浏览器通过 WS 远程操作手机打开摄像头就能够看到对应的 IoT 设备;
第二,通过 WS 读取 IoT 串口的 trace 信息,并将数据以 WS 的形式推送到用户浏览器端;
第三,在宿主机上集成 IoT 设备操作的 SDK,保证宿主机能够通过命令行或者 HTTP 方式操控 IoT 设备;
第四,宿主机集成语音转文字 SDK,这样当 IoT 设备发出声音时,就能够在页面上以文字的方式告诉用例。
通过这种远程 IoT 租用的方式,用户就能够快速做作一台远程设备,另外在给 IoT 设备发送指令的同时,可以看到设备的相应信息(视觉展示、声音展示以及实时日志信息),从而达到快速验证的目的。
- 机械臂扫码测试:
- 智能机柜支持真机云测
3. 借助 mPaaS 对外输出
以上介绍的蚂蚁金服终端实验室相应能力的构建与实践,目前已经通过移动开发平台 mPaaS 对外输出一部分能力。
在 mPaaS 平台上,我们将自动化测试框架,真机调度管理,场景化测试方案以及详尽的测试报告方案整合外部客户的现有业务场景和系统,从而覆盖 App 开发期的各个阶段,确保应用上线前获取充分测试,发现 bug,减少线上问题,提高整体用户体验。
目前,终端实验室不仅对内服务了包括蚂蚁金服体系下的支付宝 App、网商银行、口碑商家等,同时借助 mPaaS 与大量生态合作伙伴一同共建能力,包括常熟农商行、西安银行、泰隆银行等。由于篇幅限制,很多技术要点我们无法一一展开,欢迎大家通过技术文档或点击“阅读原文”进一步了解 mPaaS :https://tech.antfin.com/docs/2/49549
| 活动推荐:MTSC 2019 测试开发大会
MTSC2019 第五届中国移动互联网测试开发会将于 6 月 28-29 日在北京国际会议中心举行,50+ 来自 Google,BAT,TMD 等一线互联网企业的测试大咖分享精彩议题,涵盖移动自动化测试、服务端测试、质量保障 QA、高新测试技术(AI+、大数据测试、IoT 测试)等专题。
蚂蚁金服多位技术专家将在大会上分享精彩议题,解密蚂蚁金服内部移动测试 2.0+ 演进之路、代码实时染色系统如何完成代码覆盖率检测等,期待与你交流。
往期阅读
《蚂蚁金服 mPaaS 服务端核心组件:亿级并发下的移动端到端网络接入架构解析》
《mPaaS 核心组件:支付宝如何为移动端产品构建舆情分析体系?》
关注我们公众号,获得第一手 mPaaS 技术实践干货
钉钉群:通过钉钉搜索群号“23124039”
期待你的加入~