タグ

testに関するohbaryeのブックマーク (26)

  • Engineering Practices for LLM Application Development

    LLM engineering involves much more than just prompt design or prompt engineering. In this article, we share a set of engineering practices that helped us deliver a prototype LLM application rapidly and reliably in a recent project. We'll share techniques for automated testing and adversarial testing of LLM applications, refactoring, as well as considerations for architecting LLM applications and r

  • QA≒テストからQA⊃テストに進化するためのQA入門 (JaSST ‘23 Tokyo 版)

    Building Better People: How to give real-time feedback that sticks.

    QA≒テストからQA⊃テストに進化するためのQA入門 (JaSST ‘23 Tokyo 版)
  • 私のフロントエンドディレクトリ構成・テスト観点 2022

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

    私のフロントエンドディレクトリ構成・テスト観点 2022
  • Wantedly のマザー Rails の CI 高速化 | Wantedly Engineer Blog

    こんにちは、Wantedly の Developer Experience Squad で生産性に関わるあらゆることに手を出している大坪です。今回は巨大化した Rails の CI 高速化手法について解説します。 CI は早ければ早いほどいい 上にリンクした DX Squad のミッションでも書いていますが、CIは早ければ早いほどよいと考えています。遅い CI は Pull Request の merge までのリードタイムを長くするという短期的なデメリットだけでなく、開発者の test を書くモチベーションを削いでしまい長期的にもプロダクトの安定性を悪化させます。 テストが早いと書きたくなる「他の人がテストを書いてくれない」「なんでこのコードはテストされていないのか」と思ったことは誰しもあるでしょう。そんな状況において自分が大事だと考えているのは「テストを書くことがお得である」と感じるこ

    Wantedly のマザー Rails の CI 高速化 | Wantedly Engineer Blog
  • 開発者向けのテストの本いろいろ

    なんかおすすめなテストないですかねえ? と、某所で(テストをメインの業務にするのではなく)普通に開発をされている方に聞かれたので、 プログラミングは普通にできる テストについては学んだことはない とはいえテストエンジニアになるわけではなく、開発者としてテストが知りたい という人向けに、2021年現在で普通に入手できるをいくつか挙げてみます。

    開発者向けのテストの本いろいろ
  • Github Actionsで並列テストをする

    CircleCIを使っていて最近感動した機能に テストの並列実行 があるのだが、その仕組を使えばGithub Actionsでも並列テストできそうだよなぁと思ったのでやってみた。 CircleCIではどう実装しているのか こんな感じ設定して ref version: 2 jobs: test: docker: - image: circleci/<language>:<version TAG> parallelism: 4 こんな感じでテストの実行のところ書き換えて上げればテストが並列化される。 ref bundle exec rspec $(circleci tests glob "spec/**/*.rb" | circleci tests split --split-by=timings) しかもそれぞれ別のコンテナで動くのでお互いに影響をしあわない。すごくよい。 Github Ac

  • Selenium Gridで複数の実機ブラウザで自動テスト | TECHSCORE BLOG | TECHSCORE BLOG

    はじめに こんにちは、白川です。 Webアプリケーションは概ね、複数のブラウザに対応する必要があります。 Internet Explorer、Firefox、ChromeなどのPCブラウザだけでなく、 iPhoneAndroidなどのモバイル/タブレットのブラウザにも対応しないといけなかったり、 同じブラウザでも複数のバージョンに対応する必要があったり、 OSのバージョンの違いにも対応する必要があったりします。 そうなってくると、テストが大変です。 検証が必要なOSとブラウザとバージョンの組合せが増えれば増えるほど、手動でテストを行なうことが大変になっていきます。 しかし、Selenium Gridを使えば、 一つのテストスクリプトで複数の実機のブラウザで自動にテストを実施することが可能となります。 Selenium Gridについて テストスクリプトを実行するサーバからSelenium

  • xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中

    最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし

    xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中
  • 動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ

    この文章は、2019年4月18日に開催された国際カンファレンス SeleniumConf Tokyo 2019 で行った基調講演の文字起こしを土台に加筆修正したものです。 当日の講演資料は speakerdeck で、動画は YouTube で公開されています。 Clean code that works - How can we go there? - Takuto Wada | SeleniumConf Tokyo 動作するきれいなコード - どうたどり着くか 日の講演タイトルは「動作するきれいなコード - どうたどり着くか」です。動作するきれいなコードへ至る道の話をさせていただこうと思います。 資料は公開予定で、講演の写真撮影も問題ありません。ツイッター等での実況も大歓迎です。ハッシュタグは #SeConfTokyo です。 改めて自己紹介です。和田卓人(わだたくと)といいまして、

    動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ
    ohbarye
    ohbarye 2019/12/29
    なるほど… “2019年においてもソフトウェア開発は工学になりきれていないことのひとつの証左だと考えています。 どういうことかというと、簡単に言えば予測可能性と再現性が低い”
  • Selenium ユーザー視点で Cypress を試したらめちゃくちゃ便利そうでした - 生産性向上ブログ

    この記事は、Selenium/Appium Advent Calendar 2017 の 23 日目です。 この記事では、ブラウザテストツールの Cypress の紹介を Selenium ユーザーである自分の視点から書きます。 Cypress とは www.cypress.io Cypress は、テストのセットアップ、作成、実行、デバッグなどをシンプルにするブラウザテストツールです。E2E テストを既存の Selenium のようなツールで実装・運用するときにありがちな辛い体験を改善して、開発者を幸せにすることが目的のようです。 Cypress は、3 年以上の間 private beta だったのですが、今年の 10 月に public beta になり、そのタイミングで大半が OSS となりました。 www.cypress.io Cypress は、ThoughtWorks 社の

    Selenium ユーザー視点で Cypress を試したらめちゃくちゃ便利そうでした - 生産性向上ブログ
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

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

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜

    Rails アプリケーションの開発において、自分の変更に関係のないテストのせいで CI がコケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです! そんなわけで、日頃不安定なテストを潰している身として知見みたいなものをまとめてみました。 今回利用した環境は次のとおりです。 rails 6.0.0 capybara 3.29.0 selenium-webdriver 3.142.4 rspec-rails 3.8.2 Google Chrome 77.0.3865.75 (headless で使用) ChromeDriver 77.0.3865.40 (f484704e052e0b5

    Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜
  • CIとTest Sizesの話 - asterisc

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

    CIとTest Sizesの話 - asterisc
  • ロンリーQAによるJaSST '18 Tokyo レポート(1日目) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに ソフトウェアテストシンポジウム 2018 東京(JaSST Tokyo) はソフトウェアテストのカンファレンスとしては国内最大規模で、最新動向の紹介と情報共有を目的として開催されています。 2日間まるまる参加してきたのでその様子をざっくりレポートしてみました。 Web系のQAとして働き始めて約1年。 まだまだ駆け出し故の浅掘り、薄い考察がキラリと光る内容になっていますが、QAってなにやってるの?という方にもわかるような記述を心がけてみました。 なんとなくの雰囲気だけでも伝われば嬉しいです。 タイムテーブルのとおり、同時並行で

    ロンリーQAによるJaSST '18 Tokyo レポート(1日目) - Qiita
  • React Redux テスト考察 - Qiita

    ReactReduxでのテストを書いた時のTipsを集めました。「何を使って」ではなく「何をどの様に」テストするかについて書いています。「どこまで書くか」はプロダクトコードを取り巻く環境によるため言及していません。サンプルに利用しているプロダクトコード・テストコードは共に、webpackを経由しbabelで記述しています。利用しているツールについては下の方で少し触れていますが、とりあえず頭出し。

    React Redux テスト考察 - Qiita
  • 全国のSeleniumer必読 - Qiita

    アナウンス Selenium 談話会 in Slack まだまだ活動続けています!!(2019/09/09追記) https://selenium-danwakai.connpass.com/ でアナウンスを出しています。 2015/春から「Selenium 談話会 in Slack」というものをはじめました Slack(チャット)を使って日々の困りごとなどを同士とリアルタイムで情報交換することができます 登録されたユーザは2015/06/25時点で35名 => 2019/09/09時点で596名 半年に1回程度でチャット上に集まってテーマを決めて話をしています Ex) 「第3回Selenium談話会 in Slack」 のまとめ 詳細、参加方法などは上記リンク先に書いています 2018/09/18時点で13回開催しています。ご興味のある方はお気軽にご参加ください https://sele

    全国のSeleniumer必読 - Qiita
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    ohbarye
    ohbarye 2017/12/01
    テストがないと破滅的な設計がうまれやすいというくだりで「テストはコードの最初の再利用」という言葉を思い出した
  • TestProf: Ruby/Railsの遅いテストを診断するgem(翻訳)|TechRacho by BPS株式会社

    はじめに テストを書くことは、特にRubyRailsのコミュニティにおいて開発の重要なプロセスですが、テストの完了に長時間を要するようにならないと、テストスイートのパフォーマンスを気にしない傾向があります。身に覚えがありませんか? 専用のテストプロファイラであるTestProfを用いて、Railsテストのパフォーマンスボトルネックを特定して修正する方法を学びましょう。 私はEvil Martiansに入社した最初の年から、さまざまなタイプのRailsアプリケーション(モノリス、モジュリス(モジュラー+モノリス)、APIのみ、Hotwireなど)に取り組んできました。これらのアプリケーションは、どれもテストスイートの速度面に改善の余地がまだまだ残されていました。 私はテスト高速化のヒントやノウハウを集めるようになり、最終的にそのノウハウをすべてTestProfという名のメタgemに盛り込み

    TestProf: Ruby/Railsの遅いテストを診断するgem(翻訳)|TechRacho by BPS株式会社
  • メルカリQA-SETチームが進めているテスト自動化についての質問まとめ | メルカリエンジニアリング

    こんにちは。メルカリでQA-SETチームのマネージャ兼自動化エンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 先日開催された Mercari Tech Conf 2017 において、自動テストのデモ展示を担当させていただきました。当日は多くの方にお越しいただき、スマホアプリの自動化への関心は大きいのかなぁと感じております。 この記事では、テスト自動化についてよく質問されたことをまとめてみたいと思います。どの現場も同じように悩んでおり、試行錯誤している点も似ていたので、ノウハウとして残れば幸いです。 Q. どんな技術をつかってアプリの自動化をしているのですか? A: AndroidはAppium(Ruby) を使っています。 Gemが豊富なので以下のようなGemを使って実装を効率化しています。 # Gemfile sample gem 'appiu

    メルカリQA-SETチームが進めているテスト自動化についての質問まとめ | メルカリエンジニアリング
  • メルカリQA-SETチームが考えているQAやテストの未来のはなし | メルカリエンジニアリング

    こんにちは。メルカリの自動化エンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 今年のはじめに、QAエンジニアとSET(Software Engineer in Test)で構成される「QA-SETチーム」が誕生しました。現在は、そのチームのマネージャも担当しています。今回はQA-SETチームで目指している「メルカリでのQAやテストの未来」をご紹介させていただきます。 メルカリでは、上の図のようにプロジェクトごとに開発チームが分かれています。 それぞれの開発チームには、プロジェクトを実現するために必要な人材が集まっており、アジャイルの文脈だと職能横断型チーム(Cross-FunctionalTeam)になっています。これによって、開発に不要なセクショナリズムがなくなり、自然にプロジェクトに集中できる環境になります。 QAエンジニアもそれぞれのプロジ

    メルカリQA-SETチームが考えているQAやテストの未来のはなし | メルカリエンジニアリング