タグ

testingに関するbabydaemonsのブックマーク (44)

  • AWSを使用したアプリケーションのローカルテスト

    AWSを使用したアプリケーションのテスト方法 AWSを使用しているアプリケーションの開発時に問題となるのは、どのようにテストを実施するかという問題が発生します。 この時の選択肢は次の通りとなります。 単体テスト時にAWSのモックを作成してテストを行う AWS上にテスト用の環境を用意してテスト時に接続してテストを行う LocalStackを使用してローカルにAWSサービスのエミュレーターを動かしてテストする 単体テスト時にAWSのモックを作成してテストを行う 単体テスト時にモックアップする方法はテストに都合のいいデータを返せるため容易にテストが行えます。 モックの作成に手間がかかりますし、思い込みでモックを作成してバグを作成する場合もありますが、Motoなどを用いることでこれらの問題は軽減できるでしょう。 ただし、あくまで単体テストでしか使用できません。例えば複数プロセスを連携するようなテス

    AWSを使用したアプリケーションのローカルテスト
  • 自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita

    リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 質的にテストが困難なモジュールで、誰がやってもテストが書けない。 質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場

    自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita
  • ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO

    GitHub Copilotとの単体テストがやばい。ChatGPTが書いてくれるテストもすごい。もうこれらがない時代には戻れないような気がします。 こんにちは。AWS事業コンサルティング部に所属している今泉(@bun76235104)です。 みなさんユニットテスト書いてますか? 昨今AIがダミーデータを書いてくれたり、ユニットテストそのものを書いてくれたりと技術の進歩がすごいですね。 私はリファクタリングが好きですが、リファクタリングをする前に絶対に必要なもの。 そうテストですね。 今回私がテストを後回しにしてしまった以下のOSSについてGitHub CopilotとChatGPTのそれぞれの力を借りながら、テストを書いてみました ※ これは以前私が始めたプロジェクトであり、OSSとして公開されているので学習に使われても問題のないコードです。 なお、GitHub Copilotの料金や

    ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO
  • JMeterでCSVを読み込んでJSONリクエストを投げる - Qiita

    JMeter設定 JMeterを起動し、[テスト計画]を右クリックし、[追加]>[Thread(Users)]>[スレッドグループ]を選択 スレッド数、Ramp-Up期間、ループ回数を指定 [スレッドグループ]を右クリックし、[追加]>[サンプラー]>[HTTPリクエスト]を選択 リクエスト内容設定。 [Body Data]でJSONを指定。${name}のような形式でCSVのヘッダと対応させた変数とする。 [HTTPリクエスト]を右クリックし、[追加]>[設定エレメント]>[HTTPヘッダマネージャ]を選択 [HTTPヘッダマネージャ]で 名前: Content-Type、値: application/json を追加 [HTTPリクエスト]を右クリックし、[追加]>[設定エレメント]>[CSV Data Set Config]を選択 [CSV Data Set Config]で[Fil

    JMeterでCSVを読み込んでJSONリクエストを投げる - Qiita
  • JMeterでJSON形式のデータをPOSTリクエストで送信する方法 - 不動の鳥の勉強記録

    ■はじめに 前回の記事(下記)でJMeterでGETリクエストの送信方法を紹介しました。 hiyo-ac.hatenablog.com 今回は続編で、JMeterからJSONのデータをPOSTリクエストで送信するときの設定を紹介します。 ■実行環境 OS: Windows 10 Home 64bit Java: 1.8.0_221 JMeter: 5.1.1 Node: 10.15.0 npm: 6.4.1 express: 4.16.0 1. リクエストを受け付けるWebサーバの構築 Webサーバの構築は前回の記事を参照いただければと思います。 今回はJSONのデータをやり取りするので、app.jsにJSONのデータをやり取りするための記述と、index.jsにPOSTリクエストを受信できるように記述を追加します。 /* ~~~省略~~~ */ var bodyParser = requ

    JMeterでJSON形式のデータをPOSTリクエストで送信する方法 - 不動の鳥の勉強記録
  • 【簡単】Webシステムの負荷テストツール(JMeter)の使い方

    今回開発するWebシステムの利用ユーザ数が意外と多いことが分かったので、久々にWebシステムの負荷試験(ストレステスト)をやってみます。 Webシステムの性能テストといえば、昔からApacheのJMeterが有名で私もよくお世話になりました。 JMeterってなに? JMeterというのはWebシステムをテストするツールの一つです。 JMeterは、人がブラウザを使ってWebサイトを表示したり、Webシステムに使ったりする部分を自動化できるツールです。 人間では操作できないような速さでリクエストを送ることができるので、多人数が一気にシステムを利用する状況を擬似的に作ることができ、高負荷時でもシステムがきちんと動作するのか確認することができます。 Webシステム開発などでは、性能試験フェーズでこのようなツールを使ってアクセスが集中しても問題なくシステムが動作するかテストします。この負荷テスト

    【簡単】Webシステムの負荷テストツール(JMeter)の使い方
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

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

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    babydaemons
    babydaemons 2017/12/06
    “悪性の Singleton についても、徐々に依存を切り離していき、3ヶ月ほどかけて滅ぼしました。Singleton を埋め込むのは一瞬ですが、切り離すのにはこんなにも時間がかかるのです”
  • ソフトウェアテストにおけるカバレッジ(C0/C1/C2) - 小さい頃はエラ呼吸

    はじめに ソフトウェアテストにおけるカバレッジについて、まとめてみました。 知識ゼロから学ぶソフトウェアテスト 【改訂版】posted with amazlet at 16.05.25高橋 寿一 翔泳社 売り上げランキング: 19,474 Amazon.co.jpで詳細を見る カバレッジとは、プログラムコードのルート(経路)どの程度を通ったか表す指標で、以下の3つのレベルがあります。 ソフトウェアテスト - Wikipedia C0 ステートメントカバレッジ/命令網羅 すべての命令を実行すればよい C1 ブランチカバレッジ/分岐網羅 すべての分岐において、すべての分岐の方向を実行すればよい。分岐網羅は命令網羅の基準を満たす C2 コンディションカバレッジ/条件網羅 各々の個別条件について、全ての可能な結果を少なくとも1回はとるように実行すればよい。条件網羅基準は分岐の方向を意識しないため、

    ソフトウェアテストにおけるカバレッジ(C0/C1/C2) - 小さい頃はエラ呼吸
    babydaemons
    babydaemons 2017/11/21
    今更ながら、復習してる。。。
  • Google Test ユーザーが Boost.Test を使ってみた

    この記事は、C++ Advent Calendar 2012: 17日目の記事になります。 お題は「Google Test ユーザーが Boost.Test を使ってみた」です。 (2012/12/27: 補足記事を書きました。) これまで、C++ の testing framework には Google Test を使ってきたのですが、 この機会に Boost.Test に挑戦したいと思います。 今年2月に行われた「Boost.勉強会 #8 大阪」の参加報告で Boost.Test 使うぜ!っと意気込んでおいて今更かという感じではありますが・・・ では、なぜ今まで使わなかったのかというと boost の導入がめんどくさそう 日語情報が少ない Google Test が使いやすかった と、いう勝手なイメージがあったからです。最後のが一番大きな理由でした。 でも、他のフレームワークのこと

    Google Test ユーザーが Boost.Test を使ってみた
  • レガシーなRubyコードのリファクタリングを支援するSutureの紹介 - クラウドワークス エンジニアブログ

    はじめに こんにちは、先日のRubyKaigi 2016に参加してきた@yosuです。 Ruby 3に向けた話題や幅広いテーマで楽しくとても刺激になりました。 そんな中僕が特に印象に残ったのが2日目のキーノート、Justin Searlsさんの「Fearlessly Refactoring Legacy Ruby」です。直訳すると「レガシーなRubyコードを恐れずリファクタリングする」でしょうか。 トークの内容も素晴らしかったのですが、そのトークをベースにTDD(トーク・ドリブン・デベロップメント)でSutureというGemも 作られていて、感動して触ってみたので今回はこちらのGemを紹介したいと思います。 スライドも公開されており(Surgical Refactors by Justin Searls)、こちらにこのGemを作った背景や目指すゴールについて書かれていますので是非見てみて下

    レガシーなRubyコードのリファクタリングを支援するSutureの紹介 - クラウドワークス エンジニアブログ
  • RSpecのletを使うのはどんなときか?(翻訳) - Qiita

    はじめに RSpecにはletという機能があります。 これを使うとインスタンス変数を次のように置き換えることができます。 # インスタンス変数を使う場合 before do @user = User.new(name: 'Taro', email: 'taro@example.com') end it 'is valid' do expect(@user).to be_valid end # letを使う場合 let(:user) { User.new(name: 'Taro', email: 'taro@example.com') } it 'is valid' do expect(user).to be_valid end RSpecを使い慣れている人であれば、おそらくletを使うことが多いと思いますが、初心者の人には違いやメリットがよくわからないと思います。 また、使い慣れている人で

    RSpecのletを使うのはどんなときか?(翻訳) - Qiita
  • C# から Selenium Web Driver を利用してみる - らくがきちょう

    「単調な Web の試験を自動化したい」と思うことは良くあります。こういった場合は Selenium が便利です。 Selenium の種類 Selenium には歴史的経緯から、以下のような種類があります。今回は Selenium WebDriver を使います。 Selenium 1(通称、「Selenium Remote Control」または「Selenium RC」) JavaScript として実装されている ブラウザ毎に共通実装なので、「あるブラウザでは動作するが、別のブラウザでは動作しない」という、ブラウザ毎の JavaScript 実装差異の影響を受ける可能性がある ブラウザのサンドボックスにロードされ、実行される。つまり、サンドボックスの制限を受ける Selenium 2(通称、「Selenium WebDriver」または「WebDriver」) ブラウザ毎にドライバ

    C# から Selenium Web Driver を利用してみる - らくがきちょう
  • テストと開発の違いをわかりやすく教えてやんよ! - うさぎ組

    タイトルは釣りです。むしろ、教えてほしいです。とは言いつつも自分で比喩が思い浮かんだので書いてみました。 テストはQAでもいいんだけど、まぁロールとか立場とか視座とかが違うとはこういうことであるというのをなんかいい比喩を考えついたので。 このエントリでは「プログラミングする」と「テストする」はどう違うのか?ということを説明します。なので、プログラマーが「うーん。テストしているんだけど、あんまり意味がないかもー」って感じるときはこの例に出てくるような「テストする」になっていないかもしれないし、ただただ品質が高いのかもしれません。 ソフトウェア開発を塗り絵として考える ソフトウェア開発はある形の塗り絵として考えてみます。複雑なものはちょっと考えにくいので、まずは大きな長方形を赤色に塗ることとしましょう。 まず開発する(塗る) で、例えばプログラミングするときに左から右に筆で赤く塗ったとしましょ

    テストと開発の違いをわかりやすく教えてやんよ! - うさぎ組
    babydaemons
    babydaemons 2014/08/14
    個人的な業務経験上、QAでした。“テストはQAでもいいんだけど” この喩えって、こうさぎちゃんが塗り絵やったりしましたか?
  • えっ、私のテストカバレッジ、低すぎ…? - いま作ってます。

    まとめ テストの「カバレッジ」には、C0, C1, C2の3レベルが存在する 一般的なカバレッジ測定ツールはC0しか測定できない C0だろうがC2だろうが、カバレッジは目安にしかならない とはいえ、他に目安になる物は何もないので、見ないよりは見た方がいい 序 しばらく前のShibuya.js*1が面白そうだったので指をくわえながらIRCで後輩に一席ぶった「テストカバレッジの罠」について書いておくよ。 FizzBuzzのテスト 以下のようなコードを考えよう*2。 <?php function fizzbuzz($i){ $return = ''; if( $i % 3 === 0 ) $return .= 'Fizz'; if( $i % 5 === 0 ) $return .= 'Buzz'; if( $i % 3 !== 0 && $i % 5 !== 0 ) $return = $i;

    えっ、私のテストカバレッジ、低すぎ…? - いま作ってます。
    babydaemons
    babydaemons 2014/07/29
    “カバレッジレベルは全ての制御パスを網羅するC7が最大です(C2だとループ内の条件分岐を扱いきれません)。そこら辺は「はじめて学ぶソフトウェアテスト技法」に詳しいの”
  • Selenium何とかっていうツールがやたら色々あるのはどういうわけなのか | MagicPod Tech Blog | MagicPod: AIテスト自動化プラットフォーム

    ブラウザの画面テストを自動化するツール、Selenium。 大変便利なツールなのですが、Selenium RC、Selenium IDE、WebDriverなど色々な名前が出てきて、「なぜこんなややこしいことになっているんだろうか」と思ったことはありませんか? その理由を知るには、Seleniumの歴史について知る必要があります。 今回は、Seleniumの誕生から2013年5月現在に至るまでの歴史を振り返りながら、それぞれのツールがどのような位置付けのものなのか、見ていくことにしましょう。 ※ 歴史はいいからとりあえずSeleniumを使ってみたい、という方は、Selenium公式サイトからSelenium IDEをダウンロードすれば使えます。 Selenium Core Seleniumの原型は、米ThoughtWorks社で働いていたJason Huggins氏によって2004年に作

    Selenium何とかっていうツールがやたら色々あるのはどういうわけなのか | MagicPod Tech Blog | MagicPod: AIテスト自動化プラットフォーム
  • kyonmm / テストの使い方 - Glide

    Please note that Glide no longer supports Internet Explorer versions 7 or 8.

    kyonmm / テストの使い方 - Glide
    babydaemons
    babydaemons 2014/05/24
    後で見ようっと
  • Cafe.Testing vol.27 (2014/06/24 19:30〜)

    お知らせ 【重要なお知らせ】iOSアプリの運用および提供を2024年6月3日(月)を以て終了いたします。詳細は お知らせをご覧ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用申請及び審査がございます。詳細はヘルプページをご確認ください。

    Cafe.Testing vol.27 (2014/06/24 19:30〜)
    babydaemons
    babydaemons 2014/05/20
    平日かー。定退すればさんかできるけど。。。
  • Codeer

    自動テスト作成はそれ自体がソフトウェア開発です。成功に導くには研ぎ澄まされた設計/実装が不可欠です。それは変わりません。 TestAssistantProはCodeerが推奨する自動テストの実装を高度にアシストいたします。 VisualStudioの拡張としてご利用いただけます。

    babydaemons
    babydaemons 2014/05/20
    このシームレスさって、テスト対象プロセスにアタッチしてるのかしら?
  • UI オートメーションによる自動テスト - .NET Framework

    Note このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。 この概要では、自動テストのシナリオで、プログラムによるアクセスのためのフレームワークとして Microsoft UI オートメーションがどのように役立つかについて説明します。 UI オートメーションの統一されたオブジェクト モデルを使用すると、すべてのユーザー インターフェイス (UI) フレームワークにおいて、複雑で豊富な機能をアクセシビリティが高く自動化しやすい方法で公開できます。 UI オートメーションは、Microsoft Act

    UI オートメーションによる自動テスト - .NET Framework
    babydaemons
    babydaemons 2014/05/20
    これが本命? “UIAutomationClient.dll は、UI オートメーションのクライアント側 API へのアクセスを提供します。 UIAutomationClientSideProvider.dll は、Win32 コントロールを自動化する機能を提供します”
  • はてなやクックパッドの開発現場で、CIやテストはどう行われているのか?(前編)。CROSS 2014 - Publickey

    Web技術について横断的に語り合うイベント「CROSS 2014」が1月17日、都内で行われました。 そのセッションの1つ「現場に聞く!テスト/CI/DevOps、実際のところどうなの」では、フリーランスエンジニアの伊藤直也氏がセッションオーナーとして司会を担当し、クックパッドで開発まわりのエンジニアをしている舘野祐一氏、はてなでアプリケーションエンジニアをしている伏井洋平氏、KAIZEN platform Inc.の石橋利真氏らがスピーカーとして登壇。 先進的な現場でテストやCIがどのように行われ、エンジニアのチームがどのように情報共有をしているか、音で語るという注目すべき内容でした。記事ではそのダイジェストを紹介しましょう。 現場に聞く!テスト/CI/DevOps、実際のところどうなの 伊藤 今日のテーマとしてはCI(Continuous Integration、継続的インテグレー

    はてなやクックパッドの開発現場で、CIやテストはどう行われているのか?(前編)。CROSS 2014 - Publickey