ユニットテスト新着トピック3選!イチからわかるイマドキのテスト https://trident-qa.connpass.com/event/314818/ での発表資料です。
こんにちは、Algomatic LLM STUDIO インターンのなべ(@_h0jicha)です。 前回の記事では、LLM の日本語性能を評価するための様々なベンチマークを紹介しました。 tech.algomatic.jp しかし、こうしたベンチマークには以下のような課題が存在します。 ベンチマークの導入に負担がかかってしまうため、もっと 気軽に評価したい 既存のベンチマークによる評価が難しく独自実装が必要なとき、あらかじめ基本的な機能が搭載されている評価ツールを利用したい LLM の評価とともに、LLM を使用する際の プロンプトの評価も同時に行いたい そこで本記事では、LLM の出力品質を評価する際に活用できる promptfoo について紹介します。 目次 promptfoo とは? 導入方法 環境構築 実験設定 評価実行 アサーションについて アサーションタイプの概要 決定的評価指
以前 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
【Unit4 ブログリレー 1日目】 Viteは"ヴィート"と読みます♫ もう覚えましたね♫*1 こんにちは、エムスリーエンジニアリンググループの山田(@Satoki_1226)です。 本日より、Unit4でもブログリレーを行うこととなりました。Unit4は医療系ポータルサイト m3.com の開発・運営を担当するチームです。Unit4エンジニアがリレー形式でテックブログを執筆し、どんなメンバーがいるのか・どのような開発をしているのかなど、ご紹介できればと思います。 トップバッターである私からは、m3ラウンジというサービスのVite移行時に得られた知見をもとに、 Vite/Vitestへの移行によって感じた「速さ」 移行時の手順とポイント をお伝えできればと思います。Viteが気になっている方や、Vite移行の進め方に困っている方にとって少しでも参考になれば幸いです。なお掲載しているサンプ
この記事の手法は個人的に考えたものであり、効果は個人的な主観です。実際に作業効率がいかほど上昇したのかを数値かしたわけではありませんし、その効果を保証するものではありませんので予めご了承ください。 この記事が刺さると思われる人 副業などで一日の1,2時間で成果を上げる必要がある方 一日の隙間時間を見つけて学習をしている方 ポモドーロテクニックをやってみたけど「イマイチ効果がないな」と思われている方 ポモドーロテクニックとは? ご存じの方も多いかと思いますが、一応すごーく簡単に説明しておきます。 タイマーをセットし、25分間作業に集中 5分の休憩を取る これを4回繰り返したら、少し長めに休む(30分くらいが目安) ただし、ポモドーロテクニック自体の生産性向上への直接的な寄与は実験によって確認されたものではないそうです。 その辺りはパレオさんのこちらのブログに書かれておりますので気になる方はご
この記事を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へのリクエストを
タイトルが全てなんですけどね。 以下のような記事を見つけまして。 駄文:ABテストがモノづくりを破壊する | nekokak's blog いろいろと突っ込みどころはあるんですが、まず最初の「ABテストとは何か」が間違ってるんですよね。 ABテストって簡単に言うと2つ以上ある選択肢のうち一番良い結果を出すことのできるものを見つける事ですね。 もしこの記事を書いた方の組織がABテストをこのように捉えているなら、そりゃモノづくりもクソもあったもんじゃないよなと思います。 ABテストって、単に複数のクリエイティブから良いものを見つけ出す手法じゃないんです。 仮説を検証する行為なんです。テストなんですから。 単に複数のクリエイティブから良いものを見つけ出すなら、クリエイティブのパーツを機械的に作って、何千何万パターンと試せばいい。逆に言えば2つやそこらのパターン試しても意味ないです。数少なすぎ。
下記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
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
毎週、Twitter SpacesとDiscordで交互にテスト自動化の話をしながらランチを食べる会というのをやってるんだけど、この中でプログラミング経験の無いテスターが自動テストを覚えるのはプログラミングの技術を学ぶ上で有効かという議題が盛り上がった。 その場で出た意見は次のようなもので、概ねハードルが高いという意見で共通していたと思う。 自動テストは開発技術を転用したものなので、普通に開発スキルが無いと厳しい 自動テストだけ覚えてもプロダクトの品質向上には寄与しないことが多い 自動テストライブラリのシンタックスを覚えただけでは足りず、一般的なプログラミングスキルは当然必要になる 初めてのプログラミングの対象がブラウザなのはつらそう 自動テストはマイクロサービスとして捉えたほうが良い 以下は自分の意見。 モチベーションの重要さ プログラミング経験が全く無い人が、自動テストからプログラミン
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上で構築するためのサービスですが、高機能な分運用にあ
Jenkinsのpipelineを使うと、Jenkinsfileとしてジョブの定義・連携をGroovyで柔軟に記述できるようになります。そこでは例えば「変数を用いてノードやステージを横断する連携を実装する」「いろいろな外部スクリプトを実行して最適な実行条件を分析する」といった処理を容易に実装できます。 今回はその具体例として、pytestのテスト実行時間の最適化を行うJenkinsfileを題材にします。 pytestのテスト並列実行の時間を最適化する 対象は、pytestの2並列実行のジョブです。具体的には、Jenkins Pipelineで指定されたgitリポジトリから必要なファイルをチェックアウトし、その中のpytestのテストケースをノードサーバで実行して、結果をプッシュ& Jenkins Test Report出力する処理とします。実現にあたっては、(仮にテストケースが長大である
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個のフォ
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
結論を最初に書くと、 テストコードを書くだけではダメで、デイリービルドなりCIしないと意味ないんじゃないっすか?という事です。 最近Hudsonを使っていてすごいいいなぁ、と思うのがこの画面。 「リグレッション」という表現はすごい的を射ているなぁ、と思います。以前は「失敗」となっていたと記憶しています。 なんで的を射ているかと思ったかと言うと、テストコードって回帰テストの中で動かされると、その結果は「成功」と「失敗」だけではありませんよね。仕様変更による影響がテストコードので、テストコードが失敗すると言う事もある訳で。確かid:hyoshiokさんのブログだったかで拝見したかなんかだったんですが、Oracleでは毎朝デベロッパが出社すると、QA担当の人から失敗した回帰テストが回覧し、デベロッパに「これは障害なのか、仕様変更による影響なのか」を判断してもらった、と言う話を目にしました。テスト
Ubie(ユビー)株式会社でソフトウェアエンジニアをしている八木(@sys1yagi)です。現在Ubieはソフトウェアエンジニアが25名おり、採用活動の進捗としてはまもなく30名を超えることが見えてきています。 Ubieには大きく2種類のプロダクトがあります。病院向け(toB)の「AI問診ユビー」というプロダクトと、一般ユーザ向け(toC)の「AI受診相談ユビー」というプロダクトです。病院向けの「AI問診ユビー」は、病院、クリニック、グローバル(アジア)に分かれており、全体で4つのプロダクトを開発しています。これらのプロダクトは15個のサービスを組み合わせて動作しています。 プロダクトとサービスの関係図 プロダクト間連携で起こる課題現在はサービス群がざっくりプロダクトのバーティカルで分かれていて、一部で共通のサービスがあったり、プロダクト間で連携しあう部分が出てきたといった状態です。人数や
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く