ただいま修行中...

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

HAYST法の勉強を開始

2008-06-30 22:36:32 | ソフトウェアテスト
今日から、HAYST法の勉強を開始しました。
まだ、勉強を開始したといっても実際にどういったことをするのかは始めていないので、まだまったく理解していません。

ただ、現状は、HAYST法でいうところの因子や水準といったものはもれる場合はありますが、以前に比べたら、格段に減ってきたので、これからの課題が組み合わせによるテストであるので、これを勉強して組みあわせ(2因子や3因子)でのテスト漏れを少なく出来ればいいなと思っています。

久しぶりに、テストの勉強をするぞ。

最初は一緒に作業をしなくては

2008-06-27 22:15:11 | プログラミング
最近、テスト駆動開発(TDD)で進めており、基本的にはテストコードを書いてから実装をしております。

それを後輩にあるモデル部分を担当してもらうと、まだテストコードを書く意識がないか、あるいはテストコードを書くメリットを理解していないのか、テストコードがまったくないときがあります。

私があるバグフィックスをするときに、ここをこうしたらこれが壊れるはずだとなるのにテストコードが通ってしまい、なぜだろうと調べると、あるクラスの部分のテストコードがまったくありませんでした。

一部、テストパターンが足りなくて通ってしまうことはありますが、これはちょっとビックリしました。

やはり最初は、テストコードを書く癖やメリットを一緒にペアプログラミングをして伝えていかなくてはならないと思いました。

後工程を担当してわかってきたこと

2008-06-25 23:07:03 | ソフトウェア開発
あまり、設計・実装・テストと工程を区切ることは好きではありませんが、役割に応じて、工程を区切ったときに、後工程を行ってみると、見えてくることはあるなと思います。

例えば、テストエンジニアとして、テスト設計から行うと、このあたりの仕様が微妙に矛盾が生じるななどとか、ここは早めに決めてほしいなということはあります。
こういった場合には、コミニケーションをとって解消をしていくわけです。

私も後工程を見ながら、現在プログラミングをしておりますが、後工程を考えながらここは早めに決めておくだとか仕様の矛盾が生じないように常に意識するようにはなりました。

別の話ですが、数年前に、巨人軍の高橋尚成投手がストッパーになったときに、1球の大切さをしって、その後に先発に回ったときに、ストッパーを担当したことで、先発でも1球1球を大切に投げたので、活躍することが出来たと話しておりました。

私たちの世界も後工程を担当することでいかに、その前の工程が重要であるかが判ると思います。

そうでなければ、要求開発が成り立たないと思います。

桑田さんが本当に引退したんだな

2008-06-22 22:07:18 | 野球
今日、朝テレビを見ていると、波乱万丈という番組で桑田真澄さんが登場していました。

それを見ていると、本当に引退したんだなと思いました。
私が小学生の頃は、PL学園全盛期で、桑田・清原のコンビで甲子園を沸かせていました。
そんな小学生の私にとっては、桑田さんというのは、憧れでした。
色々なテレビなどで見ていると、非常に野球というのを研究しているなと思いました。

今日も、体が小さい僕は、大きい選手を抑えるために常にどうすればいいかを、高校生の頃から考えていたと話していました。正直、こんなことを考えて、野球をしている人がいるのかと思いました。

このブログを開始したときは、「桑田はどうなるか」というタイトルで始めました。

ああ、今日テレビを見ていて、ああ本当に引退したんだなと思いました。

周囲のおかげで楽しい

2008-06-20 23:27:13 | ソフトウェア開発
最近は、本当によくプログラミングをしているなという位に、コーディングの作業をしています。

本当に楽しくて、その他にやらなければならないことがあるのに、コーディングに集中しています。

本当に一人の技術者として、技術を追求ではありませんが、このクラスはこうしたほうがアクセスしやすいやこのメソッドはイマイチなどを考えていると、時間がたつのが本当に早いです。

こんなにコーディングのみに集中できるのも私の周りでその他のことをしている人たちがいるからこそ、私が集中できるのだと非常に感謝しております。

今は本当に、技術者として非常に楽しいことをさせてもらっているなと思います。

Windows2000におけるUSBのキーボード

2008-06-18 21:57:37 | ソフトウェア開発
今日、テスト環境のマシンを構築するために、古いPCへWindows2000インストールしました。
普通にインストールを行い、ドライバもダウンロードしてきて、正常にインストールまで進みました。

