タグ

テストに関するtroronのブックマーク (14)

  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
  • 複雑怪奇な nginx を Go と Docker でユニットテストする - Cybozu Inside Out | サイボウズエンジニアのブログ

    全国の nginx 職人のみなさま、こんにちは。野島(@nojima)です。 私の所属するYakumoプロジェクトでは、nginxGoDocker によってユニットテスト1しています。 手元で簡単に実行でき、ブランチへのpushのたびにCIでテストされるので、非常に便利です。 この記事では、このnginxのユニットテストについて紹介してみたいと思います。 背景 nginx は極めて柔軟なロードバランサであり、プロダクション環境ではその柔軟さを生かして多彩な役割を担っています。 我々の nginx は、ユーザーからのリクエストを AP サーバーに振り分け、アクセス制限を行い、リクエストをリダイレクトし、HTTPヘッダを付与したり削ったりしています。 しかし、nginx は便利な反面、その設定は極めて複雑になり、読解したり変更したりするのが難しくなっています。 そこで、nginx

    複雑怪奇な nginx を Go と Docker でユニットテストする - Cybozu Inside Out | サイボウズエンジニアのブログ
  • なぜE2Eテストでidを使うべきではないのか |Autifyブログ

    こんにちは。AutifyのSET(Software Engineer in Test) 、末村(@tsueeemura)です。 皆さん、E2Eテストしてますか?以前はほぼSelenium一択みたいなところがありましたが、最近はPuppeteerやCypress、TestCafeなどいろいろなフレームワークがあり、ついつい目移りしてしまいますね! さて、どのフレームワークを使うにせよ、E2Eテストを書く上で共通で意識しないといけない重要なファクターがいくつか存在します。 その一つが ロケータ です。操作や検証の対象となる要素を指定するためのキーのことです。 ロケータにはCSSセレクタやXPathが利用でき、idやclass、name といった属性を利用するのが一般的です。 今回はこのロケータについての話を書こうと思います。 ロケータとは 要素を一意に指定できさえすればロケータに使うものは何で

    なぜE2Eテストでidを使うべきではないのか |Autifyブログ
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • レガシーコードの触り方 / Working Effectively with Legacy Code

    オープンセミナー2017@岡山

    レガシーコードの触り方 / Working Effectively with Legacy Code
  • これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita

    もうちょっと規約的なものを「JavaでのUT作成基準を整理してみた」にもまとめてみました。 はじめに 去年、ブログの方に「ふつうのユニットテストのための7つのルール」という記事を書いたのですが、思ったより反響がありました。 あの記事で書いたのはあくまで原理・原則で、それを実現するためにはいくつかのテクニックが必要です。 特に、ああいうルールを作って「ユニットテストを書く事」を厳守するようにしても、 適切なテクニックを知らなければメンテが困難だったり、品質に寄与しなかったり、実行性能が悪いゴミが量産される可能性があります。 じゃあ、どうすれば良いかというと「最初からユニットテストが書きやすいように元のコードを設計する」ということです。 そう。まず身に付けるべきは「テストコードの書き方」では無く「テスト対象コード」すなわち「プロダクトコードの書き方」なのです。 また、ここで言ってる「最初から」

    これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita
  • 一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_ikyu

    2016年12月18日の第4回 日Seleniumユーザーコミュニティ勉強会の発表資料です。 https://seleniumjp.connpass.com/event/45208/

    一休.comのE2Eテスト事情 ~Selenium 3.0 対応~ /seleniumjp4_ikyu
  • OSSのサーバテスト自動化ツール徹底検証 2016年版 ~Serverspec編~

    OSSのサーバテスト自動化ツール徹底検証 2016年版 ~Serverspec編~:実際に検証済み!OSS徹底比較(5)サーバテスト自動化【前編】(1/8 ページ) 各種オープンソースソフトウェアのうち、特に人気の高いOSSをピックアップ。実際の検証結果をまとめた連載。今回と次回はサーバテスト自動化ツール「Serverspec」と「Infrataster」を紹介する。 はじめに 前回の『サーバ構築・運用自動化ソフト4製品徹底検証』の冒頭でも述べたが、システムの複雑化や規模拡大に伴い、いかに運用負荷やコストの増大を抑止するかが多くの企業において急務となっている。こうした中、運用作業の自動化が進んでおり、サーバ構築・運用の自動化においては、前回ご紹介した「Chef」「Ansible」「Puppet」「Itamae」が広く活用されつつある。また、構築、メンテナンス作業後のテストについても自動化

    OSSのサーバテスト自動化ツール徹底検証 2016年版 ~Serverspec編~
  • 転送サーバおけるテストの自動化

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    転送サーバおけるテストの自動化
  • 少人数チームでの部下の褒め方

    10年近く5~6人のチームで回してきて、いくつか自分で学んできたことの中で、 今でも心がけているものを紹介する。 異動により今の環境が大きく変わるため、自分自身の整理の意味も込めてまとめてみた。 優秀な部下は大勢の前ではなく、一対一のときに褒める。優秀な部下は嫌でも目立つ上に、誰の目から見ても明白な成果を継続して上げていることが多い。 そんな部下を例え大きな成果を上げたからといって、 その部下と同列の者の前で大きく褒めると、他の部下の向上心が下がりやすい。 これは対象の部下人のためというより周りのためだ。 普段優秀でない部下の大きな手柄は、大勢の前で褒める。人の自信にも繋がる上に、周りから能力を認められているという肯定感が強くなる。 いい意味での周りからのプレッシャーとなり、仕事に対する姿勢も変わってくる。 結果が出ない者は姿勢や努力を褒める。結果として大きな成果に繋がらなくとも、そこ

    少人数チームでの部下の褒め方
  • 20140118 selenium勉強会 - Jenkins×Selenium 最初の一歩-

    去年のデブサミの「日Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果wwNozomi Ito

    20140118 selenium勉強会 - Jenkins×Selenium 最初の一歩-
  • ipコマンドとnetnsでお手軽なテストクライアント作成 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2014の9日目の記事です。 ネットワークを使う機能でなにかしらテストしたいときに複数のクライアントが欲しい時がありますよね。大量アクセスをしたい場合はjmeterとかありますが、クライアントのIPアドレスも複数あったほうが良いケースもあると思います。kvm等でクライアントを複数作ってbridgeするという方法もありますが、それはちょっと重量級なのでもうちょい手軽な方法がないかなーというところです。 そこでお手軽な方法はなにかというところでネットワークネームスペース(netns)を使って見たいと思います。 ネットワークネームスペースとはなんぞや?という方はten_forwardさんがgihyo.jpで連載している「LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術」の「第6回 Linuxカーネルのコンテナ機能[5] ─ネットワーク

    ipコマンドとnetnsでお手軽なテストクライアント作成 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • テスト考2014 - Hidden in Plain Sight

    年々、ウェブアプリを開発するときにテストを書こうという機運が強くなっていると感じる。 これは、開発パラダイムの成熟を意味することであり、基的に良いことだと思っている。 しかし同時に「テスト原理主義」とでもいうような極端な考え方もでてきていて、開発スタイルをめぐって摩擦が起こっている。 そして、この議論は「テストは、ないよりあったほうが良いよね」という、微視的には誰も反論できないロジックに押し通されがちで、「地獄への道は善意で舗装されている」の典型的な現象に見えて仕方がない。 テストを書かない、というと背景にどんな深い考えがあっても素人くさく聞こえ、逆にテストを書くというだけで良いプログラマーに見える、という非対称な化粧効果がある。ソフトウェア・コンサルティング会社がテスト好きなのは決して偶然ではない。 ソフトウェアというのは、結局のところ、動いてナンボ、使われてナンボである。 期待するも

    テスト考2014 - Hidden in Plain Sight
  • iOS開発でのユニットテストを身につけるには

    テストがないコードはクソとか、このテストツールこそ至高みたいな話が世に溢れているわけですが、 そういう状況になってくると、どうやって始めたらいいのかわからなかったりすると思います。 そういう人のために、何を読んで勉強し、何を使って何を書くと始めやすいかという抽象的な解説をしようと思います。 テストフレームワークの選択 テスト初心者の最初の壁はフレームワークの選択です。 iOSのテストについて調べると、SenTestingKitはクソとかGHUnit最高とかKiwiこそ至高とか言っている人がいると思います。 ですが、入門に最も適しているのはSenTestingKitです。 セットアップが他と比べて簡単だということと、機能が十分に小さくて機能に溺れることがないということが理由です。 SenTestingKitの使い方を学ぶ いきなり突き放すようなんですが、Appleの公式のドキュメントを読むの

  • 1