Automationはじめまして!QAエンジニアのkinoshです。みなさんは「自動化」と聞いて、どんな期待をしますか?生産性アップ?高い品質?スピード?いろいろな期待があると思います。現在メルカリQAでは、繰り返し行われる部分や、機械のほうが得意な部分をどんどん自動化して、節約できた時間を、人間しか見つけられない作業(不具合を探索したり、仕様からリスクを洗い出したり)に使っていこうと日々奮闘中です。この記事では、最近私が主導で進めたテスト自動化について、自身が学んだ知見などを共有いたします。Test)が同じチームで品質を支えています。それぞれの役割については以下の記事をご確認ください。tech.mercari.comリグレッションテストに関しては、全体の件数の約3/4が自動化され、簡単に実行できるようになっています。これについては以下の記事でも詳しく解説されています。tech.mercari.comこの成果をQAエンジニア視点から振り返ると、大幅にリリース前の工数を削減することができています。自動化できる項目を増やしていく作業はなかなか大変だったようですが、月に2〜3回クライアントリリースを行なっているメルカリでは、非常に効果の高いものでした。一方で、クライアントリリースよりもリリース機会の多いAPIに注目し、APIの自動テストを行おうとしていました。こちらは思うように進んでいない状況でした。進めるにあたり、APIエンジニアと「どこをテストすると品質向上に繋がるのか?」なども議論しました。そこで出てきた課題としては、単体テストはAPIエンジニアが担当していますが、それぞれのAPIを組み合わせて呼び出す部分のテストが弱いということがわかりました。APIの組み合わせといっても膨大であり、さらにそれらを全網羅するとなると、どこから手をつけていいのか、影響範囲が増えすぎてしまう、など課題は山積みでした。結局のところアプリを介して実行するため、実行するのに時間がかかってしまい、スピード勝負なところもあるAPIのリリース前に利用されないかも?既に自動化されていたリグレッションテストでカバーできている範囲もあるのではないか?となかなか進まず、悩んでいました。した「めんどくさい」を自動化APIの自動化について考える日々が続きましたが、なかなか進まなかったので思い切って別のアイデアを試すことにしました。それは、メルカリボックスの自動化です!メルカリボックスはまだ新しい機能で、メルカリでわからないことをみんなで相談できる公式Q&Aです。スマホアプリからWebViewで呼び出しており、ブラウザ上でも動作するので、WebDriverといったよく使われている技術をテストに使えます。自動化の進め方を考えたときに、既にたくさんの機能追加などが平行して走っていて余裕がなかったため、しっかりとした項目書を考えて、それを自動化していく・・・というリグレッションテストで経験した進め方は、ちょっと億劫でした。そこで簡単な最低限のテストに絞り、しっかりとした項目書は作らず、自動化して欲しい機能一覧を洗い出しました。ベストスッキリが押せる細かい手順などはSETに伝えずに、実際に使ってもらいながら、シナリオ化していく形をとりました。いつもテストで確認している箇所を伝えただけでとてもローコストでした(笑)。この自動化に失敗しても諦められると考えました。基本機能として毎回やっていたテストは自動化された追加機能などで、新しくやる必要があるテストに集中できる状態となり、私個人としては、毎回のテストがかなり効率的に進められたように感じています。深く考えると、リリースしたばかりの新機能のため、細かい不具合改修や機能追加などがたくさんある時期だった徐々にQAエンジニアのテスト待ちが増えてきてしまった「基本機能の確認」は、どのテストでも実行する必要があったと、自動化するにはぴったりな状況だったのかもしれません。まとめ今回の経験を通して、QAエンジニアとして学んだことをまとめてみます。自動化を進める前に、「何が面倒なのか」を考えました。私にとって面倒だと感じることは何か?どの部分が面倒なのか?それはなぜか?自分なりに考えをまとめたおかげで、少なくとも「私だけは楽になるだろう」と自信が持てました(笑)。次に、「誰のための自動化なのか」です。いまのところ利用者は私だけかもしれませんが、今後のことを考えると誰でもできるようにしておきたいです。すると、「簡単に実行できるか」も大切な要件です。いまは、JenkinsのJobを「ポチッ!」っとしていて、それだけでも充分楽ですが、今後はSlackからBotを介して実行できるようになるそうなのでとても期待しています!今回紹介したものは、繰り返し行うテストの自動化でしたが、人間がテストするには大変で手がつけられていないテストの自動化も進めていき、メルカリ全体の品質の向上に繋げてられたらいいなと思います。Bugを探してみてください!!正解がわかった方はこちらまで。そんなキーワードに関心のある方が集まるグループです。アンケートにお答えいただいたからから随時承認中です。ご協力お願いいたします。...QAエンジニアの@____rina____です。...2018-03-26Androidの自動E2Eテスト用端末ラックを刷新してみたこんにちは。採用情報メルカリは常に優秀なソフトウェアエンジニアを募集しています。ご興味を持たれた方はぜひご応募ください。skills月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。