Docker × Android エミュレータで、自動テスト(Appium)を並列化・爆速にする環境を作ったお話 これは Mercari Advent Calendar 2018 10日目の記事です。 こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA) の 根本 征 です。 私は普段、テスト自動化・CI / CD 改善・その他社内の生産性を上げるための自動化を行っています。 今回は、Android・Appium の自動テストを 20~30台のエミュレータで並列実行できる 環境を作成したので、その試行錯誤についてお話したいと思います。 これまでの Android 自動テスト環境とその課題 Docker-Android クラウドでどう実行させたか 仮想マシンの入れ子(Nested Virtualization) を有効にする ベアメタルイン
はじめに PITを使用してKotlinなAndroidプロジェクトでMutation Testingを導入するまでのメモです。 Mutation Testing テストコードが正しいかを計測するために、Mutant Testingという手法があります。 Mutant Testingではプロダクトコードを機械的に変更し、変更されたコードに対してテストを実行します。そしてテストが失敗するかを確認することで、プロダクトコードの振る舞いの変更をテストコードが検知できるかをチェックする手法です。 ミューテーション解析 - Wikipedia 今回はMutation TestingツールとしてPITを紹介します。PITはJavaとその他JVM言語用のMutation Testingツールです。検索するときはpitestで検索すると良いです。 PITの素晴らしい点は、3rdパーティー製Android用G
先日、Kyash のAndroidアプリのUIテストをEspressoで書いてCIで回すようにしました。 ユーザー登録、ログイン、カード登録のテストが、毎晩元気に走っています。 きっかけはKPTです。iOSでログイン直後に発生するユニットテストでは気づけない問題が見つかり、 Problem として上がってきました。 テストケースを15項目くらいSpreadSheetにまとめていて大きなリリースの時は手動で確認していたのですが、なぜか「今回はやらないで大丈夫」と判断した時に限ってバグが発生するんですよね。また、手動のテストケースはミスや形骸化しやすいので、 Try としてテストケースの一部を自動化してみることにしたのでした。 Espressoでテストを書く時は、@sumio_tymさんの素晴らしい資料があるので、下記2つを読んでおけば間違いないと思います*1。 DroidKaigi2017
終了 2017/09/21(木) 19:15〜 Android Test Night #1 テストについて話し合う夜 tarappo 他 東京都渋谷区渋谷2-21-1 ヒカリエ21F
12. JUnit5とAndroid Gradle Pluginの相性 JUnit platform gralde pluginは java プラグインを要求する ソース見たら真っ先に自動でapply してた Android Gradle Pluginは java プラグインと共存できない java プラグインが使用されていると前ページのエラー発生 どちらかがなんとかしてくれないと多分無理 きっとTest Support Libraryがどうにかしてくれる コンソールランチャーとか持ち出せば現時点でもどうにかなる かも? 15. // プロジェクトルート or Javaライブラリモジュールのbuild.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'org.junit.platfo
概要 Kotlin使ったらMockitoさんがキレたのでMockMackerプラグインを入れた。 経緯と詳細 最近Androidアプリ開発でうだうだしているので触っているKotlin。良い感じなのだが、すべてのクラス・メソッドがfinalになるのでMockitoさんがキレる。 Mockito cannot mock/spy following: - final classesMockito cannot mock/spy following: - final classes ... もーヒートアップしないでくださいよ。 Webでこの話を追うと、当初この問題で行われたアプローチが3つ。 クラスを全部 open にする テストのためだけにコード変更するのやだなあ インターフェースにしよう テストのためだけにコード変更するのやだなあ PowerMock使え Mockito2以降への対応が今一つで
技術部の松尾(@Kazu_cocoa)です。 クックパッドのモバイルアプリ開発では、どのようなテストを書き、どのようなタイミングで、どのようなテストを実施するか?に関してエンジニア各位が意識を合わせるためにテストサイズを定義し運用してきました。ここでは、そんなテストサイズに関して簡単ですがまとめておこうと思います。 テストサイズとは ソフトウェアテストに関わったことがある方なら テストレベル という言葉には出会ったことがあるかと思います。JSTQBでは、このテストレベルは"管理していくテストの活動のグループ"と定義しています*1。 そうでない方も、俗に言う単体テスト/統合テストなど聞いたことがあるかと思いますが、その区分がここで示しているテストレベルとなります。 一方、このテストレベルはV字型と言われる開発工程と合わせて世の中で広く使われているため、社内における共通認識を構築するにあたり個
Open Sourcing Test ButlerReliable Android Testing, at Your Service Automated testing is a key component to LinkedIn’s 3x3 strategy for releasing mobile applications. As we developed the new LinkedIn Android app, we found that our tests had a major problem: our testing environment was unreliable, so our tests failed intermittently. We needed a solution that would let us rely on our tests to inform
[Docker][Android] DockerでAndroidエミュレータを動かしGradleによるビルド&テストを実行 前のエントリ で書いたように、Dockerを使ってAndroidのテストをすることができる。 さらに色々なパターンのテストを試していこうとVagranfile, Dockerfileに続きAndroidのテスト集を作成(以前からあったがいくつか追加)。 https://github.com/ksoichiro/android-tests 以下は、Docker上のAndroidエミュレータでテストをする例。 https://github.com/ksoichiro/android-tests/tree/master/docker-emulator 比較のために通常のGradleによるインストールなども記載してるがメインはサイトの test.sh の実行部分。 ここで A
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く