タグ

テストに関するteitei_tkのブックマーク (30)

  • なぜテストが開発を駆動するのか

    はじめに TDD は Test-Driven Development を省略したもので日語では『テスト駆動開発』という語が訳として与えられている。 TDD は現在多くの人に認知されていて、多くの実践者がいると思う。 私も TDD というスタイルが好きでよくそのような開発をする。 これまで、開発者の方と TDD について話すと『どうやる』の方に興味がいって『なぜ』の部分が置き去りになっていると感じることがあった。 例えば、『どうやればいいかわからない』といわれたのだが、TDDの典型的なお作法自体は知っているようなのだ。これはそもそも『なぜ』TDDをやりたいのかがわからないのではないのかと思った。 TDD はその名の通りテストでソフトウェア開発を駆動させるための開発スタイルだ。 なので、TDDをより効果的に行うためには、ソフトウェア開発がどのように行われるかを理解し、『なぜ』テストが開発を駆

    なぜテストが開発を駆動するのか
  • 「さよなら Flaky 。不安定なテストの探し方」というお話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    みなさんこんにちは。サイボウズの三苫です。 日は特にどこのイベントでも発表する予定もなく、実際に発表されなかった、不安定なテスト(Flaky Test)対策のお話をスライド & トークスクリプト形式で公開します。 不安定なテスト対策は、どこの現場でも継続的にされているかと思いますが私たちの一つの事例が皆様の対策の一助となれば幸いです。 さよなら Flaky 。不安定なテストの探し方 皆さんこんにちは。サイボウズの三苫と申します。日は「さよなら Flaky 。不安定なテストの探し方」というお話をします。 私たちのお悩みごと 早速ですが私たちが抱えていた悩み、つまり前提となる課題からお話します。 サイボウズの kintone.com 基盤チーム(私の所属するチーム)はE2Eテストを使って AWS 上に構築した基盤上で kintone というサービスの動作保証をしようとしていました。 幸運に

    「さよなら Flaky 。不安定なテストの探し方」というお話 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • テスト、正常系から書くか異常系から書くか - hitode909の日記

    今週は同僚と毎日長時間ペアプロしていた。 おもしろかったのが、同僚のテストの書き進め方で、一番複雑な正常系のテストをちゃんと書いてから、その複雑なテストをもとに、いろんな条件を削っていって異常系のテストを作っていく、というところ。 僕は逆で、入力が空なら何も起きない、とか、一番簡単な異常系のテストを書いて、そこだけ通るのを確認して、よしよし、と進めていって、メソッド来の動きは最後に確認して終わる。 変な進め方だな〜(主観)と思って眺めていたけど、たしかに正常系のテストが通っていれば、あとはバリデーションまわりのチェックとか、例外となる場合のチェックをすれば終わりで、異常系のテストがすごい速さで書かれていておもしろかった。 …という話をしたら、チームメンバーたちは正常系のテストから書きはじめるという人が多くて、正しくことを確認してから、1個ずつ前提となる条件を外してみて試す、と聞いて、同値

    テスト、正常系から書くか異常系から書くか - hitode909の日記
  • なぜテストを書くの?(または書かないの?) 〜テストコードの7つの役割〜 / #tamarubykaigi01

    Tama Ruby会議01のキーノートとして発表したスライドです。 https://tama-rb.github.io/tamarubykaigi01/ 参加レポートはこちら。 https://blog.jnito.com/entry/2019/07/07/102734

    なぜテストを書くの?(または書かないの?) 〜テストコードの7つの役割〜 / #tamarubykaigi01
  • UIテストの所要時間を10分の1にする試み、Raspberry Piのクラスタで並列実行。ソフトウェア品質シンポジウム2018

    UIテストの所要時間を10分の1にする試み、Raspberry Piのクラスタで並列実行。ソフトウェア品質シンポジウム2018 開発現場の多くでテストの自動化が進む中で、テスト時間を短縮することはビルドとテストの待ち時間を減らし、開発効率を高める上で重要なポイントになってきています。 そうしたなかで時間がかかっていたUIテストの所要時間を短縮する手段としてRaspberry Piをクラスタ化する手法を紹介するのが、レバテック株式会社 折田武己氏です。 記事では、9月12日から14日のあいだ東洋大学で開催された「ソフトウェア品質シンポジウム」(日科学技術連盟主催)での折田氏のセッション「UIテストの所要時間を10分の1に短縮する取り組み~ラズベリーパイのクラスターで並列実行~」の内容をダイジェストで紹介します。 単体テストはさくさく終わるのにUIテストは時間がかかる レバテック株式会社

    UIテストの所要時間を10分の1にする試み、Raspberry Piのクラスタで並列実行。ソフトウェア品質シンポジウム2018
  • テスターが要件定義のレビューからプロジェクトに参加する現実について|Tsuyoshi Yumoto

    最近、ソフトウエア開発にて、テスト技術者が要件定義からレビューに入る件について、いろいろ話を聞いたので、まとめておきます。 これは、ちょっとかっこよく言うと「Wモデル」という、テスト担当者の作業と開発の作業を同時並行で行っていくVモデルの進化した開発モデルが目指すゴールの一つです。ただ、話をしてくれた人は、Wモデルという言葉を知っているわけではありません。 その人の組織では、1980年代後半から、独立したテストを行っているとのことです。開発したものの統合テスト以後のテストだけを請け負うテスト専門部隊です。 Windowsが出る前はCOBOLで作った会計プログラムを対象にしていて、それがWindowsが出たころに全てWindowsアプリになり、それが今では全てWebアプリになり、クラウド上で動くようになっているという感じです。今では、そこの組織では、要件定義の段階からドキュメントをテストチー

    テスターが要件定義のレビューからプロジェクトに参加する現実について|Tsuyoshi Yumoto
  • rspecのdescribe, context, subject, letなどの書き分け - kei-p3’s blog

    Everyday Railsを読んでみて、rspecの利便さに改めて気付かされました。 特にAPI周りの実装をすることの多かった自分としては、capybaraによるfeatureテストなんかはこんなことがこんなに簡単にできるのかと驚きました。 しかし、自分としては知りたかった、describeやcontext、letの書き分けといった細かな部分についてはあまり深く触れていなかったので、 自分のいままでの経験上で「こんな感じでやってます」というのを、まとめついでに紹介したいと思います。 テスト名の宣言 - describe, context, it describeとcontextについては、どちらも同じ挙動をするので、テストとしてはどっちで書いても機能するのですが、 言葉の意味合いから下記のように使い分けています。 itについては、エラーがでたときに内容を理解できればいいかなということで、

    rspecのdescribe, context, subject, letなどの書き分け - kei-p3’s blog
  • E2Eテスト基盤開発を担当して - Qiita

    freee Engineers Advent Calendar 2016 12月17日担当の @futoase です。 現在、E2Eテスト基盤構築の担当をしています。1 Capybara、SitePrism および Selenium に触れていく中で自分や弊社メンバーから得た知見について記載します。 4点の内容となります。 Capybara + SitePrism Selenium E2Eの目的 E2E基盤構築を担当してみて思ったこと Capybara + SitePrism 同僚の @kompiro が Capybara + SitePrism を使うことを提案、フレームワーク化を行ってくれたのでテストケース作成に利用しています。2 Selenium/Appium Advent Calendar 2016にてSitePrismを利用したPageObjectsパターンを使ったテスト作成につ

    E2Eテスト基盤開発を担当して - Qiita
  • テスト駆動開発(TDD)はもう終わっているのか? Part 1 | POSTD

    後編を公開しました(2014/10/8) これは、テスト駆動開発(TDD)とTDDがソフトウェア設計に与える影響についてKent Beck、David Heinemeier Hansson、および著者の3人で行った一連のディスカッションの議事録です。 ディスカッションに至った経緯 あるセンセーショナルな発言とブログ記事が発端となり、お互いの見解と経験について理解を深める目的で、話し合いが持たれました。 この会話のきっかけとなったのは、 DavidがRailsConfで行った基調演説です。 彼はRailsコミュニティでTDDおよびユニットテストへの不満を表明しました。 程なくして、彼はいくつかのブログ記事を公開しましたが、そのうちの最初の記事で “TDDは終わった” と宣言したのです。 それから2~3日後、Davidのその後の記事について私がタイプミスの修正を送ったところ、 Davidは彼の

    テスト駆動開発(TDD)はもう終わっているのか? Part 1 | POSTD
  • 25.3. unittest — Unit testing framework — Python 2.7.18 documentation

    This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. (If you are already familiar with the basic concepts of testing, you might want to skip to the list of assert methods.) The Python unit testing framework, sometimes referred to as “PyUnit,” is a Python language version of JUnit, by Kent Bec

  • クライアントJavaScriptのテストにはmocha-phantomjsを使え - mizchi's blog

    mocha-phantomjsは、その名前の通りmochaとphantomjsを使ってクライアントJSのテストができるヘッドレステストランナー。長く使ってるけど特に不満はないので使えばいいと思う。 metaskills/mocha-phantomjs https://github.com/metaskills/mocha-phantomjs スケルトンを作った クライアントJSのテスト書かれない理由として、環境構築の難しさがあると思う。 そこで怠惰な人たちの為にGruntでプロジェクト用スケルトンを作った。ごじゆうにおつかいください 使い方 git clone git@github.com:mizchi/client-app-skeleton.git cd client-app-skeleton npm install bower install grunt test 結果 Running

    クライアントJavaScriptのテストにはmocha-phantomjsを使え - mizchi's blog
  • CI(継続的インテグレーション)サービスまとめ・14個! - atskimura-memo

    CIって? CIはContinuous Integration(継続的インテグレーション)の略です。 継続的インテグレーションとは、ソフトウェア開発手法において、プロジェクトメンバーがそれぞれ開発した結果を頻繁に結合し、定期的にビルドやテストを行うことである。問題点を早期に摘出することができ、効率的な開発に役立つ。 不具合は早く見つける方が対策費用が抑えられるため、ソフトウェアのビルドを頻繁に行うのが好ましく、ビルド結果が正しいことを検証するためにすぐにテストを行う。このような手続きは出来る限り自動化するのが好ましい。そのため、継続的インテグレーションを実践するためには、結合のためのビルドとテストの自動化のために「CIサーバー」などと呼ばれる専用コンピュータを用意することが推奨されている。 ちなみに、ソフトウェア開発手法のひとつである「エクストリームプログラミング」では、継続的インテグレー

    CI(継続的インテグレーション)サービスまとめ・14個! - atskimura-memo
  • はてなやクックパッドの開発現場で、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
  • GitHub - mgants4/SharpUnit: Unit testing framework for Unity3D in C#

    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

    GitHub - mgants4/SharpUnit: Unit testing framework for Unity3D in C#
  • TDD Advent Calendar 2013 3日目: vim と py.test で TDD - comutt @ Hatena Blog

    えせ (vimmer|Pythonista) の comutt です。 TDD Advent Calendar 2013 3日目です。 3日目担当なのに、日付は4日になって6時間ほど経過しています。ごめんなさい。 記事投稿日は詐称してます! vim と py.test で TDD vim と py.test で TDD する方法を書いてみます。 内容はかなり手抜き気味なので突っ込みどころ満載なのですが、お許しを! 使うもの一覧 vim +python3 feature 付きでコンパイルされた vim py.test Python 用のユニットテストフレームワークの一つです PyHamcrest Python 用の Hamcrest ライクなアサーションライブラリです pytest.vim py.test を vim から使うための vim プラグインです pyflakes-vim vim

    TDD Advent Calendar 2013 3日目: vim と py.test で TDD - comutt @ Hatena Blog
  • テスト分析・テスト設計入門

    © 2013 Fuji Xerox Co., Ltd. All rights reserved. ■JaSST 2013 四国 テスト分析・テスト設計入門 富士ゼロックス株式会社 ソリューション・サービス開発部 秋山 浩一 2 自己紹介  1985年4月 富士ゼロックス入社  現在はHAYST法のコンサルティング業務に従事  NPO ソフトウェアテスト技術振興協会(ASTER) 理事  JaSST東京実行委員(2003年~) 日最大のテストシンポジウム1600名の動員  JSTQBステアリング委員(2006~) テスト技術者資格認定を行う国際組織日支部  日科技連 SQiP研究会 委員長(2011年~)  Wモデル研究会 主査(2011年7月~)  電通大 西康晴先生、NEC 吉澤智美氏、MRT 鈴木三紀夫氏  ISO/IEC JTC 1/SC7 WG26委員(20

  • 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
  • Titanium Mobile + Jasmine + Jenkins でiPhoneアプリの自動テスト組んでみたよ - ikeike443のブログ

    Jenkins Advent Calendar jp 2011の3日目です。 Titanium Mobile + Jasmine + Jenkins でiPhoneアプリの自動テスト組んでみた、っちゅう話をします。 当はプラグインを作りたかったんですが、そこまで行かなかったので(言い訳だよ!)、せめて自動テストをどう組んだかの話をしますね。 Titaniumの自動テストを組みたい 最近Titanium Mobileを使ってiPhoneアプリなど作ってます。 Titanium Mobileについてはもう説明もいらないと思いますが、Javascriptを使ってスマートフォンアプリ(特にiPhoneandroid)を開発することができるプラットフォームですね。 で、Jenkins野郎な私としては、Titaniumでも自動テストを組みたいんですよね。 Javascriptでテストってどう書くん

    Titanium Mobile + Jasmine + Jenkins でiPhoneアプリの自動テスト組んでみたよ - ikeike443のブログ
  • QUnitの基本的な使い方 - but hopeful

    [追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un

    QUnitの基本的な使い方 - but hopeful
  • PhantomJSとJasmineで振る舞い駆動開発なJavaScriptテスト

    PhantomJSとJasmineで振る舞い駆動開発なJavaScriptテスト:フレームワークで実践! JavaScriptテスト入門(2)(1/3 ページ) しっかりとJavaScriptをテストするために、今注目のJavaScript用のテストフレームワークをいくつか紹介し、その概要から実践的な使い方まで解説する連載 前回は、JavaScriptテストの基、今回からフレーワムークを紹介 前回の「JavaScriptテストの基礎知識と使えるフレームワーク6選」では、JavaScriptのテストを取り巻く環境や、JavaScriptのテストに使用できるフレームワークの紹介を行いました。今回からは、前回の記事で紹介されたフレームワークを使用して実際にJavaScriptのテスト環境を構築し、テストを行うまでの流れを解説します。 今回は「PhantomJS」と「Jasmine」を取り上げま

    PhantomJSとJasmineで振る舞い駆動開発なJavaScriptテスト