タグ

テストとtestに関するluccafortのブックマーク (22)

  • スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev

    はじめに time.Now関数を用いたコードをテストする場合、テスト対象のコードに次のような変更を加える必要があります。 引数に現在時刻を渡す パッケージ変数やフィールドなどに現在時刻を返す関数やインタフェースを設定する context.WithValue関数でコンテキストに現在時刻を設ける どの方法を用いてもプロジェクトの初期から考慮する必要があります。途中で変更するとなると修正が箇所を漏れなく探し出す必要があります。また、パッケージ変数に現在時刻を返す関数を設定した場合、テストを並列に実行することを諦める必要が出てくるでしょう。 このような課題を解決するために、testtimeというライブラリを作成しました。 テストの並列実行と時刻の固定 次のようにパッケージ変数を使ってtime.Now関数のラッパーの挙動を変えてテストする手法があります。 var nowFunc func() tim

    luccafort
    luccafort 2021/07/07
    途中までtesttime便利なのでは?と思って読んでいたのに-overlayフラグがでてからこれめちゃくちゃ便利なのでは?!?!!!!ってなった。
  • golangでAPIなど外部にアクセスするロジックのテストをする - $shibayu36->blog;

    golangで、例えばGithubAPIを叩くような、特定のAPIにアクセスするロジックを書いた時、何も考えずにテストを書くと、テストを実行する際にもそのまま外部のAPIにアクセスしてしまう。この場合、色んなパターンのテストを書きづらい、依存している外部サービスが落ちたらテストも一緒に落ちるなどの問題が起こる。 このような問題から、統合テストではなくユニットテストのときは手元のみで完結して、外部サービスに依存しない状況でテストを書きたくなることがある。そこで今回は外部にアクセスするロジックを、手元で完結させた状態でテストする方法を試したので、その方法について書いてみる。 テストしたいコード 例えば以下のようなコード。Githubの https://github.com/shibayu36/shibayu36 の最新のリリースタグを取得し、そのリリースタグ名を出力する。これはGithub

    golangでAPIなど外部にアクセスするロジックのテストをする - $shibayu36->blog;
    luccafort
    luccafort 2018/01/12
    外部APIに依存しすぎてるテストコードを改善しようとして心折れたことがあったのでそのときにこういう実装が出来れば良かったのか…という気づきを得ている。
  • モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング

    こんにちは。メルカリのテストエンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 テスト自動化をすすめるにあたり、効率のよいテストを作るために、既存のテストケースについて調べる機会がありました。その過程で現状のQAプロセスも確認したのですが、以下のようなテストケース管理の課題があることがわかりました。 それぞれのテストエンジニアが、それぞれの方法で、それぞれのテストケースを管理しているため、ナレッジが横につながりにくい。 共有されているリグレッションテスト項目の更新が追いついておらず、情報が古くて使いにくい。 人数が増えてきて、ふりかえりや改善がやりにくい。 1については、現在、職能横断的なチーム構成になっているため、プロジェクトやプロダクトに集中できる環境である反面、それぞれのチームにいるQAエンジニアどうしのつながりが薄れてしまうことが原因に感じ

    モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング
    luccafort
    luccafort 2017/03/30
    TestRail可もなく不可もなくを地で行く感じの結果で面白い、逆にこの内容だとTestLodgeは微妙っぽくみえる。QASymphonyは良い点も多いけどいまいちな点も多いのが足を引っ張った形か。この評価式面白いな。
  • Selenium Antipatterns

    http://seleniumjp.connpass.com/event/24206/ 第3回日Seleniumユーザーコミュニティ勉強会の資料です。 Seleniumのアンチパターンについてです。

    Selenium Antipatterns
    luccafort
    luccafort 2016/02/09
    なるほど、良いまとめ。つまづきどころをまとめてくれているのとその対策を書いてくれてるのが最高にいい。
  • Seleniumテスト結果を見やすくするツール「Sahagin」を公開しました | MagicPod Tech Blog | MagicPod: AIテスト自動化プラットフォーム

    TRIDENTでは、主にSeleniumを活用したテスト自動化支援サービスを提供していますが、実際にSeleniumを利用する上で次のような課題があると感じていました。 保守性・柔軟性の観点から、プログラミング言語でスクリプトを書くことをお勧めしたいが、そうなると非プログラマがスクリプトやエラー内容を理解しにくくなる。 1ステップごと、もしくはエラー発生時に画面キャプチャを取得し、テスト結果画面から確認できるようにするための作り込みと設定が面倒。 この課題を解決し、Seleniumをもっと使いやすいものにするために、SahaginというHTMLレポートツールを作ってオープンソースで公開しました。現在ベータ版ですが、今日はその機能について紹介したいと思います。 Part 2では、インストール&利用方法(Java)、Q&A、既知の問題を紹介します。 Sahaginでできること Sahaginを

    Seleniumテスト結果を見やすくするツール「Sahagin」を公開しました | MagicPod Tech Blog | MagicPod: AIテスト自動化プラットフォーム
    luccafort
    luccafort 2015/01/06
    あとで読んだ、めっちょ便利そう。
  • Bayonetta2 開発ブログ

    Bayonetta2 開発ブログ 『ベヨネッタ2』発売2周年&amiibo初公開! 2016.09.20

    Bayonetta2 開発ブログ
    luccafort
    luccafort 2014/11/25
    ないよりはマシレベルだろというがデバッガの負担や機械に任せれるところは任せるべきという思想こそを大事にするべきだとは思わんかね?人力で消耗するよりはいいじゃん。
  • 【ノンプログラマ向け】プログラマの仕事内容を理解する(1) ~「テスト」という工程が必要な理由 | きのこる庭

    前書き 「一緒に働いている以上、プログラマのことを理解して仕事をしたい」そう考えている企画・ディレクションの方は経験則的に少なくない。 ノンプログラマから見て、プログラマの仕事はイメージが湧きづらく、何故その工程にそこまでのコストをかける必要があるのかわからない事が多い。 プログラマは作業の必要性を説明してくれるかもしれないけれど、専門用語も多いしイマイチピンとこなかったりする。 ここで重要なのはまさに「イメージ」だと思う。すなわちイメージを提供するための良質なメタファーだと思う。メタファーが良質であれば より直感的に理解できる。 実際メタファーの力はバカにならない。「Chef」も「Jenkins」も それぞれ 統一的な世界観が学習者の直感的な理解を後押ししてくれる。 というわけで、今回から数回に分けて なるべく「技術的な話」をせずに イメージを想起しやすいストーリーを導入することで プロ

    【ノンプログラマ向け】プログラマの仕事内容を理解する(1) ~「テスト」という工程が必要な理由 | きのこる庭
    luccafort
    luccafort 2014/11/20
    絵が何度見てもまずりんのノブ子にみえてしまって内容が入ってこないでござる。
  • TravisCI、SauceLabs、Protractorで始める簡単E2Eテスト入門 | チャットワーククリエーターズブログ

    自転車通勤始めました。@kyo_agoです。この記事はE2EテストAdventCalendar -26日目です。 今日はGithub上でTravisCI、SauceLabs、Protractorを使って簡単に始められる継続的E2Eテストの方法を紹介したいと思います。 ゴールはGithubにPRする毎にTravisCIがProtractorを使ってSauceLabs上で検証した結果を教えてくれるところです。 登場するユーザ名(kyo-ago)、リポジトリ名(Protractor-SauceLabs-TravisCI-sample)は実際のものに置き換えて読んでください。 SauceLabsの登録まず最初にSauceLabsのアカウントを作成します。 この時点ではGithubのリポジトリも何らかの設定ファイルも必要ありません。 「Getting Started」を押してください。 ダイアログが

    TravisCI、SauceLabs、Protractorで始める簡単E2Eテスト入門 | チャットワーククリエーターズブログ
  • Android SDK標準の何でもテストツールuiautomatorの基本的な使い方

    uiautomatorは、Android SDKに標準で含まれているテスト自動化ツールです。Apache License, Version 2.0のライセンスで提供されています。 uiautomatorの主な特徴は以下の通りです。 Android 4.1以上で実行できる(端末の回転およびスクリーンショット撮影には、Android 4.2以上が必要) テストスクリプトはJava言語で記述 他者の署名した(Google Play Storeからダウンロードしたものも含む)アプリもテストできる すなわち、テスト対象の端末上にインストールされ、動作しているアプリであれば、何でもテストできる 特に、最後に挙げた特徴はuiautomator最大のセールスポイントといえます。一連のテストで、テスト対象アプリでないものを操作したいケース(例えば、設定アプリでBluetoothやWiFiをON/OFFするな

    Android SDK標準の何でもテストツールuiautomatorの基本的な使い方
  • システムテスト自動化の基礎知識とMonkeyTalkの使い方

    連載目次 システムテストの自動化とは テスト自動化ツールの紹介に先立って、連載で扱う「システムテスト」の位置付け、またシステムテストのうち、どのテスト(テストタイプ)を自動化していくのかについて説明します。 システムテストの定義 システムテストとは、ユニット(単体)テスト、統合(結合)テストをパスしたアプリを対象として実施するテストレベルであり、スマートフォンアプリでは以下の位置付けで行われるテストに当たります。 ビルドされたipa/apkファイルをシミュレーターもしくは実機にインストールしてUIを操作する サーバーと通信するアプリの場合、ステージングもしくはプロダクション環境に接続する 組織のQA担当者(独立したテストチーム)が実施する システム(アプリ)の基設計に基づき、その要件を満たしていることを実証する テストレベルの概念や、より一般的なシステムテストの位置付け、またそれを自動

    システムテスト自動化の基礎知識とMonkeyTalkの使い方
    luccafort
    luccafort 2014/07/17
    あとで読もう。
  • nginxのproxy設定ファイルも自動テストしよう - $shibayu36->blog;

    最近nginxでリバースプロキシの設定を書いているんだけど、設定のたびに番に緊張しながら反映していた。さらにその副作用として、nginxのファイルはリファクタリングされないという問題があった。 そこで反映する前にバグ等が見つかるようにnginx設定のテストを書きたいと考えた。今回はperlでテストを書いた。 どういうテストをしたいか やり方によってnginxの設定ファイルの分割の方法は違うのだけど、例えば以下の様なnginxの設定があり、それが別のファイルのhttpコンテキストの中にincludeされているという分割で考える。この時、この設定ファイルに書かれた内容が正しく動いているかテストを書きたい。 upstream app1 { server app1.host; } upstream app2 { server app2.host; } server { listen 8080;

    nginxのproxy設定ファイルも自動テストしよう - $shibayu36->blog;
    luccafort
    luccafort 2014/04/09
    TEST::TCPの実装がどうなってるのかさっぱりわからんけどもこのコードだけ見てたらPHPでも似たようなこと出来るんじゃないかなぁ?という楽しげな気分になった。
  • 最近行ったTDDの講演や寄稿について - t-wada の日記(旧)

    こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園2013にて「テストを書く文化を育てる戦略と戦術」というタイトルで短い講演をさせて頂きました。DevLOVE 甲子園は楽天第2タワー大広間の四隅で最大四つの講演が同時に行われるという意欲的なイベントで、話す方も気合い(と声量)が必要な場でした。 この講演では、開発者が自動テストを書く文化が無かった組織に自動テストの文化を育てる際の姿勢、心がけについて短い時間でまとめました。そのときの講演資料がこちらです(ライセンスは CC BY です)。 テストを書く文化を育てる

    最近行ったTDDの講演や寄稿について - t-wada の日記(旧)
  • テストを書く文化を育てる戦略と戦術

    at DevLOVE現場甲子園2013 2013/11/09 (土) http://http://devlove.doorkeeper.jp/events/5464

    テストを書く文化を育てる戦略と戦術
  • いまだにユニットテストって受け入れられないんだろうな - 個人的なまとめ

    色んな所で「テスト(ここではユニットテスト)を書かないのは小学生までだよねー」とか、もっと汚い言葉で言われたりするけど、いまだにうちのチームでは自分だけしか書かない現状が悩ましい。 Jenkinsさんが激おこになっても誰も何も反応しない。 もちろん、全部が書けるとも思ってないので、自分が不安なところとか、変更が多く入りそうなところとかを中心に書くようにしてる。一種の精神安定剤みたいなもん。 あるとき、一緒に働いてるエンジニアさん(ここではAさんとしておこう)に「ここ難しそうだから、テスト書いたほうがいいですよ」って話をしたら、「じゃぁ、工数かかっちゃいますね」って言われて結局書いてなかったな。 そうだよ。ユニットテスト書いたら工数かかるよ。それは純然たる事実。でも、再利用できないチェックシートを作ってやるよりもいいと思うんだけどね。しかもこの前に見せてもらったこのチェックシートも運用レベル

    いまだにユニットテストって受け入れられないんだろうな - 個人的なまとめ
    luccafort
    luccafort 2013/10/08
    最初はとりあえず義務化しないと誰も書く文化がないから無理じゃないかなー。一度書いてなれてしまえば工数がかかろうと利便性に目覚める可能性が微レ存。それでも駄目なら…心が折れるな。
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    luccafort
    luccafort 2013/09/24
    「2.」がん?どういうこと???ってなったので自分の勉強不足感が否めない。
  • FINDJOB!終了のお知らせ | FINDJOB!

    FINDJOB! 終了のお知らせ 2023年9月29日にFINDJOB!を終了いたしました。 これまでFINDJOB!をご利用いただいた企業様、求職者様、様々なご関係者様。 大変長らくFINDJOB!をご愛顧いただき、誠にありがとうございました。 IT/Web系の仕事や求人がまだ広く普及していない頃にFind Job!をリリースしてから 約26年間、多くの方々に支えていただき、運営を続けてまいりました。 転職成功のお声、採用成功のお声など、嬉しい言葉もたくさんいただきました。 またFINDJOB!経由で入社された方が人事担当になり、 FINDJOB!を通じて、新たな人材に出会うことができたなど、 たくさんのご縁をつくることができたのではないかと思っております。 2023年9月29日をもって、FINDJOB!はその歴史の幕を下ろすこととなりましたが、 今後も、IT/Web業界やクリエイティブ

    FINDJOB!終了のお知らせ | FINDJOB!
    luccafort
    luccafort 2013/08/28
    example.comは知ってたけどこんなにダミーデータあったんだなー。知らんかった。
  • TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary

    Stack OverflowのTDD Anti-patterns catalogueというスレがとても面白かったので訳してみた。 Stack Overflowのvoting機能でアンチパターンへの投票を行っている感じ。 上から投票の多い順になっている。 得票数はこの記事執筆時点(2013.7.9)のもの。 SQLアンチパターンっぽく、パターン名はそのまま片仮名にしてみた。 また、内容がかなり被っているとか、状況がかなりレアじゃないかと思うものは、一部省略しました。 (ブコメで訳間違ってるよ、って教えてもらったので、一部修正しました 2013.7.10) フリーライド (テストのただ乗り) 50pt 新しいテストケースを書くのではなく、他の機能のテストに新しいアサーションを追加して既存のテストケースに乗っかる。 セカンドクラス シティズン (二等市民) 47pt プロダクションコードのように

    TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary
    luccafort
    luccafort 2013/07/10
    個人的には「ローカルヒーロー (御当地の英雄) 」に一票だけどアナルプローブにはMVPをあげたいw
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
    luccafort
    luccafort 2013/06/26
    Ruby初心者だけども見ててなるほどと思ったので多分わかりやすい解説なんだろうなー。
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
    luccafort
    luccafort 2013/05/30
    なげえwちょっと見る程度の長さじゃないので後で読みますw
  • Androidアプリのビルド/テストはCIでここまで変わる

    Androidアプリのビルド/テストはCIでここまで変わる:グリーはいかにしてJenkinsを導入したのか(3)(1/2 ページ) グリーのサービス開発における継続的インテグレーションと、CIツールであるJenkinsの導入について、CI導入のモチベーション、進め方のポイントを中心に説明します。今回は、apkの作成までの自動化を手始めに、徐々に自動化の資産を積み上げていくことで開発ワークフローを改善していく過程を紹介します。 前回の「JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない」に続き、今回はAndroidアプリ開発とJenkinsについて紹介します。 Androidアプリのビルド Android開発の継続的インテグレーションの第一歩として、まずはAndroidアプリをJenkinsでビルドしてapkファイルを作成してみましょう。あらかじめJenkins、Andro

    Androidアプリのビルド/テストはCIでここまで変わる