タグ

testingに関するt_moriのブックマーク (21)

  • eBPFを使った自動テストツール「Keploy」がすごい

    この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA

    eBPFを使った自動テストツール「Keploy」がすごい
  • 自動テストはなぜあまり書かれてこなかったのか 和田卓人×倉見洋輔×古川陽介がひもとく、フロントエンドテストの歴史  

    セッションテーマはフロントエンド開発テストの「必要性」と「歴史」 古川陽介氏(以下、古川):さて、次のパネルディスカッションは、「フロントエンド開発テスト最前線」というタイトルで発表していこうかなと思います。 ご登壇いただくのは、タワーズ・クエスト株式会社取締役社長の和田卓人さんです。和田卓人さんはリクルートの技術開発の技術顧問をやっています。 また、株式会社リクルート兼株式会社ニジボックスの倉見洋輔さんもお呼びして、今回は話をしていこうかなと思います。倉見さんに関して言うと、どちらも私の直属のメンバーというかたちで、一緒に働いています。 今、プロダクト開発において、やはりテストというのが開発の生産性などを決める上でもかなり重要な要素になっているかなと思っています。この必要性や歴史を3人で話していけるといいなと思っています。 テスト駆動開発の第一人者・和田卓人氏 古川:じゃあ、もう始めてい

    自動テストはなぜあまり書かれてこなかったのか 和田卓人×倉見洋輔×古川陽介がひもとく、フロントエンドテストの歴史  
  • なぜJestのmockライブラリに混乱してしまうのか? - Qiita

    はじめに JavaScriptのモックライブラリでは、 sinon などが有名であるが、テスティングフレームワークに Jest を使ってるならば Jest組み込みのモックライブラリで済ませたほうが学習コスト少なくて済むだろうと思える。 しかし、 sinon の感覚でJestのモックライブラリを使おうとすると違和感というのか、モックへの考え方の違いに気づかされる。 ということで今回は、Jestのモックライブラリの考え方と使い方を整理していきたいと思う。 モックの用語整理とJestモックライブラリの位置づけ モックと一言でいっても、それが指す内容は微妙に異なる。 ここでは、モックを 広義のMock Object と 狭義のMock Object と分けて整理してくれているテスト駆動開発を参考に用語を整理する。 テスト駆動開発では、モック用語を、下図のとおり、テストダブルとそのサブクラスとして

    なぜJestのmockライブラリに混乱してしまうのか? - Qiita
  • 私のフロントエンドディレクトリ構成・テスト観点 2022

    近日連投していた Next.js 記事のサンプルコードを公開しました。このサンプルコードを元に、私のフロントエンドディレクトリ構成・テスト観点を紹介します(あくまで執筆現在の脳内アウトプットになりますのでご了承ください) フロントエンドディレクトリ構成の事情 タイトルの「フロントエンドディレクトリ構成」をさす「Components」のディレクトリ構成は、いつも悩みのタネです。このモジュールシステムは「デザインシステム観点・アクセシビリティ観点・フロントエンド実装観点」の 3 つの観点が混在するため事情が複雑です。どうせ作るのなら「デザイナー・フロントエンド」どちらの開発基盤にもなりえる、盤石なモジュールシステムを目指したいですよね。 "AtomicDesign やめました"という声をたまに聞くのですが「デザインシステム的に捨てていいの?」と思うこともあるので、とくに要望がなければ、筆者は「

    私のフロントエンドディレクトリ構成・テスト観点 2022
  • テスト管理ツール「Qase」でスプレッドシートによるテスト管理を脱却した件 - Qiita

    概要 試験工程をスプレッドシートで管理していたがそろそろ脱却したいと思ったので色々探してみました。 すると、同じことを考えている先駆者さんがいらっしゃったので参考にさせていただきました! 導入に至った経緯 QA体制が未成熟 3名までなら無料で利用できる テスト計画・テスト結果をエクスポートできる 入力項目が整理されているので試験表の質を一定にできる 自動化したテストケースを管理できる 手動テストと自動テストの結果を併せて一覧できる APIにより自動テストの実行結果を自動的に反映することができる etc これは、中々良いツールなんじゃないか!? ということで導入してみました 実際の導入方法を説明していきます 事前準備 以下からサインアップしてください サインアップ完了後、ダッシュボードに遷移した状態からスタートとします それぞれの設定方法は以下を参照してください 新しいプロジェクトを作成 プ

    テスト管理ツール「Qase」でスプレッドシートによるテスト管理を脱却した件 - Qiita
  • Big Sky :: Go に Fuzz testing が入った。

    みなさん Fuzz testing ってご存じでしょうか。 人間が作る物は必ずといっていいほどバグが存在します。そしてそのコードをテストする人間も必ずバグを見逃します。 想定していなかった境界値テスト等、人間には先入観という物があり、それが邪魔をして簡単にバグを見逃します。昨今、この様な誰も気付かなかったバグの隙間を突く様な脆弱性が沢山見つかっています。 物によっては重大インシデントに発展する物まであります。 こういった人間では想定できない様なバグを見付けてくれるのが Fuzz testing です。Fuzz testing を実施する事で、ソフトウェアは頑丈になり安全にもなりえます。 日、Go の master ブランチに Fuzz testing の機能が入りました。 [dev.fuzz] Merge remote-tracking branch 'origin/dev.fuzz'

    Big Sky :: Go に Fuzz testing が入った。
  • 負荷テストをサーバーレスで実現するServerless-artilleryを試してみた | DevelopersIO

    Webシステムの負荷テストツール選定にお悩みではないでしょうか。私は悩んでいました。 今回はサーバーレスで負荷テストを実施するServerless-artilleryを紹介します。 こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きなネクストモード株式会社 の吉井です。 今回はサーバーレスで負荷テストを実施できる Serverless-artillery を紹介します。 Lambda 関数からテスト対象 URL に対して事前に定義した回数、期間、パターンで負荷をかけます。 テストサーバーを EC2 で起動し管理することは、それなりに手間ですし、テストが長期間になればコストも無視ができなくなります。 その点 Lambda なら実行回数分のコストなので安心感はあります。 負荷テストの実施 Serverless-artiller

    負荷テストをサーバーレスで実現するServerless-artilleryを試してみた | DevelopersIO
  • 結合テストと呼ぶのをやめた話 - asterisc

    はじめに 最近、意図的に「単体テスト」「結合テスト」という呼び方を避け、Google Testing Blogで紹介されてるTest Sizesによる分類(small / medium / large)に従った呼び方でテストを呼んでいる。 この分類方が自分の身の回りに徐々に浸透してきて、実際のチーム内のテスト戦略も一歩進んだ議論ができるようになってきたので、改めてまとめる。 ちなみにこの記事の話は手動で行われるテストではなく、自動テストを対象としているが質はあまり変わらないと思う。 続き書きました。 akito0107.hatenablog.com 「単体テスト」「結合テスト」という呼び方について ソフトウェア開発に従事していれば必ず聞く言葉だと思う。改めて他のサイトから引用する形で定義をまとめておく。 単体テストとは *1 単体テストとは、プログラムを検証する作業の中でも、プログラムを

    結合テストと呼ぶのをやめた話 - asterisc
  • Jest · 🃏 Delightful JavaScript Testing ドキュメント

    スナップショット機能で大きなオブジェクトを容易に追跡できるテストを作成できます。スナップショットはテストと一緒に、あるいはインラインに埋め込んだ状態で表示できます。

    Jest · 🃏 Delightful JavaScript Testing ドキュメント
  • 受け入れテストの自動化 ~ OpenCVの「眼」で捉え、Pythonの「脳」が思考し、Appiumの「指」で動かす - Speaker Deck

    2017/02/03 JaSST’17 Tokyo

    受け入れテストの自動化 ~ OpenCVの「眼」で捉え、Pythonの「脳」が思考し、Appiumの「指」で動かす - Speaker Deck
  • Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ

    こんにちは、QAエンジニアの井上恵一です。好きな飲み物は一番搾りと韃靼そば茶です。 初回からニッチなネタではありますが、昨年入社した直後に行った、 iPad アプリのテスト仕様書の管理方法を見直したときの話を紹介しようと思います。 見直しのきっかけ トレタは飲店向けの予約/顧客台帳アプリです。だれでもかんたんに使いこなせるシンプルさを追求してはいますが、製品の進化に伴ってそのテストケース数はすでに数千という単位にまで膨れあがっています。 製品の品質を安定させるためには、テストの内容自体をブラッシュアップすることが重要なのは言うまでもありません。ただ、安定した製品を永続的に提供していくためには、それに加えて、膨大なテストケースを効率よくメンテナンスし続けるためのプロセス作りも欠かせません。 入社のタイミングでトレタのテスト設計を担当することになったので、テストケースの管理方法についてもいち

    Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ
  • EarlGrey - Google製のUIテスト自動化フレームワーク

    iOSのテスト、ちゃんと行っているでしょうか。もちろん人力ではなく、自動化のテストです。ユニットテストは書きやすいですが、UIが絡んでくるとなかなかテストが難しいケースもあり、十分に行われていない婆もあるようです。 そこで使ってみたいのがEarlGrey、Google製のiOS自動テストフレームワークです。 EarlGreyの使い方 EarlGreyの特徴はネットワークや操作を伴う中での同期した動作です。 EarlGreyのテストを実行したところです。スクロールなどをしつつ、テストが行われています。 デフォルトでは自動的に同期をはかってくれるとのことですが、自分のタイミングにカスタムすることもできるとのことです。XCTestと連携できるので、これまでのテストコードと一緒に活用できるでしょう。 EarlGreyはiOS用、Apache License 2.0のオープンソース・ソフトウェアです

    EarlGrey - Google製のUIテスト自動化フレームワーク
  • テストがないJS環境にモダンなテスト環境を導入していく - Qiita

    Qiita:Teamに投げた社内ドキュメントだったけど、特に問題ないのでQiitaにも投げる。 前提として browserify-rails とbabelify が導入されている状況を想定してる。 基方針 新規コードはES2015で書く 番はbrowserify(-rails)でコンパイルする。 単体テストは node 環境下で走らせる テスト環境下では jsdom で window, document をモックする 単体テストでは ブラウザ特有の挙動はテストしない 裏側の環境(browserifyやspec-helper)は難しくして良いが、利用者からみえる範囲は複雑にしない(npm install; npm testで走る) Universal JavaScript に寄せることでコードのポータビリティを上げる 事前準備 browserify-railsを導入する。 .babelr

    テストがないJS環境にモダンなテスト環境を導入していく - Qiita
  • 便利すぎる負荷試験テストツールGatlingの使い方~自力ソース編~ - Qiita

    負荷テストを簡単に作れて結果も自動でグラフ化してくれる便利ツールGatlingの紹介です 公式はここ http://gatling.io/#/ まずはソース(scala)を自力で書いて負荷試験を作る方法 (macでの実施を前提として書いてます) インストール方法 # download wget https://repo1.maven.org/maven2/io/gatling/highcharts/gatling-charts-highcharts-bundle/2.1.7/gatling-charts-highcharts-bundle-2.1.7-bundle.zip unzip gatling-charts-highcharts-bundle-2.1.7-bundle.zip cd gatling-charts-highcharts-bundle-2.1.7-bundle

    便利すぎる負荷試験テストツールGatlingの使い方~自力ソース編~ - Qiita
  • 負荷テストツールGatlingを触ってみた - 絶品ゆどうふのタレ

    負荷ツールとしてGatlingのことを少し前から耳にする機会が増えたので、利用してみることにした。 色々既出だとは思うが、公式のQuickstartに従って試してみたのでメモ。 GUIが必要だったので、今回は手元のMacで実行。 Gatlingとは Java/Scala製の負荷テストツール。 JMaterと似た感じのツールではあるが、 ハイパフォーマンス 見やすいレポートHTML developerフレンドリーなシナリオファイル というのをウリとして謳っている。 たぶん、3項目とも対JMater(重い・レポート見づらい・XMLのシナリオつらい)を意識したメリットだろうなー。 なお、シナリオファイルは。。。 Gatling simulation scripts are written in Scala, but don’t panic! わろた。 というわけで、触ってみる Install J

    負荷テストツールGatlingを触ってみた - 絶品ゆどうふのタレ
  • 大規模 Web サービスの ブラウザテスト自動化・高速化

    https://atnd.org/events/66159 で実施したプレゼン資料

    大規模 Web サービスの ブラウザテスト自動化・高速化
  • テストをテストする方法-ミューテーションテスト- #gadvent - うさぎ組

    はじめに これはG* Advent Calendarの12日目の記事です。今日はミューテーションテストについて書きます。明日はid:nobusue さんです。 概要 PITというツールの紹介です。「Javaプロダクトコードを機械的に変更してからテストを実行したときに、テストはそれを検知できるのか?」ということを調べてくれるツールで、SpockのテストやGradleからの実行に対応しています。 ミューテーションテスト ミューテーションテストとはざっくりと言えば「プロダクトコードを変更したなら、その振る舞いも変わるはず。テストはその変更された振る舞いを網羅できているかを調べる」というテストです。 対象規模が小さければ手動で毎回やってもいいわけですけど、ツール化されていると楽なことこの上ないです。ということで、今回はJavaプロダクトコードをミューテートするライブラリであるPITについて紹介しま

    テストをテストする方法-ミューテーションテスト- #gadvent - うさぎ組
  • JMeter使うのだるいなーと思ってたらruby-jmeterというRubyでテストプランを書けるツールがあった | mah365

    JMeter使うのだるいなーと思ってたらruby-jmeterというRubyでテストプランを書けるツールがあった。知らなかった(迫真)。 典型的なRailsアプリのテストプラン そういう訳で典型的なRailsアプリのテストプランを書いてみたのがこちら。 ユーザーログインページでCSRFトークンを取得し、常にHTTPヘッダにつけるようにする ユーザーログイン情報をクッキーに保存 といった典型的な処理を盛り込んでいます。あとはREADME.mdを読んでもらえれば大体の書き方が把握できるかと思います。 ちなみに、# Debugというコメントの下2行をコメントアウトしてもらうと、JMeter上でデバッグ用の出力を表示することができます。テストプランが上手く動かないときに、リクエストヘッダやレスポンスを確認するのに便利です。 で、これをコマンドラインで ruby sample.jmx.rb && j

    JMeter使うのだるいなーと思ってたらruby-jmeterというRubyでテストプランを書けるツールがあった | mah365
  • Groupon: Node.js向け結合テストツールtestiumをオープンソースで提供 - ワザノバ | wazanova

    https://engineering.groupon.com/2014/misc/i-tier-testium/1 comment | 0 pointsGrouponが、Node.js向けの結合テストツールtediumをオープンソースとして提供しました。 What is testium BDD (振舞駆動開発) 構文で書ける。 CoffeeScript/JavaSacriptで書かれている。 同期APIがある。 Seleniumを利用できる。 Why Create a New Tool RailsではCucumberをセットして、実際のブラウザでSeleniumを使ってテストができたが、Node.jsではフィットするものが見つからなかった。 Exploring WebDriver 既存のSeleniumのインフラを利用するために、JavaScriptとMochaで書けて、同期APIのある

  • テスト設計の自動化(1)組み合わせテスト支援ツール

    10月公開の特集「テスト実装・実行の自動化」では、主に単体テストとGUIテストに焦点を当て、テストの実装や実行の自動化について解説しました。これらはテスト自動化の分野ではかなり成熟してきているものです。 今回からは、テスト実装・実行に比べてまだ発展途上である分野について、今後の展望も交えながら解説していきます。以下ではまず、「テスト設計の自動化」について紹介していきましょう。 6種類のテスト設計自動化ツール ソフトウエアテストのプロセスは、(1)テスト計画/管理、(2)テスト分析、(3)テスト設計、(4)テスト実装、(5)テスト実行、(6)テスト結果の評価、の六つのアクティビティーに分けることができます。今回対象とするテスト設計は、テスト分析によって洗い出されたテスト条件を、漏れがなく、かつ無駄のないテストケースへと落とし込んでいく作業を意味します。 テスト設計を自動化するツールは、その用

    テスト設計の自動化(1)組み合わせテスト支援ツール