ネットワーク上のコンピュータにアクセスするために「\\ネットワーク上のマシン名」とキーボードで入力しても「\\」が打てませんでした。

どうしてだろうと思い、キーボード配列を106/109キーボードで設定しなかったかなと思いましたが、そんな間違いをするはずがないと思い、調べてみたら、USB接続のキーボードの場合には、かならずキーボード配列が101キーボードになってしまうMicrosoftのサポートページに書いてありました。

説明を読むと、まあ致し方ないと思いますが、今まで一度もなかったことがなかったので、ミスをしてしまったとあせってしまいました。


久しぶりのペアプロ

2008-06-17 23:11:12 | ソフトウェア開発
今日、会社の後輩と仕様の共有という目的で、ペアプロを行いました。

仕様の部分で把握している部分が少なかったので、すこし時間はかかりましたが、なんとか今回修正した部分での仕様の共有とコードの共同所有ではありませんが、どういったことをしているかを把握することはできたと思います。

今回、久しぶりにペアプロを行い、当初の目的である「仕様の共有」といった部分はまだ弱い部分はありますが、今日の時点では当初の目的を達成するための第1ステップとしては、クリアしたかなと思います。

たぶん、今週中はペアプロをしないと、当初の目的は達成できないので、なんとか共有していき、誰でも修正できるようにしていかなければならないと思います。

たまにはペアプロをしていかなければならないと思いました。

疑問に思うことが重要

2008-06-14 23:09:05 | ビジネス
映画が公開されてから、「相棒」がテレビでよく放送されているので、ついつい見てしまいます。

その中で、水谷豊さん演じる杉下右京の、ちょっとしたことでも疑問に思うこと・理屈が通らないことに対して、なぜそうなっているかを自分で納得できないととことん調べるところが私は面白くて見てしまいます。

人が成長していくためには、小さなことでも疑問に思うこと・気がつくことが重要であると感じます。

例えば、プログラミングを始めると、どの言語でも「HelloWorld」なのはなぜか?などです。

ほんの些細なことでも気がついて調べることが、技術を上げるための一番の近道だと思います。
わからないことをそのままにしないことが重要であるとテレビを見ていて感じます。

やっぱテスト設計が重要だ

2008-06-12 23:25:13 | プログラミング
テスト駆動開発テストコード機能テストテストケースでもテスト設計が重要であると思います。

テストコードを書いていてもテストコードが不足していたり、テストパターンが不十分だったりすると、どうしてもバグが入り込む確率というのは増えます。これが不十分だったりすると、アーキテクチャの部分でどうしてもこの構造では破綻するというのがあります。

機能テストにおいてもテストケースが不足していたり、パターンが不十分だったりすると、エンドユーザーのところでバグが発見されてしまいます。

テストを自動化するにしても、その上記のような問題があると、自動化してもあまり効果を発揮することがないと考えられます。

こういったことを考えると、プログラミング能力とテスト設計のスキルというのは比例関係にあるのではないかと私は考えます。もしかしたら、指数関数的かも知れません。

ニワトリが先か卵が先かの話になってしまいそうですが、テスト設計のスキルがプログラミング能力の向上になり、ひいては読みやすいコードを書くことつながっていくのではないかと思います。

人と人とのつながりは大切

2008-06-11 23:26:03 | ビジネス
今週の始まりから、耳がずっと気圧の高い所にいるような状態が続いていたので、病院に行ってきました。

まず、最初に腕の評判がいいという病院にいったところ、熱があるか・痛くないときでなければ、予約しか受付を行わないということでした。
実はその時間に行ったところ、患者の数は、一人しかいませんでした。

正直、「ふざけんな」と思い、受付の人に「ふぜけるな!別の病院にいく」と啖呵を切って、出てきました。

次にそういえば、もう1件近くにあったぞと思い、そこの病院にいくと、受付が可能で、診察をしてもらいました。

病名は「急性低音障害型感音難聴」でした。これは、脳にあるリンパの流れが悪くなっているみたいです。
根本の原因は分からないみたいですが、ストレスだったり、低気圧の影響があるようで、この時期には多い病気のようです。

今回、最初に腕に評判がいいという病院にいっても、あのような対応をされると二度といくものかとなってしまいました。

いくら技術が高くても、そこに人として最低限身につけておかなくてはならないことというのはあります。

やはり、いくらITが活用されて、人と人とのつながりが以前に比べれば薄くなったといわれる時代ですが、最後はやはり人と人とのつながりが重要であると、改めて思いました。