開発/設計/テストに関する記事とニュース
-
2012/11/01
プログラムをマクロ(大域的)に分析する
この連載の最後となる今回は「システムの地図」を補完するボトムアップの分析手法を紹介します。今までの分析は入出力情報とデータを使い、論理的にシステムの構成を整理する分析手法でした。今回紹介する手法は実際の構成を利用して論理的な構成を検証する手法です。
-
2012/10/30
TDDでデータベースと付き合う方法
業務アプリケーションの開発では、データベースと付き合わないわけにはいきません。しかし、テストファーストはやりにくいものです。今回は、データベースにアクセスするコードを、TDDでどうやって扱うのかをご紹介します。
-
2012/08/24
TDDしにくいモノは切り離せ! ~ 現在日時の扱い方
TDDを実際のプログラミングに使い始めると、テストファーストしずらい場合があることに気がつきます。テストファーストというより、とにかくユニットテストが書きにくい、そんなパターンに外部依存があります。今回は、現在日時の扱い方を例に、外部依存への対策を考えてみましょう。
-
2012/08/03
要件定義ツールを使った既存システムの分析
前回はUMLを使ってシステムの地図をかく方法を説明しました。今回はUMLを使わずにより簡単に分析する方法を説明します。システムの入出力とデータをつなぐ分析手法は、要件定義でも使われる手法なので同じ要領で既存システムを分析することができます。今回ご紹介するのは要件定義ツールを使う方法です。柔軟性には欠けますが、要件定義が初めての方でも簡単に短時間でまとめることができます。
-
2012/08/02
Google製のC++ Unit Test Framework「Google Test」を使ってみる
CodeZineでの僕のアーティクルではC/C++ Unit Test Frameworkをいくつか紹介してきました。CUnitやWinUnit、新しいとこではVisual Studio 2012 native Unit Test Frameworkなど。今回紹介するのは「Google Test」、Google製のC++ Unit Test Frameworkです。
-
2012/07/05
UMLを使った既存システムの分析
本連載はこれまで、システムの地図を作るための基本的な考え方と調査分析方法を説明してきました。今回から2回にわたり、具体的なまとめ方を紹介していきます。まずは、UMLを拡張する方法です。既存システムの分析は調べたことを整理するのではなく、調べたことを分析しシステムの機能と役割を明確にすることが目的です。システムを限られた記号(UMLアイコン)を使い、記述パターンに沿って組み立てることで、スムーズにシステムの形を明らかにします。
-
2012/06/29
C++11 : スレッド・ライブラリひとめぐり
C++11が提供するスレッド・ライブラリの使い心地を、Visual Studio 2012 RCでの試運転を兼ねてざっくりと体感してみましょう。
-
2012/06/29
TDDBC大阪の課題をC#でやってみる ~ クラス設計とTDD
関西で初のTDDBC(TDDブートキャンプ)が、6月の2日と3日に開催されました。当初1日だけの予定だったものが、参加希望者が多く急遽ほぼ同内容で参加者を入れ替えて2日目も開催するに至ったのだそうです。今回は、その大好評だったTDDBC大阪で出された課題を解きながら、TDDとクラス設計について考えていきます。
-
2012/06/22
課題山積のAndroidアプリ開発に ソフトウェアテストの技術で立ち向かおう
4月28日、Androidテスト祭り実行委員の主催によるイベント「第二回Androidテスト祭り」が都内の東海大学高輪キャンパスにて開催された。そこではAndroidアプリケーション開発をターゲットに、セキュリティの確保、CI、テスト自動化、受け入れテストガイドラインなどをテーマにした講演が行われた。今回はそこでの内容のうち、特にテクニカルなコンテンツを中心にレポートする。
-
2012/05/29
TDDで仕様変更とデバッグをする方法
TDD(テスト駆動開発)では、仕様変更にどのように対応しているのでしょうか? デバッグはどうやるのでしょうか? 答えはどちらも「ゼロから作るときと同様にRED ⇒ GREEN ⇒ リファクタリングを繰り返す」です。今回はそれらについて、修正時に変更するテストケースの数を増やさないための考察も含め解説します。
-
2012/05/15
既存システムを分析するための考え方と対処法
前回は既存システムの分析方法として、システムの地図を作ることを説明しました。さまざまな制約の中で開発、保守されたシステムは混沌としています。その状況に影響されずに重要なものと不要なものを見極め、システムを俯瞰するために必要最低限度の情報で全体を表現します。今回はプロジェクトの置かれたさまざまな状況の中で、既存システムを分析するための考え方や対処法を説明します。
-
2012/04/13
NUnitの全貌 ~ 基本から、最新バージョンの新機能まで
NUnitの最新バージョン2.6の主な機能を解説します。普段からNUnitを使っている開発者でも、「こんな機能があったのか!」と驚くようなことがきっとあるでしょう。
-
2012/04/12
Visual Studio 11 betaの単体テスト機能を使ってみよう!
2月末に公開された Visual Studio 11 beta(以下、VS11β)の単体テスト機能の中から、新しい機能の使い方を紹介します。
-
2012/04/10
既存システムを分析するコツは「システムの地図」を作ること
既存システムの分析のためにプログラムを一つ一つ調べているあなた。その作業に疑問を持っていませんか? 「なんだかな~」と思いながら作業していませんか? それを指示したプロジェクトリーダーのあなた。既存システムを調査することのゴールを明確にせず、とりあえず手に入る資料をベースに作業させていませんか? このような方に少しでもヒントになればと思い、この記事を書きました。
-
2012/04/02
Visual Studio 11 : C++ Unit Test Framework ── C++単体テストの決定版(かもしれない)
2月末日、Windows 8 Consumer Previewと共にVisual Studio 11 Betaがリリースされました。まぎれもなく「現時点で最新のWindows開発環境」なわけで、このテのオモチャに目のない僕は早速インストールしたわけです。
-
2012/02/10
Visual StudioのMSTestでTDDを行う方法
Visual Studioに標準で備わっている単体テスト機能(MSTest)を使ってTDD(テスト駆動開発)を行う方法を説明するとともに、MSTestが対応していないパラメタライズドテストなどを実現するツールも紹介します。
-
2011/12/12
C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
「バグが半減する」と言われているコーディング技法、それがTDD(テスト駆動開発)です。この記事ではC#でTDDを行う方法を紹介するとともに、事前設計の重要性も説明します。
-
2011/10/05
「FindBugs」「Jenkins」をサポートし、不具合検出の幅が大きく広がった静的解析ツール「Coverity Static Analysis 5.5」
2011年10月4日、コベリティは、C/C++やJava、C#のソースコード解析ツールの新バージョン「Coverity Static Analysis 5.5」を発表しました。発見が難しく、誤動作の原因となるバグを効率よく検出できる同ツールの新バージョンでは、前バージョンに比べてコード解析速度が向上し、より広範囲な開発環境に対応できるよう強化が施されました。Coverity Static Analysisの特長や新機能から、ソースコード静的解析のメリットについて考えてみましょう。
-
2011/06/16
レビューを軸に駆動する
この連載では「要件定義は洗練化を繰り返して進めていく」と何度か説明してきました。しかし「どうやって管理するの??」と頭に「?」マークが浮かんだ読者も多いことと思います。また要件定義工程の終盤になって上位のステークホルダーに「なんでここはこうなったんだ!」という指摘により大きく方針転換し、要件定義が予定通り終わらなかった経験がある方もいるかと思います。
-
2011/05/30
空調や耐加重について考える
前回は、物理設計において考えなくてはいけない内容のうち、「電源」について考えてきました。今回は「空調」や「耐加重」の基本、そのほかにも検討しておいた方が良いと思われる内容について、考えていきたいと思います。