参照 - みる会図書館


検索対象: アジャイル:ソフトウェアエンジニアリング
139件見つかりました。

1. アジャイル:ソフトウェアエンジニアリング

第 5 章アーキテクチャ 104 るために、そのシステムをしつかり理解する必要があります。 れるコンポーネント間のすべての参照関係が表示されています。それぞれの関係は web サイトに関する依存関係グラフです。このグラフには、名前空間として表現さ スナップショットから「依存関係グラフ」を生成する機能です。図 5-2 は、ある VisuaI Studio でアーキテクチャの探索を行う際に役立つのは、現在のシステムの 矢印で示され、太い矢印は同じノードからの ( または同じノードへの ) 参照が多い 物スキーマま飛物にユーアーこアーキナクナェクスプローラー第エプ、一質・わを物中の変第・テスト・第コート第トソプクス「′画第 ことを表しています。 △図 5-2 VisuaI studio が生成する依存関係グラフは、コード内での実際の参照関係を表現 している。これを見ると、システムの個々のバーツがどのように組み合わさって 動作しているのか理解できる。矢印が太いほど、 2 つのノード間に存在する参照 の数が多い。

2. アジャイル:ソフトウェアエンジニアリング

5.2 既存のアーキテクチャの調査 105 興味深いのは、 Visual Studio の依存関係グラフは、 Visual studio のソリューショ ンとプロジェクトに限定されないということです。必要ならばもっと範囲を広げる ことができ、たとえば他のチームやサードバーティのコンポーネントを含めること ができます。基礎になっている . NETFramework クラスへの参照も外部ノードとし て追加することができ、不要になればグラフから問題なく削除できます。ただし、 このグラフで確認できるのは静的な依存関係だけで、動的な依存関係はわかりませ ん。 依存関係グラフはさまざまなレベルで作成でき、アセンプリ、名前空間、または クラスをルートノードとして表示できます ( 使用できるオプションについては図 5-3 を参照 ) 。コードとその関係をもっと詳しく知りたいときは、マウスで参照をポイン トし、いずれかの矢印をクリックすることで、参照をたどっていくことができます ( 図 5-4 を参照 ) 。また、ノードを開くことでドリルダウンして、子ノードを見ることも できます ( たとえば、クラスノードはその子ノードとしてメソッドを含んでいます ) 。 イアクセスフィノ一 ( F ) 口外部 ( E ) メソッド (M) 切種類 ( T ) 団名前空間 ( N ) 団アセンプリ ( A ) 含める ( c ) 依存関係グラフ成 種類 ( Y ) 団バブリック (P) 団内部① 団プロテクト (R) 団プライベート (V) メソッド (H) 団バブリック ( P ) 団内部① 団プロテクト (R) 団プライベート (V) △図 5-3 団コンティンメントをグループとして表示 ( G ) 亠〔をををら 依存関係グラフはさまざまなレベルで作成でき、アセンブリ、名前空間、クラス、 またはメソッドをそれらの対応関係や子オブジェクトと共に表示できる。

3. アジャイル:ソフトウェアエンジニアリング

166 6.6.5 第 6 章開発 状況によっては、分岐階層において直接的な分岐関係のない分岐同士の間で変更 をマージすることが必要になる場合があります。 Visual Studio はそのような「べー スレスマージ」にも対応しており、通常のマージと同じように適切に追跡を実施で 変史セットのトうッキンり きます ( 図 6-43 を参照 ) 。 △図 6-43 「べースレスマ ージ」により、直接の分岐関係のない分岐に変更セット 39 をマ ーン。 分岐戦略を定める ー MSDN トピック「計画的な分岐」 CodePIex にある分岐のガイドを参照してください。 分岐を使って開発を構造化する方法の詳細については、 次の MSDN トピックと、 http://msdn.microsoft.com/ja-jp/library/ee782536.aspx ■ CodePlex 「 Visual Studio Team Foundation Server Branching Guide 」 6-45 を参照 ) 。 TooIs により Windows 工クスプローラーから実行したりできます ( 図 6-44 と図 せん。多くの機能は、 Eclipse (Team ExpIorer Evertwhere) や、 TFS Power トチェックイン ) を使用できるのは、 Visual Studi 。の統合開発環境だけではありま シェルプセット こまでに紹介した機能 ( チェックインポリシー EcIipse または Windows シェルでの直接操作 http://vsarbranchingguide.codeplex.com/ 、分岐、ゲー

