パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください -20ページ目

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

ある組織では、

メイン環境に対して、災害対策としてバックアップ環境を作成し、ドメインコントローラやエクスチェンジサーバなどのリプリケーションを行い災害時に備えます。

そのために、メイン環境の構築後、バックアップ環境を作成し、ドメインコントローラを作成、データの複製を実施します。

その後、メンバーサーバを構築し、ドメインに参加させていくのが通常、一般的な流れだと思います。

その一番最初のドメインの複製の際に見落としがちで、意外と嵌ってしまうことを備忘録的に記載いたします。

----
手順としては
----
1. メイン環境に対してバックアップ環境のドメインコントローラとなるサーバを立てる
2. メイン環境のドメインコントローラにバックアップ環境のサイトを追加
3. 2.に対応するサブネットなどを追加
4. DCPROMOなどを実行し、ドメインコントローラの機能をインストール
5. 複製を開始
-----
が大まかな流れですが、少し前までは、GUIを使用し手順を実施するか、
BATコマンドを使用して手順を実施するというのが主流でした。

最近はPowershellを使用し構築を容易に進めていくという流れになってきています。

内容によってはBATコマンドでも実行できるのですが、GUI操作か、Powershellコマンドでないと実施できないものも存在しています。


以下は、いろいろな原因でエラーが発生し構築をすることができなかったのですが、
原因がわかると、・・・・・ガッカリショック!となったことです。

手順2でメインのドメインコントローラにバックアップ環境のサイトを追加しています。

GUIで実施すると、「サイトの追加」時に"Servers"と"NTDS・・・"も自動に作成されます。
ところが、Powershellコマンドで「サイトの追加」を行うと、純粋に「サイト」のみが追加され、"Servers"も"NTDS・・・"も追加されません。

この状態でGUIで追加されたか確認すると、一見"Servers"も"NTDS・・・"も追加されているように見えるのです。

それで、安心し、次の作業を進めていくと、手順4でサイト名の検証に失敗してしまい構築に失敗してしまいます。

ところが、この「サイト名の検証に失敗」とは、TCP/IP設定の問題、ファイアウォールの問題、名前解決の問題等いろいろなことが要因となって発生します。

Powershellコマンドでのサイトの追加が一見正常に見えているので、そこのミスが原因だとなかなか気づくことができないことが多く、少し嵌ってしまいました

お読みの皆様も、お気を付けください。
RobotFrameWorkとSelenium

RobotFameworkはオープンソースとして公開されている、Python製のテストフレームワークです。
RobotFameworkはキーワードを表示形式でテストケースを記述していきます。

Selenium2用のものをはじめ、豊富な外部ライブラリが公開されています。

自分でキーワードを新規に作るのも簡単にでき、日本語でキーワードを作成することも可能です。

RobotFameworkのテストケースの例)

*** TestCases ***
認証が正常に行われることのテスト >>> テストケースのタイトル
ログインページを firefox で表示する >>> 以下キーワード
ユーザー名を入力する
パスワードを入力する
ログインボタンを押下する
正常にログインされたことを確認する


上記のキーワードに対して、SeleniumAPIを設定することで
ブラウザ上で認証処理を自動的に実施します。
※Seleniumのテストケースを作成する内容は「「Selenium」のツール」に記載してます。

RobotFamework, Selenium2Libraryは、PyPIで公開されています。

日本語のキーワードの組み合わせでテストケースを作成できるため、
とても便利と思います。
興味があれば、試してみてください。
ブラウザ自動テスト 「Selenium」のツール

・Selenium Core
JavaScript/HTMLベースのテストツールです。
Webサーバー上にSelenium Coreのエンジンとテストスクリプトを配備しておき、
ローカルPCからアクセスを受けた時に、JavaScriptのブラウザ操作ロジックを埋め込んだページを返します。
ブログ1

Selenium Coreのブラウザ操作ロジックは、「Selenium RC」や「Selenium IDE」の内部で現在でも使われているため、
単体で使用して自動テストを組む機会はほぼなくなりました。

・Selenium RC
Selenium RCはSelenium Coreを「Webサーバー上にスクリプトを置かなくても利用できるようにしたもの」と
いうような感じです。
Selenium RCでは、「Selenium Server」というサーバーを起動し、このサーバーを中継し、
JavaScriptのブラウザ操作ロジックをWebページに埋め込みます。
ブログ2

・Selenium IDE
ユーザーのブラウザ操作を記録して、そこからSeleniumのスクリプトを生成するFirefoxプラグインです。
Selenium IDEにはSelenium Coreのロジックが埋め込まれており、Firefox上でのテスト実行ならばSelenium RCがなくても行うことができます。

Selenium IDEはSeleniumのダウンロードサイトからダウンロードし、
通常のFirefoxのプラグインのインストールと同じ手順でインストールします。

インストール後、Firefoxの[ツール]メニューに[Selenium IDE]が表示されます。
ブログ3

Selenium IDEを起動後、ブラウザを操作すると以下の画像のように操作が登録されます。
ブログ4

Webアプリケーションに対する操作を一通り行い、
テストケースを作成したらSelenium IDEの右上の赤色ボタンを押して記録を停止し、
Selenium IDEの[ファイル]メニューからテストケースを保存します。

このように「Selenium IDE」を使用することで簡単にテストケースを作成することが出来ます。


ブラウザ自動テスト 「Selenium」

Seleniumは、Webブラウザのテストを自動化オープンソースです。

以下のような複数のブラウザにも対応しています。
・Internet Explorer
・Firefox
・Chrome
・Safan
・Opera
など

また、以下の言語でSeleniumテストスクリプトを作成できます。
・Java
・C#
・Python
・Ruby
・JavaScript

Webアプリケーションでソース修正が発生した際、影響範囲に対して回帰テストを行うが
影響範囲の洗い出しの漏れによって、デグレが発生することがあります。
Webアプリケーション全体に影響がある共通のJavaScriptを修正した際、
すべての画面に対してテストを行う必要があり、面倒で時間のかかる作業となります。
また、製品上、保障するブラウザが複数あればその分テストを行うことになります。

そこで、SeleniumでWebアプリケーションのテストケースを作成しておけば、
回帰テストはほぼ自動で行うことができ、デグレの可能性が少なくなります。

回帰テストを自動化すれば、作業工数を大幅に減らすこともできるので、
試してみてはどうかと思います。
ActiveDirectoryって?? その3

ドメインコントローラーの概要を記載します。
まず、「ActiveDirectory」、「ドメインコントローラー」は一緒くたに考えがちですが、
「ActiveDirectory」はあくまで製品名で、
「ドメインコントローラー」はActiveDirectoryが提供する、
ディレクトリ データを格納し、ユーザーのログオン プロセス、認証、およびディレクトリ検索など、
ユーザーとドメイン間の通信を管理を行う「ActiveDirectoryドメインサービス」(AD DS) を実行するサーバーです。

「ドメイン」を制御する中心的なサーバーとなり、
主に「登録されたデータの保持」、「認証と承認」、「グループポリシーによる制御する役割」の役割を行います。


・登録されたデータの保持
ユーザー名、パスワードなどユーザー情報を保持します。
ユーザー情報には「属性値」に色々な情報を設定することが出来ます。

・認証と承認
ユーザー名とパスワードを確認します。
こちらはKerberos認証(その2に記載しました)を使用してます。

・グループポリシーによる制御する役割
基本的にはPC1台1台にポリシーを設定する必要があるが、
グループポリシーを使用することで、すべてのPCに設定したポリシーを割り当てることが可能です。