Turnip+Appiumで使ってキーワード駆動のシナリオテストが実施できそうね

Genymotionの制御用引数がAppiumにプルリクされている所をみて、AppiumのOSSとしての成長加速時期がき始めているのかなと感じる最近です。Appium 0.17.3の次のリリースで含まれるのでしょうか。Androidの検証基盤としても本格的な立ち位置になりそう。 今日はStory Testでお世話になるであろうData / Keyword Driven Testingを少しおさらい。More

CIで何回も回すから味の出てくるテストケースを考えてみる

テストの価値の話し。 前提として、銀の弾丸のように様々なシチュエーションに耐える話しではないことは断っておきます。 ソフトウェアテストを知っている人の場合、ランダムな値をテストのインプットとすることは良くないと考える方が多いと思います。一方で、最近ではコミットごとにCIをぐるぐる回すような開発環境も日常化してきました。その、CIをコミットごとにぐるぐる回す環境を活かし、ランダムな値をテストに取り入れ、より効率的なテストができないかとここ数ヶ月思っています。 結論から言えば、同値に区分される入力値に関して、1つのテストケースにおいてCIをまわすごとに異なる値を入力とする機構を仕込むことで、CIをまわせばまわすだけ、1つのテストケースでまわしただけの組み合わせにて入力値の確認ができる、という形です。 ここで、同値に区分されるべき値の中からランダムに要素を選ぶので、試験を失敗するということは実装を誤っているか、テスト(想定する振る舞い)を誤っているかのどちらかといえる可能性があり、それに気づくことができます。More

ruby console による、コマンドライン越しのAppiumによる画面要素取得

Appiumのチュートリアルが充実してきましたね。 中でも、以下のconsoleによるチュートリアルは役立ちそう。 まだチェックしてないですが、チェック。 https://github.com/appium/training/blob/master/modules/source/appium/01_ruby_appium_native_ios_automation/02_appium_ruby_console/04_starting_the_console.md あと、動作確認しましたがSelenium 3に向けて、以下のようにcapabilityは修正されていく模様。動作確認も、一応してみました。More

Selenium3のCapablityのDraftにappiumが出てきましたね

Appiumの0.17.3がリリースされてましたね。 あと、Selenium 3のspec draftにて、capabilityにappiumなどが追加されてきましたね。 https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile ======= Desired Capabilities ——————– New desired capability keys: * `automationName`: specific automation tool, e.g., `appium`, `ios-driver`, `selendroid` * `platformName`: platform to automate, e.g., `Android`, `iOS` * `platformVersion`: platform version e.g., `4.3` (for Android) or `6.1` (for iOS) * `deviceName`: specific device names including version information, e.g., `Nexus 4`, `iPhone 4S`,…More

Appiumの不安定なところいくつか

Appium 0.16.0 がリリースされましたね! さて、iOS/Androidともに動作確認しているのですが、いくつか出くわした現段階の不具合を備忘録かねて共有です。More

受け入れてテスト自動化に向けて

も少しいろいろ考えてみたけれど、受け入れテストを実際に書く場合、 1. Turnip部(.feature, .step)には主要ストーリ、変更の少ない箇所を記述する。featureの記述者の想定はユーザストーリーを描く人ら。 2. RSpec部で、より細かな確認事項を書く とするのはどうかなと思い始めた。 というのも、保守観点を意識すると、RSpecのほうがエンジニアは保守しやすいのではないかなと。 私自身、RSpecのほうが気軽にかけましたし。More

受け入れ試験レベルの抽象度のシナリオを、Appium x “RSpec or Turnip”で比較してみた

最近、スマホアプリの受け入れテストの機能的側面を自動化する場合、どのような手段が妥当なのか?ということを考える。 それを、Appiumを基本に、RSpecとTurnipの2つを中心に比較して考えてみる。 どちらを選択したら良いのかなということに対して結論からいうと、何がよいのかという判断自体は – 誰が受け入れ試験のシナリオを記述するか – 誰が自動化コードをメンテするか – どのような開発スタイルか に大きく依存しますかね。More

TurnipでAppiumを使ってみる

AppiumはRSpecでシナリオの記述が可能。さらにはCucumberも可能ということなので、ついでにTurnipでも実行可能なのか試してみました。 結果としては可能なのですが、以下、いくつか試したことをピックアップ。 試したときのファイル構成は以下の感じ。More