タグ

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

  • 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
  • JUnitで学ぶTest smells撃退法 / How to resolve Test smells using JUnit5

    スクラムフェス新潟2023で発表した際に使用した資料です! https://confengine.com/conferences/scrum-fest-niigata-2023/proposal/18389/junittest-smells

    JUnitで学ぶTest smells撃退法 / How to resolve Test smells using JUnit5
    sh19910711
    sh19910711 2024/04/20
    "Test Smells: ”Refactoring Test Code”(論文)が初手 + 「xUnit Test Patterns」で体系的に整理 / Test Smellsが埋め込まれる背景の一つには最新版のTesting Frameworkを使用していないことが挙げられ" 2023
  • Github Copilotを活用したテスト駆動開発 - テコテック開発者ブログ

    こんにちは。決済認証システム開発事業部の齊藤です。 最近Github Copilot(以下、Copilot)を試験導入し使っているのですが、開発する上で特にテスト駆動開発が捗ることに気づきました。そこで、社内外の方にもCopilotを使ったテスト駆動開発を広められれば、全体的に開発効率を上げることができるのではないかと思い記事を書きました。 目次 目次 Copilotとは テスト駆動開発とは Copilotを活用したテスト駆動開発の手順とメリット テスト駆動開発の手順 Copilotを使用したテスト駆動開発 Copilotを使ったテスト駆動開発のメリット テストコードを書くスピードが上がる テストコードの品質が上がる テストコードを書くストレスが減る その他にも…… Copilotを使ったテスト駆動開発の注意点 まとめ Copilotを使ったテスト駆動開発の今後の展望 テコテックの採用活

    Github Copilotを活用したテスト駆動開発 - テコテック開発者ブログ
    sh19910711
    sh19910711 2024/04/20
    "テストコードがあると、テストコードの内容を元に実装コードを予測してくれることもある / 仕様をテストコードに落とし込んでから実装する / 見落としを減らすことができるのでテストコードの品質が上がります" 2023
  • ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ

    9/7に行われた技育CAMPアカデミアというイベントでPlaywrightについて話をしてきました。テストというと、設計手法であるところのテスト駆動開発は別としてちょっと業務っぽい感じがして学生さんにはちょっと響かないかな、というのも心配でしたが、アンケートを見る限り、わかりやすかったという声も多くてほっとしました。 次のスライドが今回の資料です。スライドの内容の多くはPlaywright連載始まりますに掲載されている記事にもぼつぼつある内容も多い(APIテストはないですが)のですが、エントリーでは発表の最後に触れたChatGPTなどの生成AIを使ったE2Eテストの生成について説明していきます。 ChatGPTが話題を席巻してしばらく経ちます。とはいえ、内製開発での利用以外はソースコード開発にばりばり使う、みたいな宣言はあまり聞かない気がします。利用を制限している会社も数多くあります。

    ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ
    sh19910711
    sh19910711 2024/04/20
    "HTMLを渡すだけでそれを操作するコードを書いてくれました / Cypressはずっと安定したAPIを提供し、Playwrightはアクティブに機能追加したりしている印象がありますが、これが生成AI経由に使い勝手に影響" 2023
  • Cucumberコミュニティの消滅の危機はGherkin(Given / When / Then)記法の消滅の危機でもある - ブロッコリーのブログ

    はじめに 先日、Nextbeat Tech Bar:第一回ソフトウェアテストについて考える会にて、「BDD(Cucumber)コミュニティが無料提供しているコンテンツの紹介と現在起きている危機」というタイトルの発表をしました。 発表資料は以下です。 speakerdeck.com 記事では、発表時にはうまく伝え切れなかった部分を補足として書くことを目的としています。特に、Cucumberコミュニティ消滅の危機は、Gherkin(Given / When / Then)記法の消滅の危機にも繋がっているので、Cucumberを使っていない人にも影響があるということを理解していただきたいです。 目次 はじめに 目次 記事で言いたいことを3行で Gherkin記法とは何か Gherkin記法はCucumberコミュニティがメンテナンスしている Cucumberコミュニティが資金難で消滅してしま

    Cucumberコミュニティの消滅の危機はGherkin(Given / When / Then)記法の消滅の危機でもある - ブロッコリーのブログ
    sh19910711
    sh19910711 2024/04/19
    "Cucumberコミュニティは資金難に陥っています / BDDの学習コンテンツのメンテナンスや、Gherkin記法のメンテナンスがされなくなる恐れ / Gherkin記法: Given/When/Thenで書かれた、シナリオ記述フォーマット"
  • 機械学習システムのためのメタモルフィックテスティング入門 - Qiita

    はじめに 先日発行されました情報処理学会誌1月号で「機械学習応用システムのテスト・検証」という記事を書きましたが、スペースの制約などがあり、メタモルフィックテスティングについて十分な量を書けていません。また執筆後にメタモルフィックテスティングの提唱者であるTsong Yueh Chen先生の講演を聞いたり、他の文献を読んだりした中で、もう少し書き足したい部分もあり、そのようなところを中心にメタモルフィックテスティングについて解説します。 解決する問題:期待値が分からないテストの成否をどう決める? 一般的にソフトウェアのテストの成功・失敗を決める際、テストケースごとに期待値(期待結果、確認項目などとも言われたりします)があり、実際にテストケースを実行したときの出力と比べることをします。このときの「ソフトウェアに対するテストが成功か失敗かを判定するメカニズム」のことをテストオラクルと呼びます。

    機械学習システムのためのメタモルフィックテスティング入門 - Qiita
    sh19910711
    sh19910711 2024/04/19
    "メタモルフィックテスティング: 期待値が分からないテスト + 複数の入力を用意しそれらの出力間の関係を比較することでテストの成否を決めます / 情報処理学会誌1月号「機械学習応用システムのテスト・検証」" 2018
  • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

    Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

    Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
    sh19910711
    sh19910711 2024/04/19
    "プロパティベーステスト: 生成された多数の入力データに対してプロパティ(性質)が満たされるかどうか + HaskellのQuickCheckライブラリが初出 / 『ロバストPython』でHypothesisの存在を知った"
  • レガシーコードのはなしをしてみた #DevKan - 日々常々

    レガシーコードと対峙する方法を考える - DevLOVE関西 | Doorkeeper 2014/03/25にあったDevLOVE関西「レガシーコードと対峙する方法を考える」で、「"レガシーコード"再考」とか釣りっぽいタイトルで話してきました。DevLOVE関西は発表とダイアログって形式が多いので、その時のネタの一つにでもしてくれればいいかなーくらいを力点にしてます。だもんで、「レガシーコードってなんやねん」とか聞くだけ聞いて、結論付けたりとかはせずに終わったり。そんな毒にも薬にもならない話でした。 スライド "レガシーコード"再考 問い: 発表者の気持ちを答えよ(制限時間10分) 「レガシーコードの話をする」のは簡単なことだと思う。世の中にはレガシーコードが溢れてる事にはおおむね同意されるだろうし、見てきたものをそれなりに話すだけでも「あるある」とか「うへー」みたいな、参加者の多くである

    レガシーコードのはなしをしてみた #DevKan - 日々常々
    sh19910711
    sh19910711 2024/03/30
    "「レガシーでないコード」ってどう言うのを想定しているんだろう / レガシーコードが問題になるのは、変更コストが開発者のスキルを上回ったとき / 「変更に必要なスキル」はあっさりと人類の限界を突破する" 2014