タグ

テストに関するuchoのブックマーク (18)

  • テスト駆動開発を継続する

    2013年はじめのTDD Boot Camp in 大阪 外伝 の資料です。 http://kokucheese.com/event/index/64957/

    テスト駆動開発を継続する
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • ソフトウェアテストの30年前と30年後(後編)~30年後のテスト技術、期待を込めた予想 JaSST'12 Tokyo

    ソフトウェアテストの30年前と30年後(後編)~30年後のテスト技術、期待を込めた予想 JaSST'12 Tokyo 先週、1月25日と26日に都内で行われたソフトウェアテストに関するシンポジウム「ソフトウェアテストシンポジウム JaSST'12 Tokyo」。2日目の招待講演では、ソフトウェアテストの過去を振り返り、将来を展望する非常に興味深い話を、東海大学大学院 山浦恒央准教授が行いました。 講演の内容をダイジェストとして紹介します。 (この記事は「ソフトウェアテストの30年前と30年後(前編)~テストの根幹は30年前に書かれた JaSST'12 Tokyo」の続きです) ソフトウェア製品の品質のレベル分けが行われる 30年後のソフトウェア開発技術とテスト技術について。予想というか、こうなってほしいという期待を交えた話をしようと思う。次の4つがその予想だ。 まず、各ソフトウェア製品がど

    ソフトウェアテストの30年前と30年後(後編)~30年後のテスト技術、期待を込めた予想 JaSST'12 Tokyo
  • ソフトウェアテストの30年前と30年後(前編)~テストの根幹は30年前に書かれた JaSST'12 Tokyo

    私は1977年入社。約30年前となる当時と今では、ソフトウェアテストはものすごく大きく変わった。この30年を振り返り、これから30年後にどう変わるか、という予想を紹介したい。 これがソフトウェア開発技術歴史をざっくりと示した技術マップ。 一番左は1964年。仮想記憶を使った初めてのメインフレーム用OS「OS/360」の開発。これは人類史上最初で最後の超巨大プロジェクト。当時で5000人年、だいたい1200人が4年間働いた。 これはコンピュータが大発展する礎になるのだが、プロジェクトとしては大失敗だった。このときのプロジェクトマネージャがフレデリック・P・ブルックス Jr.氏。 1968年には「ソフトウェア工学」という言葉が誕生した。まだ言葉だけだが。このころ主流はアセンブラ言語。FortranとCOBOLが登場し、サブルーチンという概念が出てきて、これを使うとソフトウェアが格好よくできる

    ソフトウェアテストの30年前と30年後(前編)~テストの根幹は30年前に書かれた JaSST'12 Tokyo
  • みんなはどんなテスト技法を使っているの? JaSST'12 Tokyo

    先週、1月25日と26日に都内で行われたソフトウェアテストに関するシンポジウム「ソフトウェアテストシンポジウム JaSST'12 Tokyo」。会場には、参加者が自分の知っているテストの種類を付箋に書いて、自由に貼ることができるポスターが掲示されていました。 独自のテストの種類を貼っていく ポスターの下地になったのが「テスト技法ポジショニングマップ」です。さまざまなテスト技法が表示されています。 この上に、さらに自由にテスト技法、テスト手法の名前が付箋で貼られました。例えば、右上には「ZERO テスト(テストしない)」、右下の方には「血みどろテスト」、中央下には「書いてあるとおりテスト」、左下には「がまの油いぶり出しテスト」、左上には「カン」(勘ですね)、図のど真ん中には「たぬきの皮算用テスト」などなど。名前だけではどんな内容のテストなのか分かりませんけれど……

    みんなはどんなテスト技法を使っているの? JaSST'12 Tokyo
  • マイクロソフトでは「開発プロセスのすべてにテスターが関与している」 JaSST'12 Tokyo

    ソフトウェアのテストに関わるエンジニアが集まる国内最大のイベント「ソフトウェアテストシンポジウム JaSST'12 Tokyo」が1月25日、26日の2日間、都内で開催されました。 基調講演を行ったマイクロソフトのプリンシパル テストリードのBj Rollison氏は、会場からの質問に答え、テストで重視していることはテスターが開発プロセス全体に関与していること、単体テストを促進するためにテスト用のデータを開発者に提供していることなど、より効果的にテストを行い品質を高めるためのアドバイスをくれました。 (この記事は「マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo」の続きです) 開発プロスへの関与、テストデータの提供 会場 テストのアーキテクチャやプロセスの改善についてお話をされていましたが、マイクロソフトの社内では、どういっ

    マイクロソフトでは「開発プロセスのすべてにテスターが関与している」 JaSST'12 Tokyo
  • マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo

    マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo ソフトウェアのテストに関わるエンジニアが集まる国内最大のイベント「ソフトウェアテストシンポジウム JaSST'12 Tokyo」が1月25日、26日の2日間、都内で開催されました。 10周年を迎えた今回のイベントの基調講演を行ったのが、開発しているソフトウェアの規模、分野、種類において世界最大の企業、マイクロソフトのプリンシパル テストリードのBj Rollison氏。 「How We Test At Microsoft(マイクロソフトでどのようにテストをしているのか?)」という題で、同社がどのようなソフトウェアテストを行っているのかを中心に講演を行いました。講演の内容をダイジェストで紹介しましょう。 開発者とテスターはほぼ同数 マイクロソフト プリンシパル テストリードのB

    マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo
  • 入門ガイド — Google Test ドキュメント日本語訳

    はじめに:なぜ Google C++ Testing Frameworkを使うのか¶ Google C++ Testing Framework を上手に活用すれば,より良い C++ のテストを書くことができます. LinuxWindows,そして Mac,あなたが C++ のコードを書いているこれらの環境に関係なく Google Test を利用できます. では,優れたテストを書くにはどうすればよいのでしょうか?Google C++ Testing Framework は,どのように役立つのでしょうか?我々は次のように考えています: テストには, 独立性 と 再現性 が必要です.別のテストの結果に依存して成功したり失敗したりするテスト,をデバッグするのは非常に面倒な作業です.Google C++ Testing Framework は,各テストを異なるオブジェクト上で実行することによって

  • テスト戦略、設計、手法、技法などなどのリンクをまとめてみた - うさぎ組

    WACATE 2011 夏に申し込んだので、おさらいしましょう。ということでテスト手法、テスト技法を中心としたリンクをまとめてみました。 なので今回はTDDとかテストツールとかはあまり含まれていません。 いくつかかぶっているものもありますが、多面的な表現って大切だと思うので、多少のかぶりは気にせずに選択しました。 これを読めば良いソフトウェアエンジニアとして一歩階段を上れる気がしています。 他にも参考になるものがあったら、コメントやTwitterで@kyon_mmまで教えてくださるととっても嬉しいです! 次の形式で書いています。 WEBサイト名、資料名:発表者(敬称略):URL カテゴリー分けしたんですが、不適切であるかもしれません。間違い等あればご指摘ください。 また、ここでのリンクに問題がある場合は削除致しますので、その場合もご指摘ください。 TwitterID:kyon_mm mai

    テスト戦略、設計、手法、技法などなどのリンクをまとめてみた - うさぎ組
  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • クラウド時代のソフトウェア品質管理。それは健康管理と同じだとグーグルのテスト担当者

    「システム管理者は、数学的、科学的にログを分析して、システムで何が起きているのかを判断することが新しい役割になる」。クラウド時代のシステム管理者についてこう話したのは、TwitterのJohn Adams氏でした(参考:Twitterの大規模システム運用技術、あるいはクジラの腹の中(前編)~ログの科学的な分析と、Twitterの「ダークモード」)。 Adams氏はまた、Twitterのソフトウェアはデプロイされたあとも何かあればすぐにさまざまな機能を停止できる「ダークモード」と呼ばれる90ものスイッチを備えていると説明しています。 クラウド時代のソフトウェアは「スイッチを入れる」 そういえば同じような見解を以前にも読んだことがあります。グーグルのソフトウェアテストエンジニアのブログ「Google Testing Blog」に、今年の2月にポストされたエントリ「Testing in the

    クラウド時代のソフトウェア品質管理。それは健康管理と同じだとグーグルのテスト担当者
  • 第2回 テスト計画(後編) | gihyo.jp

    大塚先輩: 入社10年目。5年前に柏田マネジャーと一緒にソフトウェアテスト事業を立ち上げた。カメラが趣味で、暇さえあれば写真を撮りに出かける。 大塚先輩:さて、さっそく見ていくことにしようか。 中山君:はい、よろしくお願いします。(⁠ドキドキ) 大塚先輩:まず最初に…、表紙を付けたのはいいね。最初の計画書に表紙を付ける人はあまりいないんだ。よく気づいたね。 中山君:今までの計画書を参考にしました。 大塚先輩:で、中身なんだが…これはずいぶんと薄いね…… 中山君:(あれれ、何か足りなかったのかな…) てっきり、すんなりとOKがもらえると思っていた中山君はうろたえました。 大塚先輩:中山君、この計画書には何を書けばいいと思う? 中山君:何を書けばいいって……。スケジュールは重要ですよね。スケジュールが無い計画書って見たことありません。 大塚先輩:スケジュールは重要だよね。他には? 中山君:体制

    第2回 テスト計画(後編) | gihyo.jp
  • Seleniumによる継続的なリグレッションテストを行うためのツール「Selenium Auto Exec Server(AES)」を公開しました。 - Enjoy*Study

    Selenium Auto Exec Server(AES) Seleniumによる継続的なリグレッションテストを行うためのツールとして、「Selenium Auto Exec Server(AES)」を公開しました。 Selenium AESを使うと、Seleniumによるテストを毎日決まった時間に実行し、その結果をメールで送信するといったことが簡単に行えるようになります。 配布しているアーカイブは、サンプルとしてhttp://www.google.com/に対するFirefox、IEを使ったテストをすぐに試せる状態になってますので、興味をもたれた方は、ぜひ一度お試しください。 Selenium AESのサンプル - Enjoy*Study まだ、実際のプロジェクトで導入したことが無いので、いろいろ考慮が足らないところもあるかもしれません。 こうしたほうが良いといったご意見や、アイデアが

    Seleniumによる継続的なリグレッションテストを行うためのツール「Selenium Auto Exec Server(AES)」を公開しました。 - Enjoy*Study
  • Excelマクロによる、seleniumテストケースの自動生成(1):CodeZine

    はじめに seleniumについての基的な内容は、以下を参照してください。 Selenium 0.7利用手順書(前編) Selenium 0.7利用手順書(後編) seleniumを利用するメリットとデメリット メリット seleniumを利用する最大のメリットは、「再テスト」が容易になることです。 不具合発生時 テスト担当者と修正担当者の伝達が容易 再テストが容易 仕様変更後 リグレッション(デグレード確認)テストが容易 筆者が特にメリットを感じるのは、テスト担当者と修正担当者の伝達が容易になる点です。テスト期間中は、テスト担当者も修正担当者も作業に追われています。通常、不具合発生時は、テスト実施担当者から修正担当者へ不具合内容を伝達するために、不具合管理ツールなどに、ケース番号や再現手順の詳細を記述、デバッグログの添付などを行い、修正担当者はそれを読み解く必要

  • 「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論

    「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論 Developers [Test] Summit 2008(デブサミTest) 「建前ではなく実際にテストを普及させるにはどうすればいいのか」。2008年4月23日,東京・九段で開催されたテストに特化したソフトウエア開発者向けカンファレンス「Developers [Test] Summit 2008(デブサミTest)」で「【徹底討論】テストなんていらない?!-テストを,どこまでやるべきか?」というパネル・ディスカッションが開催された。 司会を務めたのはタワーズ・クエスト プログラマ兼取締役社長であり,テスト駆動開発(TDD)の日での第一人者である和田卓人氏。同氏に,オープンソース・プロジェクト「Seasar」のチーフコミッタであるひがやすを氏,テストの

    「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論
    ucho
    ucho 2008/04/28
    ドキュメントとかテストの作成や維持ってコストがかかるんだよな。「作るのが当たり前」を疑う意味ではPFDを考えてみるのはおもしろいかも。
  • MOONGIFT: » 要導入!テスト管理スイート「TestLink」:オープンソースを毎日紹介

    テストと言うフェーズはシステム開発における重要な要素であるにも関わらずおざなりにされがちだ。ここがうまくいかないために立ち行かなくなる、または炎上するプロジェクトが多いにも関わらずだ。 テストを徹底する体制を整えよう。プロジェクト管理にソフトウェアを導入するのと同様にそのためのシステムを導入しよう。 今回紹介するオープンソース・ソフトウェアはTestLink、Webベースのテスト管理ソフトウェアだ。 TestLinkはテストを管理するためのソフトウェアで、テストケースの登録、管理、評価実行とその結果集計を行う事ができる。テストケースを仕様書として出力することも可能だ。 また、要求定義を登録してテストケースと関連付けることや、MantisやBugzillaといったBTS(バグトラッキングシステム)と連携させることもできる。 さらにTestLink日語化プロジェクトを通じてTestLinkを

    MOONGIFT: » 要導入!テスト管理スイート「TestLink」:オープンソースを毎日紹介
  • http://tech.blog.klab.org/archives/50505294.html

  • Eclipseで使える機能テストツール

    Eclipseプラグインで提供されるテストツールが充実してきた。連載では、システム開発の現場に有効なテストツールを紹介し、統合開発ツールにEclipseを選択する開発におけるテストの効率化、ソフトウェア品質の向上のヒントを提供する。(編集部) 今回は、アプリケーションを実際に動かしてその動作をテストする機能テストツールを紹介します。一般に、機能テストツールは、HTTP通信やSOAP通信、Swingアプリケーションなどに対するユーザーの操作を記録することで、機能テストを実現します。 機能テストを提供する「Solex」と「WSUnit」 機能テストは、ソフトウェアの要求仕様が正しいか否かを確認するテストです。ユニットテストがクラスやメソッド単位での動作の正しさを検証するのに対し、機能テストでは、アプリケーション全体、もしくはサブシステムの中で動作の正しさを検証します。例えば、Webアプリケー

    Eclipseで使える機能テストツール
  • 1