タグ

testに関するshoのブックマーク (35)

  • 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」がすごい
    sho
    sho 2024/01/15
    力業なのに正当な使い方というアンビバレントさがいいな
  • Cherrybomb • BLST Security

    < Cherrybomb​ /> is a CLI tool that helps you avoid undefined user behavior by validating your API specifications and running API security tests. Cherrybomb reads your API spec file (Open API Specification) and validates it for best practices and the OAS specification, then it tests to verify that the API follows the OAS file and tests for common vulnerabilities. The output is a detailed table wit

  • VS Code上でHTTPリクエストを送信し、VS Code上でレスポンスを確認できる「REST Client」拡張の紹介 - Qiita

    VS Code上でHTTPリクエストを送信し、VS Code上でレスポンスを確認できる「REST Client」拡張の紹介extensionREST-APIVSCode 概要 Visual Studio Code(以下VS Code)の拡張機能であるREST Clientが便利だったのでその紹介です。 使い方を文字とgifで説明していきます。 説明はマーケットプレース以上の情報を足していないので、英語に抵抗がなければ公式ページを照会してください。 REST Clientとは VS Code上でHTTPリクエストを送信し、VS Code上でレスポンスを確認できるVS Codeの拡張機能です。 マーケットプレースのREST Clientのページでインストールボタンをクリックするか、VS Codeの拡張機能アイコンをクリックして「REST Client」を検索してインストールボタンをクリックする

    VS Code上でHTTPリクエストを送信し、VS Code上でレスポンスを確認できる「REST Client」拡張の紹介 - Qiita
  • 我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita

    『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「の飼い方」?と表示されることを確認して クリックするとの飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので

    我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita
    sho
    sho 2019/02/27
    とても良い
  • CIとTest Sizesの話 - asterisc

    はじめに 前回 akito0107.hatenablog.com どちらかというとこっちが編。 前回の記事ではTest Sizesについて紹介したが、今回の記事はその分類が実際の開発にどう役に立っているのかをまとめたいと思う。もちろん用語の統一も大きな意味を持つが、それ以外のことを書いていきたい。 具体的には、CIでテストのパイプラインを組む時にこの分類どおりに組んでいくと綺麗に整理でき、CI全体のスループット向上にも効果がでているという話だ。今回の話は僕たちのチームに特化した内容になるが、1) Test SizesごとにTestの起動コマンドを分ける、 2) Smallから順に実行していき、落ちるべきテストはできるだけ早期に落とす、というポイントはどこにでも使えるものだと思う。 コンテナ技術とテスト 僕たちはローカルの開発環境だけではなく、番環境やCI環境でコンテナ技術(主にDock

    CIとTest Sizesの話 - asterisc
  • 結合テストと呼ぶのをやめた話 - asterisc

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

    結合テストと呼ぶのをやめた話 - asterisc
  • CircleCI 2.0でのスローテスト(テスト遅い)問題対処法を思いつくだけ書き出す - Qiita

    まえおき スローテストの解消に関して、昨今のCIサービスを考慮した観点で自分なりの手法をまとめてみる。 CIで出来そうなことは可能な限り網羅したつもりだが、他にもあったらコメントか編集リクエストでご指摘いただきたい。 とりあつかうこと・とりあつかわないこと CircleCI 2.0 を前提とする。 1.0はもうすぐ無くなるので対象外 他のCIサービスは今回対象としてないが、一部似たような機能があるかもしれない。 テストフレームワーク固有の話はなるべく排除している サンプルコードがnodeだったりrubyだったりで統一取れてないのはご了承いただきたい。 dockerモードを前提とする。machine: trueでの実行は検証していない 検証してないだけなので、もしかしたら動くものもあるかもしれない CIではなくCD(継続デリバリー)に特化した話は除外する 転用できる部分はあるものの、あまりフ

    CircleCI 2.0でのスローテスト(テスト遅い)問題対処法を思いつくだけ書き出す - Qiita
  • 【アンチパターン】Arrange、Act、Assert(AAA)を意識できていないRSpecのコード例とその対処法 - Qiita

    【アンチパターン】Arrange、Act、Assert(AAA)を意識できていないRSpecのコード例とその対処法RubyRailsRSpec # トレーニングジムの予約システムを開発していると仮定してください describe 'キャンセル処理' do let(:user) { create :user } let(:reservation) { create :reservation, user: user, start_at: '2017-08-10 10:00'.in_time_zone } context '24時間前をすぎるとキャンセル料が発生する' do before do travel_to '2017-08-09 10:00'.in_time_zone reservation.cancel! end after { travel_back } let(:billing)

    【アンチパターン】Arrange、Act、Assert(AAA)を意識できていないRSpecのコード例とその対処法 - Qiita
    sho
    sho 2017/09/21
    コメ欄含め勉強になる
  • 初めての自動テスト

    Webシステムの自動テストを始めたい方を対象に、自動テストの考え方やフレームワークを解説する書籍です。テストのピラミッドやユーザーインターフェイステストの概念など、基礎的な事柄から、レガシーシステムへのUIテストの追加、RESTfulなWebサービスのテスト、ブラウザ上のJavaScriptの挙動をユニットテストでテストする方法など、実践的な事柄までを豊富なイラストとサンプルを使って分かりやすく解説します。さらにテストファーストやモックの活用法、テスターに向けた自動テストのためのプログラミング基礎知識なども詳述。自動テストを書くためのノウハウを網羅した書は、自動テストをマスターしたいエンジニア必携の一冊です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では

    初めての自動テスト
    sho
    sho 2017/09/05
    おっ。読んでみるか?
  • httpbin.org

    A simple HTTP Request & Response Service. Run locally: $ docker run -p 80:80 kennethreitz/httpbin

    sho
    sho 2017/03/28
    http通信を使ったテストのためにさまざまなリクエストとレスポンスを用意してあるサービス。これ便利だなー。
  • Seleniumアレルギーのための処方箋 - Qiita

    何年も前、SeleniumやWebDriverの話で盛り上がった記憶があります。ただ、その当時はまだRailsなどバックエンド中心の文脈でした。今、フロントエンドに軸足が移る中、ブラウザテストの状況はどうなったのでしょう? 不思議なことに、フロントエンド界隈でそれほど話題に上がって来ないですよね (私の周りだけ?)。結構大事なのに。実は皆さん、「Seleniumアレルギー」なんじゃないですか? 公式サイトに漂う ゼロ年代感(下図)。Javaへの躊躇、「めんどくさい」と聞かされ続けた過去、無意識に避けてしまうのがSeleniumです。 ただ、フロントエンドの文脈でこそ、ブラウザテストは重要度を増しています。そこで「Selenium触りたくない病」の筆者が、 四苦八苦した背景 と、2016年だからこそ 見えてきた落とし所 を書いてみたいと思います。 註: 思ったより長文になってしまいました。先

    Seleniumアレルギーのための処方箋 - Qiita
    sho
    sho 2016/08/22
    つらそう……
  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

    こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
    sho
    sho 2016/05/31
    この話題、定期的にまとめられるように見えるんだけど、いまだに定番のスタイルが定まってないのか?
  • フロントエンドにテストを導入 - Qiita

    2016-8-8 ※webpack単体の記事を書きました。よろしければこちらもどうぞ step by stepで始めるwebpack 2016-5-16 ※karma単体の記事を書きました。よろしければこちらもどうぞ step by stepで始めるKarma 記事は画面のJavaScriptのテストとかまったくやったことない方 Mocha?webpackkarma?それぞれの解説記事はよく見るけど全体像がよくわからんという方向けです。(数日前の自分です) 全体を通して導入の流れを解説した記事があると全体像が理解しやすいのではと思い書いてみました。 前提 Nodejs,npm,chromeが導入済みであること 流れ Step 表題 目的

    フロントエンドにテストを導入 - Qiita
    sho
    sho 2016/05/16
    あとで読む
  • テストなんか書かなくて良い 僕の考えるサービス開発の肝 - mosa_siru’s blog

    世の中は一周まわってエンジニアリングの手法に溢れている。 テストを書け、ドキュメントを書いて冗長化しろ、コミットはわかりやすく、コーディング規約が、安定性が─── でも、それって質なんだろうか? 新規サービスを作る際に肝だと思っていることをまとめてみた。 おことわり 以下は少人数で"普通"のアプリやWebサービスを自社で新規開発するときのことを想定しています。大人数で重厚なソシャゲを作るとか、ガチガチの金融系サービスを作るとか、コンシューマーゲーム開発とか、個人で好きなものを作るとか、受託とかは全く想定していません。 基的に一通り現場をこなした中級以上のエンジニア向けに書いています。 アンチテーゼとして、ややキツめに断定する箇所が多いです、こういう意見もあるんだな程度に受け止めてください。 所属する団体の意見とかは一切関係ありません。 目次 おことわり 目次 ユーザーのことだけ考える

    テストなんか書かなくて良い 僕の考えるサービス開発の肝 - mosa_siru’s blog
    sho
    sho 2016/03/08
    過激なつもりらしいが事実上「極端なことを求めるな」としか言ってない。そんなのあたりまえやん。
  • サービス分割時の複雑性に対処する: テスト戦略の話 - クックパッド開発者ブログ

    技術部の taiki45 です。 現在のクックパッドでは、cookpad.com 内のデータを利用するようなプロダクトでも、cookpad.com を提供しているアプリケーション(体アプリケーション)とは別に新規のアプリケーションとして設計・実装しています。また、すでに体アプリケーションの一部として実装されているプロダクトについても、トレードオフを考慮しながら場合によっては、体アプリケーションから独立した別のアプリケーションとして設計・実装することが増えてきています。これらの体アプリケーションや、新規にあるいは体アプリケーションから独立させて設計・実装したアプリケーションのことを「サービス」と呼んでいます。また、この体アプリケーションから独立させることを「サービス分割」と呼んでいます。 制御できないほどの巨大な複雑なまとまりを制御するために、その巨大なまとまりと単純なまとまりに

    サービス分割時の複雑性に対処する: テスト戦略の話 - クックパッド開発者ブログ
  • マイクロサービス時代を乗り越えるために、Rack::VCRでらくらくアプリケーション間テスト - クックパッド開発者ブログ

    新規アプリケーションの構成 Rack::VCR リクエストの記録 リクエストのモック リクエストの再生 おまけ: Androidアプリのテスト 弊社での利用例 未来 こんにちは、会員事業部の小室 (id:hogelog) です。気づけば弊社に入社してから2年と2ヶ月が経っていました。 今回はその2年2ヶ月で初めて会社プロダクトを rails new したRailsアプリケーションと、そのアプリケーションで利用したRack::VCR (https://github.com/miyagawa/rack-vcr) について簡単に解説します。 新規アプリケーションの構成 今回私が新規に作成したRailsアプリケーションは仮にここではomoikane(仮)と呼ぶことにします。omoikaneはリクエストがあると社内の汎用APIサーバにアクセスし、APIサーバから取得した情報を元にレスポンスを返すアプ

    マイクロサービス時代を乗り越えるために、Rack::VCRでらくらくアプリケーション間テスト - クックパッド開発者ブログ
    sho
    sho 2015/10/09
  • テスターは朝会から何を知るのか - CAT GETTING OUT OF A BAG

    わたしはちょっと意地悪らしい。 例えば、あるテストケースを思いついたとする(しかもかなりの高確率でうまく動かなそうなやつ)。それをね、モノが出来上がって自分の目でちゃんと動くこと(気持ち的にはちゃんと動かないこと)を見届けるまで、プログラマに話さない。*1 とあるイベントのパネルディスカッションか何かで @m_seki から「それは意地悪だなー」と言われて、はじめてそれが意地悪なんだってことに気がつきました。そういうテストを思いついたらすぐに言ってよ!てことみたい。もしプログラマがそれを考慮しないで実装してしまったら確実にバグになるわけで、黙っていることは開発にとって何のメリットもない。 なぜ話さないのか。話せなかったのか。それなりに理由はあったんだけど、まあ、それはいいや。意地悪は良くない。それからは思いついた嫌なシチュエーションや心配事は、なるべく言うようにしてる。 ということは、わた

    テスターは朝会から何を知るのか - CAT GETTING OUT OF A BAG
    sho
    sho 2015/05/11
    冒頭の「意地悪」を正当化する理由が自分では思いつかないので(これは「敵」の発想だと思う)、いつか書いて欲しいかも。
  • React のテストを書くのに Jest を使ってみたら、チュートリアルも動かずにハマってしまった - 雑文発散(2015-04-17)

    ▼ [JavaScript][Jest] React のテストを書くのに Jest を使ってみたら、チュートリアルも動かずにハマってしまった React の勉強をしていて、コンポーネントの書き方は、まぁ、だいたい把握できてきたので、ここらでテストについて学ぼうと思い、Jest を使い始めてみた。 Jest は Jasmine の拡張バージョン(?)らしいので、学んだ知識は Jasmine を使うプロジェクトにも再利用できそうだし、何より「全てのモジュールは自動的にモック化する」という思想に面白みを感じた。テスト対象のモジュールだけモック化を取りやめるというのが、とてもいさぎよい。 その他にも「__tests__ というディレクトリ以下のファイルは、テストコードだと認識して実行する」という動作も面白い。__tests__ ディレクトリは、プロジェクト内のどこにあっても勝手に走査してくれるよう

    React のテストを書くのに Jest を使ってみたら、チュートリアルも動かずにハマってしまった - 雑文発散(2015-04-17)
  • RSpec をやめて Test::Unit に戻る - tmtms のメモ

    最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number

    RSpec をやめて Test::Unit に戻る - tmtms のメモ
  • アクセルを踏むためのテストとブレーキを踏むためのテスト - yoshiori.github.io

    Rebuild.fm#29 聴いてて少し語りたくなってるので書いてみる。 テスト考2014 – Hidden in Plain Sight から発してると認識してるんだけど新年早々テストについて盛り上がってますね! で、個人的な意見を書くまえに、俺はテストどころかコンピュータサイエンスも学んだ事ない人間ですので色々見当違いな事言ってるかもしれないけど、エンジニアのスタートが組み込み系の QA エンジニアなので現場感覚はそれなりにあるつもりです。 で、早速なんだけど上記ブログから引用させてもらうと まぁ、なんにせよ、現在のウェブアプリ開発におけるテストなんて一歩間違えれば「ままごと」みたいなレベルだから、そんなに原理主義的になるのはダサいよねって話です。 id:kennejima に百パー同意で、ぶっちゃけちゃんと QA やった人間からすると境界値テストすらしてないしホワイトボックステストだ

    sho
    sho 2014/01/15
    元ネタのエントリもこれくらいわかりやすく書かれてれば良かったのにね。