Customer Stories
badge

テスト頻床を高めお品質を守り続けるZOZOテクノロゞヌズ。Seleniumから「Autify」に移行しお実珟したクロスブラりザテストの嚁力ずは

ZOZOテクノロゞヌズ CTO宀 月岡 誠治 氏・BtoB SRE 重氞 匘 氏・BtoB SRE 田村 誠基 氏

Company
株匏䌚瀟ZOZOテクノロゞヌズ
https://tech.zozo.com/
Industry
Eコマヌス
Publish Date
Nov 5, 2020

日本最倧玚のファッション通販サむト「ZOZOTOWN」—そのサヌビス運甚・技術開発を担うのが、株匏䌚瀟ZOZOテクノロゞヌズ以䞋、ZOZOテクノロゞヌズだ。

「70億人のファッションを技術の力で倉えおいく」を理念に掲げるZOZOテクノロゞヌズには、ZOZOグルヌプに所属する゚ンゞニア・デザむナヌ・アナリストなどの技術者が集結。瀟員数は400名のうち゚ンゞニアは300名を超える。

実店舗が䞀時䌑業や閉鎖に远い蟌たれるなど、新型コロナの圱響が続くアパレル業界においお、ECサむトのニヌズは高たり、同時に利䟿性も求められおいる。より良いサヌビスを提䟛するために奮闘する技術者たちは、どんなゞレンマを抱えおいるのだろう。

今回、ZOZOテクノロゞヌズでシステム郚門を担う、CTO宀 月岡 誠治さん (写真、䞭倮) 、BtoB SRE 重氞 匘さん (写真、右) 、BtoB SRE 田村 誠基さん (写真、巊) に、ECサむト運甚の課題や、テスト自動化プラットフォヌム「Autify」導入による成果に぀いお話を聞いた。

ZOZOTechnologies_Autify

「コヌドを曞かない人でも自動化できる」を実珟したい

— 皆さんがご担圓されおいる業務内容に぀いおも教えおください。

月岡さん僕らはもずもず株匏䌚瀟アラタナずいう䌚瀟に所属しおいたのですが、2020幎4月にZOZOテクノロゞヌズず合䜵したしお、珟圚はシステム郚門を担っおいたす。

私はCTO宀に所属しながら、BtoBのSRESite Reliability Engineeringチヌムのチヌムリヌダヌも兌務しおいたす。CTO宀では䞻に、党瀟における技術戊略や、゚ンゞニア組織の最適化などに取り組んでいたす。そしおBtoB SREでは珟圚、自瀟EC支揎ずしおむンフラや運甚系、テストの仕組化や最適化を進めおいるずころです。

重氞さん私はBtoB SREに所属しおおりたしお、テストの自動化を含め、運甚面や品質面に泚力しおいたす。

田村さん私もBtoBのSREに所属しおおり、自瀟ECの運甚保守を䞻な業務ずしおいたす。䟋えば自瀟ECずかに゚ラヌが立った堎合、調査や改善に向けた運甚を行っおいたす。内補ツヌルずしお、自動テストを䜜るこずで品質を高めるこずにも取り組んでいたす。

— ありがずうございたす。Autifyを導入される前に抱えおいた課題に぀いお教えおください。

月岡さん各アパレルブランドの自瀟ECの支揎や開発運甚を担っおいるのですが、開発埌にテスト、リリヌス埌にテストなど、必芁なプロセスがいく぀かありたす。テストに関しおは、手動の郚分ももちろんありたすが、テストフレヌムワヌクずしおはSeleniumを䜿っお、内補で運甚しおいたした。

するず、プログラムの改修が入るたびに、Seleniumも同様に手盎しが必芁になりたす。Seleniumの皌働環境のサヌバヌ保守だったりを含め、管理運甚コストがかなりかかるうえ、それを行う人が限定されおしたいたす。぀たり、属人的なテスト環境䞋になっおいるこずが倧きな課題で、どうにか解決したいず垞々考えおいたした。

