ただいま修行中...

ソフトウェア開発において、勉強中で悪戦苦闘の日々

グレーボックステストの定義

2006-11-30 23:50:23 | ソフトウェアテスト
グレーボックステストの定義がわからなくなり、ソフトウェアテスト実践ガイドから抜粋してみた。

ホワイトボックステスト
モジュール内の処理フローを見極めてテスト
(カバレッジを主眼に置いたテスト)

ブラックボックステスト
INPUT/OUTPUTのデータだけを見極めてテスト
(ユーザの視点で確認するテスト)

グレーボックステスト
モジュール内のポイントになる数値とINPUT/OUTPUTのデータを見極めてテスト
(システム全体の整合性を確認するテスト)

本によると、定義はこのようになっている。

ソフトウェアテストの定義って、割と本や人によってまちまちなことが多い。
例として、システムテストがいい例ではないかと考える。

つまりは、目的を達成できれば、手段や方法がどうであれいいのではないかと感じた。
(ただし、法律や倫理に反してはならないということは前提にある)

OS自作入門4日目

2006-11-29 21:54:31 | プログラミング
OSを作成し始めて4日目にして原因不明の問題があった。
4日目は、Wiondowのカラーを黒から白に変換することだった。
なぜか、コードを自分で作成しても白にならない。なぜだ。
サンプルのコードをコピーしてくると、白になる。
俺が作成したプログラムは、黒のままだ。
ソースコードを比較してもまったく遜色がない。
今日はもう原因がわからないので、明日その続きをやってみる。
早くも問題が発覚した。
もしかしたら、簡単にできたら覚えないから、詳しく見てみなよと誰かが行っているのかも。

品質が良いソフトウェアとは?

2006-11-28 21:31:08 | ソフトウェア開発
そもそも品質が良いソフトウェアとは何か?
ISO9126に定義されている項目を満たしているものか?
バグがないシステムか?

俺は「品質が良い=顧客が使用するソフトウェア」であると考える。
よくあるのが、顧客が使用しないけどバグが少ない・ユーザビリティが良いというものがあるが、常々疑問に感じる。
バグが少ないのは最低限の品質であるから、それは当然だろ。
ユーザビリティが良いは、誰が決めたの?それを決めるのは顧客だろ。

だから、「品質が良い=顧客が使用するソフトウェア」であると俺は考える。

よく品質保証という名の部署があるが、本当に品質保証されているの?
だから、この名前を使用するのは非常に勇気がいることだと考える。

ユーザビリティの善し悪しは多少あるかもしれないが、
WORDやEXCELは非常に良いソフトウェアの一つであると最近感じる。

お勧めの本

2006-11-27 22:09:24 | お勧めの本
お勧めの本は、「パクる技術」だ。

この本の中で、パクるには3つあり、
1.成功事例から、新しいアイディアを産み出す
2.愚直にお手本を真似する
3.とにかくすぐパクる

日本人は、割と2が非常に得意である。
あまり良くないが、3をやる人は結構いる。
例えば、ソフトウェア開発においても他メーカーのものをすぐに真似ることはよくある。

この本には、1.と2.を組み合わせることで、企業の業績を回復したり、
「強み」を手に入れて高収益を上げているところがあるとあった。
この本のいいところは、身近にあるものが事例として取り上げられていることがあり、非常にわかりやすい。

例えば、トヨタのレクサスの誕生・スターバックスコーヒーのことが載っていた。
読んでみると、最後に実践法なども載っているので、ぜひ読んでみる価値があると俺は考える。
前々から思っていることだが、やはり本質を見抜く力というものはどこでも通用するなと感じている今日この頃。

Xbox360は楽しい

2006-11-26 21:17:19 | 未分類
Xbox360を購入してもうすぐ1年が経とうとしている。
その間にやったゲームは、

パーフェークトダークゼロ
デッドオアアライブ
プロ野球スピリッツ3
バトルフィールド モダンコンバット

ここ最近、仕事が忙しくてあまりできなかったが、
今日久しぶりにやってみたら楽しかった。
特に、プロ野球スピリッツの出来は非常にいい。
今までの野球ゲームになかったもののように感じる。
特に、ピッチングフォームやバッティングフォームはかなり特徴をつかんでいる。

