タグ

testingに関するsh19910711のブックマーク (771)

  • 入門プロパティベーステスト/learning-property-based-testing

    ユニットテスト新着トピック3選!イチからわかるイマドキのテスト https://trident-qa.connpass.com/event/314818/ での発表資料です。

    入門プロパティベーステスト/learning-property-based-testing
    sh19910711
    sh19910711 2024/05/29
    "プロパティベース: プロパティで問題をとらえる + ジェネレータで入力を生成 + 事後条件を検証する / 満たすべき挙動を形式化してとらえることで問題に集中 / 事例の抜け漏れ、個人差などを考慮する必要が減る"
  • LLM評価ツールpromptfooとアサーションの解説 - Algomatic Tech Blog

    こんにちは、Algomatic LLM STUDIO インターンのなべ(@_h0jicha)です。 前回の記事では、LLM の日語性能を評価するための様々なベンチマークを紹介しました。 tech.algomatic.jp しかし、こうしたベンチマークには以下のような課題が存在します。 ベンチマークの導入に負担がかかってしまうため、もっと 気軽に評価したい 既存のベンチマークによる評価が難しく独自実装が必要なとき、あらかじめ基的な機能が搭載されている評価ツールを利用したい LLM の評価とともに、LLM を使用する際の プロンプトの評価も同時に行いたい そこで記事では、LLM の出力品質を評価する際に活用できる promptfoo について紹介します。 目次 promptfoo とは? 導入方法 環境構築 実験設定 評価実行 アサーションについて アサーションタイプの概要 決定的評価指

    LLM評価ツールpromptfooとアサーションの解説 - Algomatic Tech Blog
    sh19910711
    sh19910711 2024/05/27
    "ベンチマークの導入: LLM の評価とともに、LLM を使用する際の プロンプトの評価も同時に行いたい / promptfoo: ソフトウェアのテスト設計に影響 + 出力に対してテスト項目を指定することで、LLM の応答品質を定量的に評価"
  • Pyppeteer(with headless Chromium) + GitHub Actionsでoptuna-dashboardの継続的E2Eテスト - c-bata web

    以前 optuna-dashboard というWebツールを開発・公開しました。 もともと Goptuna のために実装したReact.js + TypeScript製のSPAのWebツールでしたが、Optunaでも使えるようにしたところ、周りでも使ってるよという声をいただくことが増えてきて、公式に利用が推奨されるようになりました。 Optuna v2.7.0 released, with new tutorials, examples, and code improvements! @c_bata_ has fully redesigned the dashboard. Try out the new version with `pip install optuna-dashboard` and then `optuna-dashboard $STORAGE_URL`!https://t

    Pyppeteer(with headless Chromium) + GitHub Actionsでoptuna-dashboardの継続的E2Eテスト - c-bata web
    sh19910711
    sh19910711 2024/05/26
    "Plotly.jsによるグラフ描画が主な処理になるため、ユニットテストで保証できる振る舞いはそれほど多くありません / Pyppeteerを使ってVisual regression testingのようなアプローチをとったのですが結構便利でやってよかった" 2021
  • GitHub Copilotと快適なユニットテストコード作成生活

    こちらで登壇させていただいた資料です。 https://trident-qa.connpass.com/event/314818/ ※ こちらは2024/05/23 時点の私の考えとなります。更新の予定はございませんのでご了承ください

    GitHub Copilotと快適なユニットテストコード作成生活
    sh19910711
    sh19910711 2024/05/24
    "GitHub Copilot: タブとして開いているファイルを元に提案 + コメントで指示を与えることでより意図した結果を得やすい / ファイルのトップレベルだけではなく、適宜「単一、具体的、短い」コメントがよりよい"
  • ViteとVitestで開発のリズムを上げる - エムスリーテックブログ

    【Unit4 ブログリレー 1日目】 Viteは"ヴィート"と読みます♫ もう覚えましたね♫*1 こんにちは、エムスリーエンジニアリンググループの山田(@Satoki_1226)です。 日より、Unit4でもブログリレーを行うこととなりました。Unit4は医療系ポータルサイト m3.com の開発・運営を担当するチームです。Unit4エンジニアがリレー形式でテックブログを執筆し、どんなメンバーがいるのか・どのような開発をしているのかなど、ご紹介できればと思います。 トップバッターである私からは、m3ラウンジというサービスのVite移行時に得られた知見をもとに、 Vite/Vitestへの移行によって感じた「速さ」 移行時の手順とポイント をお伝えできればと思います。Viteが気になっている方や、Vite移行の進め方に困っている方にとって少しでも参考になれば幸いです。なお掲載しているサンプ

    ViteとVitestで開発のリズムを上げる - エムスリーテックブログ
    sh19910711
    sh19910711 2024/05/24
    "Vitest: ViteのHMRが高速であるため、テストの再実行も非常に速く、自身の変更が即座にテスト結果として反映される / リズムに乗るどころか、Vitestに置き去りにされる感覚を覚えることもある" 2023
  • テスト駆動開発の発想×ポモドーロテクニック=『TODO駆動ポモドーロ』で作業効率化する手法を実践してみた - Qiita

    この記事の手法は個人的に考えたものであり、効果は個人的な主観です。実際に作業効率がいかほど上昇したのかを数値かしたわけではありませんし、その効果を保証するものではありませんので予めご了承ください。 この記事が刺さると思われる人 副業などで一日の1,2時間で成果を上げる必要がある方 一日の隙間時間を見つけて学習をしている方 ポモドーロテクニックをやってみたけど「イマイチ効果がないな」と思われている方 ポモドーロテクニックとは? ご存じの方も多いかと思いますが、一応すごーく簡単に説明しておきます。 タイマーをセットし、25分間作業に集中 5分の休憩を取る これを4回繰り返したら、少し長めに休む(30分くらいが目安) ただし、ポモドーロテクニック自体の生産性向上への直接的な寄与は実験によって確認されたものではないそうです。 その辺りはパレオさんのこちらのブログに書かれておりますので気になる方はご

    テスト駆動開発の発想×ポモドーロテクニック=『TODO駆動ポモドーロ』で作業効率化する手法を実践してみた - Qiita
    sh19910711
    sh19910711 2024/05/21
    "「やること」を決めてからポモドーロ / 「xxxという機能を作る」を決めるだけでなく最初に「xxxという機能を実現するために実装すべきこと」を定義 / 読書であれば、「1章のxxxまで読み進める」のように具体的な目標"
  • X-RayはpytestとFlameGraphを組み合わせると便利 - Qiita

    この記事を3行で AWS X-Rayをpytestで使うと便利 関数の通過や例外の発生をassertでテストできる X-Rayの可視化にFlameGraphを使えば、各関数の実行時間が分かりやすい この記事を書く理由 AWS X-Rayが便利なので、AWS環境へのデプロイの前でも使える使い方を紹介したい。 完成後の挙動 この記事で作成する単体テストを、Pytestで実行すると、 単体テストが吐き出したX-Rayのデータをもとに、下のようなグラフがローカルのPC上に作成されます。 FlameGraphと呼ばれているグラフです。炎のように下から上に伸びていくことが特徴です。 グラフの縦の方向は関数の呼び出しを表しています。 たとえばこのグラフなら、下から上に読んで、lambda_handler関数がnetwork_process関数を呼び出して、そこからgoogle.co.jpへのリクエストを

    X-RayはpytestとFlameGraphを組み合わせると便利 - Qiita
    sh19910711
    sh19910711 2024/05/16
    "AWS X-Rayをpytestで使うと便利 / 実行された関数が想定通りか、例外の内容が想定通りか、といった試験が書きやすく、分かりやすい / 実装を変えながらパフォーマンスを比較 + 異常系のパフォーマンスを計測"
  • ABテストツールは「数打ちゃ当たる」を機械化するためのツールではない - 絶倫ファクトリー

    タイトルが全てなんですけどね。 以下のような記事を見つけまして。 駄文:ABテストがモノづくりを破壊する | nekokak's blog いろいろと突っ込みどころはあるんですが、まず最初の「ABテストとは何か」が間違ってるんですよね。 ABテストって簡単に言うと2つ以上ある選択肢のうち一番良い結果を出すことのできるものを見つける事ですね。 もしこの記事を書いた方の組織がABテストをこのように捉えているなら、そりゃモノづくりもクソもあったもんじゃないよなと思います。 ABテストって、単に複数のクリエイティブから良いものを見つけ出す手法じゃないんです。 仮説を検証する行為なんです。テストなんですから。 単に複数のクリエイティブから良いものを見つけ出すなら、クリエイティブのパーツを機械的に作って、何千何万パターンと試せばいい。逆に言えば2つやそこらのパターン試しても意味ないです。数少なすぎ。

    ABテストツールは「数打ちゃ当たる」を機械化するためのツールではない - 絶倫ファクトリー
    sh19910711
    sh19910711 2024/05/13
    "事前のリサーチから得られた仮説を検証する / 仮説のあるテストならば、テスト結果が悪くても学びはあり + 良い仮説は良いテストを生み出し、良いテストは良い仮説を生み出します" 2015
  • terraform plan 結果の検証を自動化するぞ! with Conftest / Testing terraform plan with Conftest

    下記LT会にて発表した資料です。 自動化大好きエンジニアLT会 - vol.5 - connpass https://rakus.connpass.com/event/224448/ スライド内リンク一覧 --- 8ページ - Conftest https://www.conftest.dev/ - Open Policy Agent https://www.openpolicyagent.org/ 12ページ - hashicorp/terraform-json https://github.com/hashicorp/terraform-json 20ページ - Flatten nested JSON using jq https://stackoverflow.com/questions/37540717/flatten-nested-json-using-jq/37555908#3

    terraform plan 結果の検証を自動化するぞ! with Conftest / Testing terraform plan with Conftest
    sh19910711
    sh19910711 2024/05/12
    "Conftest (Open Policy Agent): Terraformに限らずあらゆる構造化された内容をテストできる + ポリシー自体のテストも可能 / plan結果のjsonは `resource_changes` 以外にもさまざまな情報を持っている" 2021
  • AWS Step Functionsの単体テスト実施手順 | takemikami's note

    AWS Step Functionsの単体テストをローカル環境で実施したい場合、 AWSのドキュメントに「AWS Step Functions Local」を使った方法が記載されており、 AWS Step Functionsから呼び出す処理(Lamda,SQSなど)をモックする方法もあります。 ステートマシンのローカルテスト | docs.aws.amazon.com https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/sfn-local.html モックサービス統合の使用 | ステートマシンのローカルテスト | docs.aws.amazon.com https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/sfn-local-test-sm-exec.html

    AWS Step Functionsの単体テスト実施手順 | takemikami's note
    sh19910711
    sh19910711 2024/05/09
    "Step Functionsの単体テスト: ドキュメントに「AWS Step Functions Local」を使った方法が記載 + 呼び出す処理(Lamda,SQSなど)をモックする方法もあり / 繰り返しの実施をしやすいようにpytestに組み込む"
  • プログラミングの入り口として自動テストは有効か - マンガ・ロジスティクス・エフ

    毎週、Twitter SpacesとDiscordで交互にテスト自動化の話をしながらランチべる会というのをやってるんだけど、この中でプログラミング経験の無いテスターが自動テストを覚えるのはプログラミングの技術を学ぶ上で有効かという議題が盛り上がった。 その場で出た意見は次のようなもので、概ねハードルが高いという意見で共通していたと思う。 自動テストは開発技術を転用したものなので、普通に開発スキルが無いと厳しい 自動テストだけ覚えてもプロダクトの品質向上には寄与しないことが多い 自動テストライブラリのシンタックスを覚えただけでは足りず、一般的なプログラミングスキルは当然必要になる 初めてのプログラミングの対象がブラウザなのはつらそう 自動テストはマイクロサービスとして捉えたほうが良い 以下は自分の意見。 モチベーションの重要さ プログラミング経験が全く無い人が、自動テストからプログラミン

    プログラミングの入り口として自動テストは有効か - マンガ・ロジスティクス・エフ
    sh19910711
    sh19910711 2024/05/06
    "Excel VBAで業務を自動化したのがプログラマーとしての入り口だった / 何か新しいものを学ぶときは、今の課題感や解決したい問題に対する直接的なアプローチになるようなものを選んだほうがいい" 2021
  • Amazon GameLift Testing Toolkitを使ってプレイヤー接続テストやマッチメイキングシミュレーションを手軽に行う | DevelopersIO

    Amazon GameLift Testing Toolkitを使ってプレイヤー接続テストやマッチメイキングシミュレーションを手軽に行う こんにちは、ゲームソリューション部の入井です。 今回は、AWS公式が配布しているAmazon GameLift Testing Toolkitについて、実際に使ってみてどのようなことができるのかを確認しました。 Amazon GameLift Testing Toolkitとは OSSとして公開されているツールで、その名の通りAmazon GameLiftのテストを行うためのものです。 aws-samples/amazon-gamelift-testing-toolkit: Amazon GameLift Testing Toolkit Amazon GameLiftはマルチプレイヤー用のサーバをAWS上で構築するためのサービスですが、高機能な分運用にあ

    Amazon GameLift Testing Toolkitを使ってプレイヤー接続テストやマッチメイキングシミュレーションを手軽に行う | DevelopersIO
    sh19910711
    sh19910711 2024/05/02
    "GameLift: 高機能な分運用にあたって管理しなければいけない要素が多く + テストの実施にも手間 / 仮想プレイヤーを使ったGameLiftのマッチング~セッション参加までの動作確認 + Fargateタスクの形で仮想プレイヤーを作成"
  • Apache Beam Python SDK でパイプラインのテストコードを書く - public note

    sh19910711
    sh19910711 2024/05/01
    "Apache Beam: SDK には testing パッケージが用意 + パイプラインに対するテストコードを書けます / Beam パイプラインは、一般のコードと比較すると読んだだけでは挙動をイメージしにくい印象" 2023
  • AirtestとPocoとOpenSTFによるUnity製スマートフォン向けゲームの実機自動テスト環境構築とその利用方法

    「CEDEC 2020」の発表資料です。 http://cedec.cesa.or.jp/2020/session/detail/s5e82a55322244

    AirtestとPocoとOpenSTFによるUnity製スマートフォン向けゲームの実機自動テスト環境構築とその利用方法
    sh19910711
    sh19910711 2024/04/28
    "Airtest: 画像認識によるテストコードを記述できる環境 / Poco: Airtestのライブラリ + Unityや各種ゲームフレームワークのUI情報を取得し、Python上で操作 / DeviceFarmer: 元々はCyberAgent社で開発 + ブラウザごしに実機を操作" 2020
  • モックの泥沼から脱却するために、あえてDBにつないでテストしている話

    PHPerKaigi2021

    モックの泥沼から脱却するために、あえてDBにつないでテストしている話
    sh19910711
    sh19910711 2024/04/25
    "テストの密結合: モックを使ったテストはテストがメソッドの中身まで詳しく知ってしまっている + 他クラスの変更でテストが壊れてしまう / モックを使えば使うほどテストはホワイトボックステストに近づいていく" 2021
  • Jenkins PipelineのJenkinsfileでテスト並列実行を最適化する - 千里霧中

    Jenkinsのpipelineを使うと、Jenkinsfileとしてジョブの定義・連携をGroovyで柔軟に記述できるようになります。そこでは例えば「変数を用いてノードやステージを横断する連携を実装する」「いろいろな外部スクリプトを実行して最適な実行条件を分析する」といった処理を容易に実装できます。 今回はその具体例として、pytestのテスト実行時間の最適化を行うJenkinsfileを題材にします。 pytestのテスト並列実行の時間を最適化する 対象は、pytestの2並列実行のジョブです。具体的には、Jenkins Pipelineで指定されたgitリポジトリから必要なファイルをチェックアウトし、その中のpytestのテストケースをノードサーバで実行して、結果をプッシュ& Jenkins Test Report出力する処理とします。実現にあたっては、(仮にテストケースが長大である

    Jenkins PipelineのJenkinsfileでテスト並列実行を最適化する - 千里霧中
    sh19910711
    sh19910711 2024/04/24
    "Jenkinsfile: ジョブの定義・連携をGroovyで柔軟に記述できる / 変数を用いてノードやステージを横断する連携 / 外に用意した集計スクリプトを呼び出して、ノードで実行するテストケースを動的に選択" 2019
  • Out-Of-Fold (OOF) による機械学習モデルの評価 - Qiita

    Out-Of-Fold (OOF) の実装は、一般的にはScikit-LearnのK-Foldクロスバリデーションを用いて行います。以下に、単純な分類器を用いたOOFのPythonによる実装の例を示します。 from sklearn.model_selection import KFold from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score import numpy as np Out-Of-Fold (OOF) による機械学習モデルの評価 1. OOFとは? Out-Of-Fold (OOF)とは、クロスバリデーションの一部で、特にK-foldクロスバリデーションの際に用いられる概念です。データセットをK個の部分集合(フォールド)に分け、K-1個のフォ

    Out-Of-Fold (OOF) による機械学習モデルの評価 - Qiita
    sh19910711
    sh19910711 2024/04/24
    "OOF; Out-Of-Fold: モデルの未見のデータに対する予測性能をより正確に評価 / データセットをK個の部分集合に分け、K-1個のフォールドを訓練データとし、残り1個のフォールドをテストデータ + 得られた予測値の平均を計算" 2023
  • Hadoop MapReduce向けテストライブラリ「Apache MRUnit 1.0」リリース | OSDN Magazine

    Apache Hadoop MapReduce向けユニットテストライブラリ「Apache MRUnit」の開発チームは4月15日、「Apache MRUnit 1.0.0」をリリースした。2012年5月にApacheのトップレベルプロジェクト(TLP)となって以来初のリリースとなる。 Apache MRUnitは、Javaで書かれたApache Hadoop MapReduceジョブのユニットテスト用ライブラリ。ソフトウェアテストを自動化することで、プロジェクトの品質や作業効率が改善すると言われている。2009年に開発がスタートし、2011年よりApache Software Foundation(ASF)のプロジェクトとして運営されている。 MRUnit 1.0は2012年5月に公開されたバージョン0.9以来のリリースとなる。新機能として、MapReduceのDistributedCac

    Hadoop MapReduce向けテストライブラリ「Apache MRUnit 1.0」リリース | OSDN Magazine
    sh19910711
    sh19910711 2024/04/23
    "Apache MRUnit: MapReduceジョブのユニットテスト用ライブラリ + 2012年5月にApacheのTLP / 2009年に開発がスタート + 2011年よりApache Software Foundation(ASF)のプロジェクトとして運営" 2013
  • 次第に腐るテストコード - Fly me to the Luna

    結論を最初に書くと、 テストコードを書くだけではダメで、デイリービルドなりCIしないと意味ないんじゃないっすか?という事です。 最近Hudsonを使っていてすごいいいなぁ、と思うのがこの画面。 「リグレッション」という表現はすごい的を射ているなぁ、と思います。以前は「失敗」となっていたと記憶しています。 なんで的を射ているかと思ったかと言うと、テストコードって回帰テストの中で動かされると、その結果は「成功」と「失敗」だけではありませんよね。仕様変更による影響がテストコードので、テストコードが失敗すると言う事もある訳で。確かid:hyoshiokさんのブログだったかで拝見したかなんかだったんですが、Oracleでは毎朝デベロッパが出社すると、QA担当の人から失敗した回帰テストが回覧し、デベロッパに「これは障害なのか、仕様変更による影響なのか」を判断してもらった、と言う話を目にしました。テスト

    次第に腐るテストコード - Fly me to the Luna
    sh19910711
    sh19910711 2024/04/23
    "テストコードを書くだけではダメで、デイリービルドなりCIしないと意味ない / 「リグレッション」という表現はすごい的を射ている / 腐ったテストコード: テストコードは毎朝結果を確認しないといけない" 2011
  • Pactで小さく始めるコンシューマ駆動契約テスト|sys1yagi

    Ubie(ユビー)株式会社でソフトウェアエンジニアをしている八木(@sys1yagi)です。現在Ubieはソフトウェアエンジニアが25名おり、採用活動の進捗としてはまもなく30名を超えることが見えてきています。 Ubieには大きく2種類のプロダクトがあります。病院向け(toB)の「AI問診ユビー」というプロダクトと、一般ユーザ向け(toC)の「AI受診相談ユビー」というプロダクトです。病院向けの「AI問診ユビー」は、病院、クリニック、グローバル(アジア)に分かれており、全体で4つのプロダクトを開発しています。これらのプロダクトは15個のサービスを組み合わせて動作しています。 プロダクトとサービスの関係図 プロダクト間連携で起こる課題現在はサービス群がざっくりプロダクトのバーティカルで分かれていて、一部で共通のサービスがあったり、プロダクト間で連携しあう部分が出てきたといった状態です。人数や

    Pactで小さく始めるコンシューマ駆動契約テスト|sys1yagi
    sh19910711
    sh19910711 2024/04/21
    "プロダクト間で連携しあう部分において、変更によるクリティカルな問題の発生が多く / 契約として記載し、それらが共通の理解に準拠しているかをテスト / Pact: Rubyで実装され、その後様々な言語をサポート" 2021