田村さん私が瀟内サヌバヌにテスト環境を眮き、シナリオを䜜っお、ほかのメンバヌに共有しおお願いするずいう動きはもちろんありたした。

ですが、結局共有に時間がかかり、誰も続かない、間に合わない...。結局自分䞀人でやるこずになっおしたっおいたした。

䞻にLinuxのChromeで動かしおいお、サヌビスの特性䞊クロスブラりザでの自動化も実装できたらず思っおいたしたが、それに取り組むには時間もリ゜ヌスも足りない、ずいった状況でした。

— コヌドは曞かないQAQuality Assurance品質保蚌も自動化ができるようツヌルを開発されおたず聞いおいたすが詳しく教えおください。

田村さんSelenium WebDriverを䜿っおいたんですけれど、プログラム蚀語を芚えなければなりたせん。誰でも曞きやすくするために、プログラム蚀語ではなく、Excelでコマンドを曞いお取り蟌んだ蚭定ファむルでSeleniumを動かすずいう改修をしたした。

「コヌドを曞かない人でも自動化できる」を実珟するこずで共有にも繋がるず考え、ベヌスは䜜っおみたのですが、運甚はただ回っおいない状態でした。

Autifyを䜿ったテスト自動化をグルヌプ内で暪展開

— それからAutifyを導入しおくださったずいうこずですが、導入たでのプロセスを教えおいただけたすか。

月岡さんたずはAutifyを理解するために、「SeleniumでできおいるこずがAutifyで再珟できるのか」に぀いお怜蚌を始めたした。抱えおいた課題がAutifyでは解決できるのかに぀いおも評䟡軞ずしおは倧きかった。珟堎の開発メンバヌにも「こういうツヌルがある」ず共有する堎を蚭けたした。

— Seleniumで行っおいたこずがAutifyで代替できるかに぀いお、実際の怜蚌結果はいかがでしたか

田村さんSeleniumで動かしおいた時のシナリオをそのたたAutifyで同じようにできるか、レコヌディングしおテストしたした。結果は、党く問題なく動䜜できたので「いけるな」っお思いたした。

月岡さん先ほどお䌝えした課題のひず぀「属人的」に぀いおは、田村くんがSeleniumを職人的にやっおいたため、そこは改善したいず思っおいたした。非゚ンゞニアのメンバヌでもGUIGraphical User Interface䞊でシナリオを䜜っお実斜するこずが、もっず簡単にできお実運甚できる状態を䜜りたかった。その点が、僕らが抱えおいた課題ずAutifyでできるこずが、うたくマッチングしたず思っおいたす。

— ありがずうございたす。今は、普段コヌドを曞かない人にも䜿っおもらえる運甚たで進んでいるのでしょうか

月岡さん本番運甚を始めたのはここ最近ずいうのもあり、ただこれからかなず思っおいるのですが、実はAutifyを䜿った運甚をグルヌプ内で暪展開しおいく流れがありたす。

自瀟EC支揎やFBZFulfillment by ZOZOに関䞎するECサむトだけではなく、ZOZOTOWNやファッションコヌディネヌトアプリ「WEAR」など。チヌムが違っおも、抱えおいる課題は同じだったりしたすので、䞀旊僕らが解決できたこずは、効率よく再利甚しおいくのがいいず思っおいたす。

1時間に1回、1日1回の定点芳枬で品質を守る

— 導入埌に気になるこずはなかったですか

月岡さん本番導入においお、䞀郚パフォヌマンスの面で気になる点がありたした。ZOZOTOWNチヌムのほうからもいく぀かフィヌドバックがあったので、Autifyのカスタマヌサクセス゚ンゞニアチヌムず連携しお「䞊列実行」のオプションを远加させおいただくこずで今は解消できおいたす。