4. アジャイル:ソフトウェアエンジニアリング

8.2 プロダクトバックログ項目のテスト トラック整理 計画テスト 209 ロ X イテレーション 2 〇〇一侖ーテストセンター クエリービルドの割り当て一複震されるテストー 推されるデスト ヒルトのフィルター : な lsp•れ To ・ lt ” io れ ~ 変更 プロジェクトボータル 使用中のヒルト : 比校する前のビルト : 実されるテスト : な協 pvnT 効・ 02-218 8.6 変更 Ta•IspjnToys ・れぎ飜池 n2-21 3183 マ つアクテイプにリせット ( 5 ) ゴアストケースを聞く ( 0 ) の示 ( V ) ータイトル 三状を : 朝機功 ( 2 ) ー最終実行日 引最後 ( “ tom ( mov を m 宿を om shopping ( 駅 cli... ン 18 / 却 : 0 ま 1058 AM ( い tom 部 can 飛 m をを 0tn shop 可代 ( li... 引 18 / 加 : 0 8 : 1523 AM Passed P ・鉾 d ー優先度 2 2 新規作成マ項目を聞く ( 1 ) を 朝 x テスト構成 ースイート 推されるテスト 7 : 地・ ( t81 … W 朝ⅵ 0 青ー 7 圧 8 7 : 地・ ( tO れ .3 ndows Ⅳ都 : 88 ・” . 叩 △図 8-6 新規ビルドをテスト計画に割り当てると、新規ビルドにチェックインされた変更 によって以前のテスト結果が変わる可能性があるテストが、推奨されるテストと して一覧表示される。これらのテストが推奨されるのは、コード、要件、および バグに加えた変更が既存のテストケースに影響するからである。推奨されるテス トは、バグが見つかる可能性が最も高いテストなので、最初に実行しなければな らない。 テストケースには「テストステップ」を用意します。テストステップとは、テス ト担当者が実際のテスト結果と期待されるテスト結果を比較するための、簡潔な操 作と検証のことです。必要な場合は、パラメーターを使ってテストデータを参照す ることもできます。こうすると、テストデータをステップの一部に組み込む必要が なくなります ( 図 8-7 を参照 ) 。テストケースは Visual Studi 。の標準の作業項目で あるため、他の種類の作業項目と同様にカスタマイズできます。特殊な形式のテス トケースとして、「共有ステップ」という作業項目があります。これを利用すると、 他のテストケースで頻繁に使用されたり参照されたりする一般的なステップを共有 できます。これはたとえばログイン手順のテストステップで利用できます。ログイ ン手順に変更が生じた場合は、参照される側の共有ステップ内の手順だけを更新す ればよく、それによって、参照する側のすべてのテストケースがすぐに最新の状態 になります。

5. アジャイル:ソフトウェアエンジニアリング

164 第 6 章開発 この 2 つの 「開発」分岐は シーケンシャルな タスクとして 作成されているが、 ひとまとまりの 作業である。 開発 - 1 ! 三 A サービスパック 「メイン」分岐が リリースできる 状態になったら、 「サービス / ヾック」分岐、 「ホットフィックス」分岐、 「 RTM 」分岐を 同時に作成する。 「 RTM 」分岐はリリース 内容の読み取り専用 コピーとなる。 RI (SP) RI (SPO) RI(SPI) R2(SP) 日 2 (SPO) ホットフィックス △図 6-38 これは、開発系のラインにはフィーチャー別分岐、メインのラインにはリリース 別分岐を使用した入念な分岐プランである。詳しくは http://vsarbranchingguide. codeplex.com/ を参照 Visual Studio では、分岐は特別な種類のフォルダーとして扱われ、特別なアイコ ンで表示されます ( 図 6-39 を参照 ) 。通常のフォルダーの機能に加えて、所有者と 説明が割り当てられており、分岐の関係は階層構造で表されます ( 図 6-40 を参照 ) 。 を判断できる。 凵色、リ 0 朝上 田一己 v ぎ、 81 田辷 11 田 [ 」メ「 0 ( e T 0 5 コ 日 5 、・ゴ t 。信に翻 e ( ー △図 6-39 異なるアイコンで表示される。これにより、作業対象の関連する分岐フォルダー TFS のソース管理工クスプローラーでは、分岐は特別な種類のフォルダーとして

6. アジャイル:ソフトウェアエンジニアリング

第 6 章開発 データの多様化によるテストの強化 今日では、セキュリティとクラウドという二大トピックにより、優れたエラー処 理や否定テストの必要性に対する意識が高まっています。単体テストについて考え る場合は、まず良いテストリストを作成することが大切です。・このとき、出力、 呼び出されるメソッド、コードバス、エラー条件という 4 つの変数について検討し ます。これらの変数の多様性が最も大きくなるような入力を使用すべきです。ェラー 条件を幅広く調べる否定テストも含める必要があります。工ラー処理コードに足り ない点を明らかにするという目的でテストデータを使用する場合もあるかもしれま せん。まだ対処していないエラー条件を見つけ出すために、どのようなエラー条件 があり得るかを一緒に考えてくれる同僚やテスト担当者が必要かもしれません。・ http://msdn.microsoft.com/ja-jp/library/ms182527.aspx ・「方法 : データドリプン単体テストを作成する」 詳細については、次の MSDN トピックを参照してください。 ください。 VisualStudio ではこれを簡単に行うことができます。 データや構成をいろいろと変えて、単体テストの使用範囲を広げることを検討して テストで使用するデータと構成にバリエーションを持たせる 年 1 月号 ) 。現在は http://http:〃www.exampler.com/testing-com/writings/omissions.html で参照できる。 ⑨ Brian Marick, "Faults of Omission. " 初出は「 Software Testing and Quality Engineering Magazine 」 ( 2 開 0 たとえ ( よ、 http://www.exampler.com/testing-com/writings/short-catalog.p df SQL データベースに保存し、自動テストで使用できます。 のテストデータを生成できる機能があります ( 図 6-20 を参照 ) 。生成したデータは テストに使える実データがない場合には、自分で定義したルールに基づいて架空 データを提供してもらうのも簡単です。 タソースにバインドできるので、対象分野に詳しい人の協力を仰いで有効なテスト を参照 ) 。単純な CSV ファイルや ExceI のスプレッドシートなど、さまざまなデー Visual Studio では、多様なデータを使ったテストを簡単に実行できます ( 図 6-19 http://msdn.microsoft.com/ja-jp/Iibrary/dd286743.aspx ー「コンピューターの設定およびテストの設定を使用した診断情報の収集」

7. アジャイル:ソフトウェアエンジニアリング

6.4 プログラミングエラーの早期検出 単体テストの漏れを特定するコードカバレッジ 141 テストを実行すると、 VisuaI Studio はテストの実行結果と共にコードカバレッジ のレポートを生成します ( 図 6-16 を参照 ) 。どのアセンプリに関してコードカバレッ ジのためにインストルメントを行うかを選択する必要があります。すべてのアセン プリがすぐにテストに関係するとは限らないからです。コードカバレッジについて のオプションは「テストの設定」に保存されます ( テストの設定の詳細については「第 コードカ丿ルッジの詳細 コードカバレッジの詳細 8 章テスト」を参照 ) 。 インストルメント化する項目パス インストルメント化する項目を道択する ( E ) : コードカバレッジ診断データアタブターの構成データを入力してください . 《ー ion D tO T を式 P 「 oj Ⅱ \ bin \ D 曲 ug ( ー ion Di 「“》、 ( od に ( 0 、代 9 臥 bin \ D 曲 ug アセンプリの追加 ( A )... 再名するキーファイル ( K ) : 団同じ場所でアセンプリをインストルメント化する ( p ) 既定の構こリセット △図 6-16 ( 0 ) キャンセル テスト実行構成を作成または編集するときに、コードカバレッジ情報を収集した いアセンブリを選択する。テスト対象のコードのアセンブリだけを選択すること。 テストの実行が完了すると、 [ テスト結果 ] ツールバーを使用して、テストしたソー スコード内にコードカバレッジを表示することができます。これにより、今回のテ ストで実行されなかったコードを特定できます。スキップされたコードは赤で表示 されます ( 図 6-17 を参照 ) 。その後、スキップされたコードを右クリックして、そ のコード用の新しいテストを生成できます。あるいは、既存のテストを拡張して、 そのコードをカバーすることができます。

8. アジャイル:ソフトウェアエンジニアリング

146 第 6 章開発 ビルド検証テストでの単体テストの再利用 ビルド検証テスト (Build Verification Test : BVT) は、自動ビルドの一部として 実行されるテストです。 BVT の目的は、新しいコード内の変更がもたらす予期せぬ 副作用とエラーを見つけることです。自動ビルドと自動デブロイメントの詳細につ いては、第 7 章で説明します。 単体テストは、コンポーネント統合テストや大半のシナリオテストと共に、 BVT として再利用可能でなくてはなりません ( 第 8 章を参照 ) 。 Visual Studio で自動ビ ルド用の BVT を設定するには、使用するテストを適切なテストカテゴリに割り当 て ( 図 6-21 を参照 ) 、ビルド定義ウイザードでそのテストカテゴリを参照します ( 図 6-22 を参照 ) 。 テストリストエデイタ - x 三ロいテストの一覧 ①道択された項目 : 0 ・ツ印物ループに・広し ] ロい読み込まれたすべてのテ ロ一覧に存在しないテスト ロ tT' し 55 第 ( 01 を dE 、算 命 0 は , ストカ ) ゴリ 新し、カテ 1 期追加 ト 。 [ すべての明・。くキーワードの入力〉 ースト 使用 0 きるカテ衂 5 新 0 新 T を一物 1 当て引カテ 貳 T 整し けィ 単体テスト A データブロバイター名 プロジ勦ト プロジ】りト 所有 実行不可能 I ラー 名前空問 イテレーシ心 ホストび類 ホストデータ 充全りラス名 田配置アイテム データテ - プル名 テストカテ衂 タイム戸 ) ト テスト テストの物 : 0 テストストレージ テスト名 有行スト 田テストカテ』丿 フロシ ! りトの相 11 バス ・編 X 設定なし 単テスト 1 ぉ 0 ct い”′ 0 レ 1 整「 0 第 ( tl 設定なし 1 “ 0 ( い 1 し釵れ当き Str 第 0 配 △図 6-21 このテス翫評〕当 ( しめテストカテ型の一覧 リに追加する。 ることができる。通常は、新しいテストを作成したら、いずれかのテストカテゴ Visual Studio では、複数のテストをテストカテゴリに登録して、まとめて実行す

9. アジャイル:ソフトウェアエンジニアリング

106 第 5 章 アーキテクチャ ・・ PetShop. BLL.dll PetShop. BLL 第 0 「 de 「 朝ⅸ 03 0 ~ を ( ′メ市 0 れわを ~ 朝一 ont 一義”を . △図 5-4 ・・ひの 0 い ができ、さらにダブルクリックで該当するソースコードにジャンプできる。 いる。ノードの右上の矢印を使用すると、ドリルダウンして子ノードを見ること 依存関係グラフは、ズーム、検索、グループ化など、多くの機能をサポートして 図 5-5 は、少し違ったレイアウトになっています。これはクイッククラスターと いうレイアウトで、結び付きの強いノードをグループにして、相互参照の度合いが 強いクラスを一目で把握できるようにしたものです。このようなクラスはアーキテ クチャの保守性の低さを示している可能性があるので要注意です。この図では、見 やすさを考慮して、外部ノード ( すべての外部参照を含む ) とジェネリックノード ( す べてのジェネリック型を含む ) をグラフから手動で削除してあります。

10. アジャイル:ソフトウェアエンジニアリング

第 10 章継続的フィードバック 将来を予測する最も良い方法は、将来に投資することである。 13 —Alan C. Kay 8 2 3 5 △図 10-1 1202 年、 Fibonacci は著書 fLiber Abaci] ( 算盤の書 ) の中で、のちにフィポナッ 数列であることが現在わかっている。およそ 1 , 000 年後の現在、この数列が見積 チ数列と呼ばれる数列を紹介した。これは自然界のさまざまなところで見られる 偶然ではないだろう。・ もりで再利用されていること ( 「第 3 章プロダクトオーナーシップ」を参照 ) も ① AIan C. Kay, "Predicting The Future," & a' ! ル Engineering 1 : 1 (Autumn 1989 ) この文書は、 http://www.ecotopia.com/webpress/futures.htm で参照できる。 ② http://www.mathacademy.com/pr/prime/articIes/fibonac/fibonac_8.gif および http://www.mathacademy.com/pr/prime/articles/fibonac/in dex. asp 、 1-6.