タグ

testingに関するshimookaのブックマーク (288)

  • GUIテストツール一覧 - Qiita

    GUIテストツールについての比較 現場にて:GUIテストツール導入にあたり 「メリット」 と 「デメリット」 を纏めてみました。 (昨今、ツールの数が多く何がどのテストツールがマッチしているのかも含め。) 今まで色々とGUIテストツールの導入検討してきましたが、業務タスクに沿った選定ができればと思い、纏めております。 もちろんツールには有償・無償ありますが、「費用対効果も含め」 選定ができれば尚良し。 Seleniumファミリーだけではなく、最近のトレンド傾向も調査。 Selenium(WebDriver) E2Eテストの王道、WebDriverに依存するため最新ブラウザには注意が必要であるが、プログラミングライブラリが豊富。 ※Seleniumは、テストツールではなく 「ブラウザ操作ツール」 であるがここでは「テストツールグループ」に入れておく。 Eclipseを使用しての実装パターン

    GUIテストツール一覧 - Qiita
  • テストコードが増えるとバグは減るのだろうか? / Does more test code mean fewer bugs? - Speaker Deck

    Transcript ςετίʔυ͕૿͑Δͱόά͸ݮΔͷͩΖ͏͔ʁ�� ʮ���ˠ������ʯͰݟ͑ͨੈքͷ࿩� גࣜձࣾ;0;0ςΫϊϩδʔζ� ;0;0508/෦�J04νʔϜ� ໊औ�߂ฏ Copyright © ZOZO Technologies, Inc. © ZOZO Technologies, Inc. גࣜձࣾ;0;0ςΫϊϩδʔζ� ;0;0508/෦� J04νʔϜ ໊औ�߂ฏ 2019೥2݄ΑΓݱ৬ɻ ZOZOTOWN iOSΞϓϦͷ։ൃΛ͍ͯ͠·͢ɻ झຯͰݸਓ։ൃ΋ɻ 2 © ZOZO Technologies, Inc. 3 ���ˠ������ ʹ ͜ͷ�೥΄ͲͰ૿Ճͨ͠ςετΧόϨοδͷׂ߹ © ZOZO Technologies, Inc. 4 ���ˠ������ ����� ˞ܭଌର৅͸͜ͷ�೥ͷ։ൃͰؔ༩ͨ͠ϑΝΠϧʹߜ͍ͬͯΔ © ZOZO Te

    テストコードが増えるとバグは減るのだろうか? / Does more test code mean fewer bugs? - Speaker Deck
  • GitHub - DevExpress/testcafe: A Node.js tool to automate end-to-end web testing.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - DevExpress/testcafe: A Node.js tool to automate end-to-end web testing.
    shimooka
    shimooka 2020/06/19
    これはすごい
  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
  • Redirecting…

    Redirecting… Click here if you are not redirected.

    Redirecting…
  • Webの自動テストのこの1年を振り返って | メルカリエンジニアリング

    Mercari Advent Calendar 2019も、この記事を入れてあと3個となりました。最後まで読んでくださいね。 23日目はAutomation&QAグループで、Webのテスト自動化を行っている@AHA_oretamaがお送りします。 今回はWebの自動テストについて、この1年やってきたことを振り返ってみようかと思います。 Webのリアーキテクチャ 現在、Webではリアーキテクチャを進めています。 進め方としては既存のモノリシックなWebアプリケーションを残したまま、パス(例えばトップ /jp/ や検索ページ /jp/search/ )ごとに新しいWebアプリケーションにマイグレーションする方法をとっています。 影響範囲を小さくしつつその範囲の中でチャレンジが行えることがこの方法の利点です。 詳しくは去年のMercari Tech Confの資料をご覧ください。 speaker

    Webの自動テストのこの1年を振り返って | メルカリエンジニアリング
  • PCOVでコードカバレッジ取得を高速化 - kaz29

    この記事はCakePHP Advent Calendar 2019の21日目の記事です つい先日、ついにCakePHP 4.0がリリースされましたが、CakePHP 4.0で利用しているテスティングフレームワークはもちろんPHPUnitです。CakePHP3では、PHPUnit 6.0系を使っていましたが8.5.0に更新されています。 PHPUnitで、コードカバレッジを取得するにはXdebugを使うのが定番ですが、PHPUnit8系ではXdebug以外にPCOVを利用することができます。 PCOVは、今年(2019年)リリースされたばかりのコードカバレッジドライバーで、高速かつ省メモリで動作することが特徴です。 ということで、今回は実際にどれくらい高速化できるのかを簡単に調べてみました。 計測した環境 当初、CakePHP3で作ったサンプルアプリをCakePHP4化して試そうと思っていた

    PCOVでコードカバレッジ取得を高速化 - kaz29
  • TDDはゆるく実践しても大丈夫 - 千里霧中

    最近、TDDのテストコードは捨てても良いかみたいな議論を見ました。 これに対する自分個人の経験上の意見ですが、TDDは雑多にテストコードを使い捨てても効果を出せると思います。 もちろん、TDDで保守性が高く価値あるテストを書いて、捨てずにCIや中長期的なリファクタリングで再利用していくと、TDDの効果を増幅できます。ただ、それをするにはスキルや事前の工夫、労力が必要ですし、できる場面に限りがあります。 そういったことをやらず、もっとゆるい姿勢で取り組んでも、費用対効果をプラスにできる手法がTDDだと考えています。 今回は、そのTDDでゆるくしてもよいポイントを、実経験からまとめたいと思います。 TDDのテストは使い捨てでいい TDDのテストはプログラマのこまごまな課題に応じて累積的に作られるため、保守コストがかかるテスト・保守する価値の低いテストが生まれがちです。そのためテストの使い捨ての

    TDDはゆるく実践しても大丈夫 - 千里霧中
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説]) - Qiita

    Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説])SeleniumテストTravisCISeleniumIDEテスト自動化 はじめに 10分でわかるブラウザ処理自動化!初心者向けSelenium IDE入門ガイドでSelenium IDEを使い始めるためのガイドを書きました。 そこでは、条件分岐やループ処理など一部のコマンドについての解説を書きました。 記事では v3.12.0(2019/09時点での最新)のコマンド全部をサンプルコード を書きながら解説しています。 今回作成したサンプルコードはGithubに置いています。 https://github.com/RustyNail/SeleniumIDEDemo の SeleniumIDEcommand.sideをインポートすれば実行できます。

    Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説]) - Qiita
  • 数値チェックの正規表現だったら、is_numeric() に変えてテストパターンに漏れがないか確認するための infectionのMutatorを作ってみた - Feelin' Kinda Strange

    古来より、PHPの ‘is_numeric‘ 関数は鬼門とされております。 PHPのis_numeric関数は使うべきでないという話 - hnwの日記 先日見かけた、このエントリーにはコードレビューでの例にis_numericへの指摘がありました。 私がコードレビューの際に気をつけているコメントの書き方 - BASE開発チームブログ 最近私のほうは、PHPでのQAツール環境の土壌が豊富になってきたこともあり、言語やツール由来のハマリ所はCIでどんどん解決したほうが良いという見解からつい、このようなつぶやきをしております。 `is_numeric` を禁止するCS作って、preg_match('/\A[0-9]+\z/') なら `is_numeric`にするmutation作ればよそうなどと思ってしまったhttps://t.co/78OQUgndc1— sasezaki (@sasezak

    数値チェックの正規表現だったら、is_numeric() に変えてテストパターンに漏れがないか確認するための infectionのMutatorを作ってみた - Feelin' Kinda Strange
  • PHP で mutation testing を試す - y_uti のブログ

    Mutation testing とは、プログラムに対するテストケースが十分であるかを測定する手法です。テスト対象のプログラムを機械的に変更してバグを埋め込み、テストがちゃんと失敗するかどうかを調べます。バグのあるプログラムをテストするので、テストの失敗はバグを検出できたことを意味します。さまざまなバグを作り出してテストを行い、バグの検出率によってテストケースの十分さを測定します。 PHP で mutation testing を行うフレームワークとして、Infection PHP があります。今回はこれを利用して、PHP のプログラムに対して mutation testing を試してみます。 infection.github.io プログラムの準備 まず準備として、テスト対象のプログラムを実装し、PHPUnit で単体テストを実行できるところまで進めます。composer を利用して環

    PHP で mutation testing を試す - y_uti のブログ
  • E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog

    こんにちは。 一休.comの開発基盤を担当しています、akasakasです。 今回は、E2EテストをSelenium WebdriverからCypress.ioに移行した話をしたいと思います。 一休のE2Eテスト事情 あれから、数年が経過して、、、 どうしてこうなった??? SeleniumではSPAへの対応が難しくなってきた なんでもかんでもSeleniumで頑張ろうとした弊害 いざリプレイスへ・リプレイスをする上で気をつけたこと 開発者フレンドリー 安定性 然るべきレイヤーでテストする(何でもかんでもブラウザテストにしない) 技術選定 Cypress.io とは? Cypress.io のいいところ セットアップが楽 テストを書くことだけに集中できる CI連携が楽 Cypress.io の頑張って欲しいところ その他、移行に関しての細かい話 重複テストケースの排除 Page Objec

    E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog
  • 1px の変化も見逃さない!ビジュアルリグレッションテスト導入で快適フロントエンド開発 - dely Tech Blog

    こんにちは!dely でフロントエンドの開発をしています @all__user です。 今回は kurashiru のフロントエンド開発に導入されたビジュアルリグレッションテストについてご紹介したいと思います。 【反応を多くいただいた点について記事の最後に追記しました】 目次 目次 ビジュアルリグレッションテストとは 導入の背景 フロントエンドのテスト? SPA移行前後の比較 ツール reg-suit Loki Wraith BackstopJS テストのフロー GitHub + CodeBuild + BackstopJS ステージング環境 テストケースは Google スプレッドシートで管理 結果を S3 にアップロードして Slack に通知 まとめ 【追記】 運用が大変ではないか? 1pxの違いにそこまで工数かける? 広告が差し込まれたり変わっただけでテストが壊れるのでは? ビジュ

    1px の変化も見逃さない!ビジュアルリグレッションテスト導入で快適フロントエンド開発 - dely Tech Blog
  • Selenium IDEで作ったテストをCLI環境で動かしてみる

    この記事は12/21 クローラー/Web スクレイピングの記事です。 最近、自社システムのシナリオテストの実施方法周りの調査をやっているのですが、 GUI からテストコードの原型を作成できる テストコードを編集しても GUI で編集できる可逆性が有る CI のためにヘッドレスで実行できる 環境構築が簡単 な手法を調べており、selenese-runnerというツールと Selenium が提供している Selenium Hub というツールを利用したらいいんじゃないか、という結論になりました。 この方法なら専門的な技能がなるべく少なくて済むんじゃないか。 と思っている方法を紹介します。 Selenium IDE Firefox のアドオンとして配布されています。 ブラウザでの操作をマクロとして記録する機能があります。 また、IDE 上で記録したマクロを編集したりアサーションを追記したりでき

  • Selenium の locator とうまくつきあうための話 - Qiita

    Selenium を使って、ブラウザの操作を自動化するときに、どのリンクをクリックするか、どのフォームに値を入力するかを指定する必要があります。 画面上のどの要素を操作するかを指定するための情報をSeleniumではlocatorといいます。Seleniumでは、ブラウザ(厳密にいうとSelenium Server)とクライアント間の仕様としてJSON Wire Protocolが定められており、利用できるlocatorもそれに従います。 要素を探索する場合 /session/:sessionId/element に、locatorを含むJSONをPOSTするのですが、その locator として、class name、css selector、id、name、link text、partial link text、tag_name、xpath と様々なものが利用できます。 様々なものが利

    Selenium の locator とうまくつきあうための話 - Qiita
  • ブラウザーテストが捗る!Node.jsで使えるヘッドレスChromeが便利すぎる

    Google Chromeにヘッドレスモードが実装され、コマンドラインやNode.jsからChromeを操作できるようになりました。ユーザー行動をシミュレーションしてテストする方法を解説します。 Webサイトに変更を加えるとき、ユーザーの取りうる行動を繰り返し試して、一貫したユーザー体験を実現できているか確認します。一貫性を保ちながら手軽に試すために、スクリプトで自動化するライブラリーを使って前提条件の表明(アサーション)を確認したり、結果をもとにドキュメントを整備したりします。ヘッドレスブラウザー(headless、GUIを持たないこと)とは、サイト上でのユーザーが取る行動をスクリプトで実行し、実行結果も保存できる、テスト向けのコマンドラインツールです。 開発者の多くはヘッドレスブラウザーに長年、PhantomJS、CasperJSなどのツールを使用してきました。しかし、恋と同じように、

    ブラウザーテストが捗る!Node.jsで使えるヘッドレスChromeが便利すぎる
  • CircleCI 2.0 を使い倒そう / phpcon kansai 2018 circlci docker

    PHPカンファレンス関西 2018 CircleCI 2.0 を使い倒そうというタイトルでトークしたものです

    CircleCI 2.0 を使い倒そう / phpcon kansai 2018 circlci docker
  • 誰かフィクスチャ書いてくれるんなら俺もテスト書くわ

    PHPカンファレンス関西2018 LT 資料です。QBF (QuickBrownFox https://github.com/LapazPhp/QuickBrownFox) にフィードバックください #phpkansai

    誰かフィクスチャ書いてくれるんなら俺もテスト書くわ
  • 「WebDriver」がW3Cの勧告に到達。Webブラウザのテスト自動化などを実現

    Web技術の標準を策定するWorld Wide Web Consortium(W3C)のBrowser Testing and Toolsワーキンググループは、「WebDriver」が6月5日付けで勧告に到達したことを発表しました。 WebDriverは、Webブラウザを外部から操作することを可能にし、Webアプリケーションのテストなどの自動化を実現する技術です。 主要なWebブラウザにはすでにこのWebDriverの機能が用意されています。Seleniumに代表されるWebブラウザ自動化ライブラリを利用することで、WebDriverを用いてWebアプリケーションのUIテストなどを自動化することが可能です。 SeleniumからW3Cへ もともとWebブラウザには外部から操作を行うAPIなどはなく、WebページやWebアプリケーションをWebブラウザで表示した際に画面が正常に表示されている

    「WebDriver」がW3Cの勧告に到達。Webブラウザのテスト自動化などを実現