今後も色々と発売されるようなので、定期的に購入して楽しもう。
特に、お姉チャンバラバイオハザード5ガンダムオペレーショントロイが楽しそうだ。

動物園に行ってきました

2006-11-25 23:02:29 | 未分類
今日、日本平動物園に家族で行ってきた。
入場料が大人500円とかなり格安で入場することができる。
館内には、小さな遊園地などもあるので、子供を連れて行くにはいいかも。
お弁当を持っていけば、一日格安で遊ぶことができる。

今日は、気温が上がらず、風が吹いていたので、曇っている箇所は、寒かったな。
10月頃にいくのかがお勧めかな。夏は暑いし、冬は寒いからだ。

俺がお気に入りの動物は、アメリカバイソンと、クモザルだ。
アメリカバイソンは、なんといってもその風貌が気に入った。
クモザルは2足歩行で、公園みたいなところを歩いていた。

その他にも夜行動物が見れたり、色々な種類の動物がいるので、お勧め。
そういえば、動物園にはかならずいると思っていた、ゴリラがいなかったな。

テスト駆動開発について

2006-11-24 23:57:08 | ソフトウェア開発
テスト駆動開発のメリットは以下の2点があると思う。
1.回帰テストを自動化して、振る舞いが変わっていないことを簡単に確認できる。
2.テストコードを先に書くことで、不明な仕様やメソッドを明確にする。

最近、特に不明な仕様やメソッドを明確にすることがテスト駆動開発における最大のメリットではないかと感じる。

テスト駆動開発でプログラミングをしてみて感じたことは、
テストコードを最初に書くので、テスト工程に入ったときに抜けがなくなった。

既存のシステムで、テスト駆動開発で進めるときの注意点として、すべての振る舞いにおいて、テストコードを書きましょう。
そうしないと、変更されたかどうかが確認できないので、まったく意味はない。

マンガ喫茶は意外と楽しい

2006-11-23 20:14:03 | 未分類
今日は、社内のゴルフコンペだった。
俺は、足を怪我しているので、プレーはできなかった。
ただ、幹事なので、ゴルフ場には行かなくてはならないので、
参加費などを集めるためにいった。

その後の懇親会まで暇なので、マンガ喫茶で時間をつぶしていた。

今日読んだ本で、お勧めなのが、「華麗なる食卓」である。
これは、ヤングジャンプで現在も連載中のマンガで、毎週読んでいるものだ。
今日、全ての刊を読んだが色々と忘れていることが多い。

時間をつぶしたいときなどにはお勧めかもね。

回帰テストの重要性

2006-11-21 21:52:11 | ソフトウェアテスト
ソフトウェア開発において回帰テストは重要だ。

なぜなら、回帰テストで行うこととして、
1.バグがただしく修正されているかを確認。
2.バグの影響範囲がないかを確認する。もしくは同様なバグが他にないかを確認。

つまり、影響範囲の特定及びデグレードがないかを確認することだ。

ソフトウェア開発において、新規に起票されるバグに関しては致し方ない点がある。

回帰テストのパス率が悪いということは、
1.開発者がバグを修正する能力がないこと
2.出荷基準を満たすことができず、目標納期どおりに出荷できないこと
があげられる。

俺がテストリーダーやプロジェクトリーダーの時に、いつも回帰テストのパス率を常に監視し続けている。

回帰テストは、自動化できるようならxUnitを使用すると、それなりの効果を発揮することが多々ある。
そこで、テスト駆動開発はお勧めだ。



アセンブラってすげー

2006-11-20 23:00:37 | プログラミング
OS自作入門を見ながら、アセンブラの仕組みについて知ることができた。
アセンブラのコードを見ていると、DelphiやC++などでは知ることがなかったことがあった。

例としてメモリやCPUの仕組みだ。

なぜ、アセンブラのAXやBPはなぜ8種類しかないのか?
答えはCPUが8bitまでしか記憶できないからである。
現在の16bit32bitにおいては、Exなどをつけて拡張している。

やはり、エンジニアとして生きていくためには、アセンブラのコードを見ながら、
OSの知識を本質から理解していく必要があるだろう。

まだまだ、知らないことばかりだから、これから仕組みを理解して、一皮向けていくようにする。