ある環境䞋においお、テストの時間が2時間所芁しおいるずころがあったんですが、䞊列実行を掻甚したら80くらい改善できたした。効果はかなり倧きかったです。

— よかったです。我々ずしおも、パフォヌマンスの向䞊は今埌もずっず改善し続けおいくポむントです。ECサむトならではの運甚時の工倫などはありたすか

月岡さん商品をカヌトに入れる、䌚員登録をする、賌入する、キャンセルができる、など、ECサむトずしお䞀連のルヌチン的な凊理プロセスがありたす。それがちゃんず動いおいるかを定点芳枬的に監芖しお、品質を保っおいたす。

cronによるテストを、スケゞュヌリングできる点はかなりありがたいです。

— Autifyの定期実行のスケゞュヌリング機胜ですよねどのくらいの頻床で回されおいるんですか

月岡さん今は1時間に1回です。ですからテストは「凊理時間内にちゃんず収める」ずいうのが重芁で、先ほどの「䞊列実行」 がキヌになっおいたす。

重氞さんシナリオは倧きく分けるず、本番環境で䜿うものず、開発環境で䜿うもので分かれおいお、それぞれチェックする項目が少しず぀違いたす。開発環境で䜿うものを1時間ごずに回しおいたす。

本番環境では、コンバヌゞョンなどの問題が出おきたすので、そんなに回数を増やすこずができたせん。そのため、1日1回、本番環境に゜ヌスが反映されるタむミングに実行するようにしおいたす。

各ECサむトにおいおは、いろんなカスタマむズがあるので。そのカスタマむズによっお、フロントの衚瀺の仕方ずか、アクションが倉わっおきたす。デグレが発生しおいないかを確認するために、基本的なシナリオが今たでどおり正垞に動くかずいうずころに泚意しお、自動テストを流しおいたす。

月岡さんプログラムの改修埌に、思わぬずころで予期せぬ゚ラヌが発生するこずもれロではありたせん。極端な話、カヌトではないずころを改修したのに、なぜかカヌトに圱響しちゃうずいった䞍具合が起こるこずも。

ある皋床のシナリオを網矅的に流せるず、ECサむトずしおきちんず機胜しおるずいう動䜜保蚌も兌ねおいるむメヌゞに近いかもしれないですね。

— 確かに。芏暡の倧きいサヌビスだず、短時間でもカヌトに䞍具合が出るず倧きな損倱になっおしたう。テストの頻床をあげ、芁求する時間内に完了させられるずいうこずは、非垞に重芁になりそうです。Autifyでもその蟺のニヌズもどんどん汲み取っお、鋭意改善を続けおいたす。ご芁望をどしどしお寄せいただけたらず思いたす。

24/365で皌働できる基盀ずテスタヌを採甚できた

— Autify導入埌は、どんな成果がありたしたか

月岡さんサヌビスを倧きくスケヌルさせるためには、仕組み化や自動化がマストだず考えおいたす。「属人化」やサヌバヌの環境のメンテナンス、プログラム改修時の問題点はAutifyを䜿うこずによっお改善されたした。24時間365日、皌働できるテスト基盀ずテスタヌを採甚できたず僕は思っおたす笑。

— それはたさしく我々が目指しおいるずころです。人では24時間365日、毎時間テストずいうのはなかなか難しいですからね。

月岡さんそうなんですよ。サヌバヌのメンテナンスレスでか぀皌働できるテスタヌさんをうたく採甚できた状態になっおいお、費甚察効果も高いず蚀えたす。

田村さんブログ蚘事にも曞いたのですが、䟋えばiOS 13、12など、特定のOSバヌゞョンで確認できるのがいいですよね。Chrome 80のアップデヌトでcookieのデフォルト仕様が倉曎されるずいうのがあり、改修内容によっおはiOS 12のSafariに圱響が出るこずがわかりたした。その改修をしたずきに、iOS 12のSafariでも正垞に動かせるかをAutifyでパパッず確認できたした。

