いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。コンセプトは「技術」「人」「仕事」の3テーマ。この3つの柱とした情報を集め,日本国内のテストエンジニアたちが交流するきっかけの場となることを目指します。
「Software Test & Quality Advent Calendar 2011」 : ATND テストと品質に関するAdventCalendarです。 やりたい!っていうことで、登録してみましたが、見習いテストエンジニアとしてはなかなか書くことがありませんでした。 ということで、僕が最近思いついたことを書きます。 「設計におけるTDDとは存在するのか?」です。 現在ではTDDは開発手法として大きく認知され、xUnit系やSpec系をはじめとした多くのテスティングフレームワークでプロダクトコードに対するテストコードを書いて、リファクタリングをつづけるというサイクルを行う事で早い段階で良質なコードを生み出すことに成功しています。 ではプロダクトコードの前の段階である設計ではどうなのでしょうか? コーディングの前に設計することはたくさんあります。 フレームワークやインフラや言語の選定
cfix — Unit Testing Framework for C and C++ CFIX AT A GLANCE cfix is an xUnit testing framework for C/C++, specialized for unmanaged Windows development (32/64 bit). cfix supports development of both user and kernel mode unit tests. cifx unit tests are compiled and linked into a DLL. The testrunner application provided by cfix allows selectively running tests of one or more of such test-DLLs. Exec
前編「テストを金額にするといくら?」ではテストの価値を価格として算出し、その重要性を検証するという思考実験を行いました。その結果、大ざっぱながらも、テストの重要性に少し現実味が持てたのではないでしょうか。後編では、テスト駆動開発をプロジェクトに導入して、運用するための具体的なノウハウを紹介します。 テスト駆動開発(TDD)を回すのにもノウハウが要る TDDでは、いままでよりユニットテストコード作成にウェイトが置かれるので、ユニットテストコード作成の進ちょくがプロジェクトの進ちょくに与える影響は大きくなります。つまり、ユニットテストコード作成の効率性をより高めていかなくてはならないわけです。 では、ユニットテストコード作成の効率性を高めるには、具体的にどうすればよいでしょうか? まずは以下の2点を押さえるべきでしょう。 EoTの高い設計になっていること テストコードが正確に業務仕様を表してい
テスト駆動開発(Test Driven Development:TDD)。最近この言葉を聞く機会が多いと思いますが、実際のプロジェクトでTDDを取り入れているというケースはあまり聞きません。本稿は、テスト駆動開発に興味はあるけれど、いまだ導入に踏み切れないという開発者のために、その効用や実際の運用方法について、具体例を交えながら述べたいと思います。前半はテスト駆動開発の意義と、導入に当たっての説得材料について検討します。後半では実際にテスト駆動開発を進めるに当たって具体的にやるべきことについて、事例を踏まえながら説明していきます。 テスト駆動開発(TDD)とは テスト駆動開発は一般にエクストリーム・プログラミング(XP)の1プラクティスとして紹介されることが多いと思います。しかし、テスト駆動開発自体は決してXPの開発手法に特化したものではなく、さまざまな開発手法とともに有効利用が可能なもの
開発の全工程の中で、あまり人気がないのがテスト工程だ。ソフトウェアの品質を証明するためのテストは、なぜ低く見られてしまうのか(編集部) そもそもテストはなぜ実施するの? 皆さんはテストと聞いてどういったイメージをお持ちでしょうか。 「面倒くさい」「プログラマの仕事じゃない」「納期直前に徹夜でするもの」「そもそもしない」……。 残念ながら筆者の周りにいる開発者に聞いてみても、あまり人気のある工程とはいえないようです。 さて、本連載で扱うテストとは、もちろん学期末の終わりに実施するような人の知識、習熟度を試すテストではありません。ソフトウェア開発におけるテスト、つまり「ソフトウェアの品質を証明するためのテスト」のことです。自分たちが作り上げたソフトウェアに対して自らテストし品質を評価する工程、そして、テスト結果は常に100点である必要があるという半ば自己満足的な性質を持つ試験のことです。 しか
TddAntiPatterns - TDD のアンチパターン 目次 この文書について TDD のアンチパターン TDD アンチパターン・カタログ 嘘つき。 (The Liar) セットアップ過多 (Excessive Setup) 巨人 (The Giant) モック酔い (The Mockery) 検査官 (The Inspector) 太っ腹な残り物 (Generous Leftovers) 地元の英雄 (Local Hero) 小姑 (The Nitpicker) 秘密のキャッチ (The Secret Catcher) ペテン師 (The Dodger) 大声 (The Loudmouth) はらぺこキャッチ (The Greedy Catcher) 序列屋 (The Sequencer) 隠れ依存 (Hidden Dependency) 点呼 (The Enumerator)
新しいソフトウェア開発技法へチャレンジできるか? ソフトウェア開発の世界にも日々の進歩がある。そしてその中には、使えばさまざまな恩恵を受けられる技法もある。しかし、それらを現場ですぐに活用できるとは限らない。例えば、1990年代末に生まれ、1つのブームを形成したエクストリーム・プログラミング(XP)という開発技法がある。これは、とても優れた開発技法だと思うのだが、開発プロジェクト単位で、顧客まで巻き込んだ形で使われることが前提となっている。しかし、顧客ぐるみでまったく新しい方法にチャレンジできるかといえば、できないことの方が圧倒的に多いだろう。では、エクストリーム・プログラミングの技法を全部使おうとせず、使うことができる部分だけを取り出して試みることができるかというと、そういうわけにもいかない。エクストリーム・プログラミングは、いくつかのプラクティスと呼ばれる項目から成り立っているのだが、
TwitterでこんなTweetが流れた… エビデンスとしてNUnitのGUIのスクリーンショットと、対応するテストコードが含まれている部分のVSのスクリーンショットを取る作業が終りません・・・ UnitTestのエビデンスって…なに? 一般的にテストのエビデンスというと、次の2点を指す。 テスト手順を明らかにするもの(ex. テスト設計書、テスト仕様書、...) テスト結果の証拠(ex. 画面ハードコピー、DBスナップショット、...) UnitTestでは、これはこのように解釈できる。 テスト手順を明らかにするもの = テストコード テスト結果の証拠 = 今実行すればテストが全てグリーンになること これがなぜか理解されず、軋轢とストレスと大きな工数追加になっている現場がずいぶんある。 なぜUnitTestはいつまでも理解されないのだろう。 余談。これらのことは、Seleniumなどを使
Alan Cooper氏著の「The Inmates Are Running the Asylum」(邦題「コンピュータは、むずかしすぎて使えない!」)で、同氏は「軍艦にコンピュータが導入されたら何が起こるか」という問いを発している。同氏は、米国のミサイル巡洋艦ヨークタウンが大西洋で艦隊行動を行っていた際に起きた事件を例に挙げた。その時、海軍の技術者は燃料バルブを調整しており、艦上管理コンピュータの1つにゼロを入力した。すると、プログラムは入力されたゼロの値で別の数を割ろうとして(この解は数学では未定義となる)、ドカン!制御システム全体が完全にクラッシュしてしまい、海岸に曳航できるようになるまで、何時間も水上で立ち往生してしまったのだ。 この艦の管理システム全体が、設置前にはまったくテストされず、なんらかの形のテスト運用も行われなかったというのは考えにくいことだ。このシナリオは、「本当に?
「TDDはテスト手法か否か」の議論で、いまいち私の考えが伝えきれてないようでした(link1, link2)ので、表題にあることを通じて、私のTDDに対する理解の説明を試みます。 用語説明 本題に入る前にこれから使う用語を説明しておきます。 科学的方法には、伝統的な方法としてベーコン由来の実証主義、割と最近のポパー由来の反証主義があります。それぞれ批判はあるのですが、2大潮流といって差し支えないと思います(私は科学哲学については勉強中であり近年の研究はフォローしてないこと、また、観点が反証主義よりなことを、お断りしておきます)。 ここでは、 実証主義……実証の積み重ねから信頼度の高い理論が導けるとする態度 反証主義……様々な反証テストに耐えた理論が信頼度が高いとみなす態度 とします。 先の用語に出てきた、実証、反証とは、 実証……ある理論を経験や実験から真であると証明すること 反証……ある
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く