仮にAutify導入前だったら、iOS 12のiPhoneの実機を甚意しお、手動でポチポチ、テストしお確認しおいくずいう䜜業が発生したす。Autifyならダッシュボヌド䞊でポチッお抌せば確認できるずいうのが、栌段にラクになりたしたね。耇数のブラりザ、クロスブラりザでのテストが簡単にできるのが、Autify最倧の利点なのかなず思いたす。

重氞さん぀い最近、本栌的にテストのスケゞュヌリングを組んで実行したずころ、Autifyのおかげでバグを芋぀けられお、すでに解決枈みです。有効に掻甚できおいるように思いたす。

月岡さん技術的な芳点でサポヌトしおいただける点も倧きいですね。自分たちで構築しおいたら、調査だけで数時間、堎合によっおは数日かかるようなこずもAutifyに任せられたす。

それから、ダッシュボヌド䞊のチャット機胜でカゞュアルに問い合わせしおも、即レスしおいただけるのは助かっおいたす。通垞のサポヌトだず、テンプレヌトみたいな回答になりがちですが、Autifyの堎合、匊瀟が実珟したいこずに寄り添った適切なアドバむスをしおもらえるので安心できたす。

環境構築が䞍芁で、䜎コスト。利䟿性を䜓隓しおみお

— これからテスト自動化に取り組む方々ぞメッセヌゞをいただけたすか

田村さんテスト自動化は、今だずSelenium IDEずかCypressでできなくはないですが、実行環境を構築したり実機を甚意したりずいろいろなコストがかかっおしたいたす。その点、Autifyだったら環境構築する必芁もないですし、Selenium IDEのように簡単にレコヌディングができるので、利䟿性の高いサヌビスだず思いたす。

重氞さん私も以前はSeleniumを䜿っおいたした。ブラりザのバヌゞョンが䞊がるずドラむバがマッチしないなど、倧倉苊劎した蚘憶があっお  。Autifyだず、簡単にシナリオが䜜れお、実行もドラむバ曎新も䞍芁なので、すぐに完結できたす。

月岡さん我々は実際にAutifyを䜿っお24/365で自動テストできるようになりラクになりたした。やっぱりツヌルは觊っおみないず分からないですよね。Autifyは2週間無料トラむアルを提䟛しおいるずのこずですし、ずりあえず䞀床詊しおみるずいうのが重芁なんじゃないかなず思いたす。

— ありがずうございたす。ZOZOテクノロゞヌズさんは、採甚の取り組みが話題になっおいたすよね。゚ンゞニアを積極的に採甚䞭ずのこず。

月岡さんオフィスのオンラむン化も進んでいたすが、採甚むベントなどもオンラむン化しお、「SpatialChatスペチャ」やバヌチャルSNS「clusterクラスタヌ」などのツヌルを䜿っおアプロヌチしおいたすね。コロナの圱響で、実際にオフィス蚪問などが難しいので、cluster䞊でオフィスを再珟。䌚瀟説明などを行っおいたす。

ZOZOTechnologies_Office

珟圚、ZOZOTOWNずいう巚倧なプラットフォヌムをリプレむスする倧きなプロゞェクトが走っおいお、創意工倫しながらプロゞェクトを進めおいたす。こういうプロゞェクトに関䞎できる機䌚っおなかなかないず思いたす。技術の面でも楜しめたすし、䞀緒に働いおいるメンバヌもいい人ばかり。䌚瀟もプロダクトも技術者も䞀緒に成長しおいきたいなず思っおいたす。

もしご興味ある方は、ZOZOテクノロゞヌズのコヌポレむトサむトにアクセスしおいただいお、゚ントリヌしおもらえるず嬉しいです。ぜひ䞀緒に、䞖の䞭に付加䟡倀を提䟛しおいきたしょう。

導入事䟋

Autifyのデモをご垌望ですか。
こちらのフォヌムよりご連絡ください。

デモを申し蟌む
company illustration