ただいま修行中...

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

バグの分類をする上で必要なデータ

2007-05-31 23:41:37 | ソフトウェアテスト
バグの分類や類似したバグを見つける上で、必要なデータは、やはり原因が重要になってきます。

この原因があまりにも曖昧だったり、それは普通にわかるからもう一段階踏み込んだ原因が必要なんだということがバグレポートを見ていると感じることがたまにあります。

やはり、細かな実装方法がどうだったかまでは正直必要ありませんが、空白行が考慮されていなかったやデータが無い場合の処理が抜けていたなどの最低限の情報は記述しておかないと分類や対策を講じることはできません。

これらを見て、抽象化して共通部分を見つけ出すためには、やはり原因がある程度わかるように書いていないとわからないので、原因というのは非常に重要であるデータだと思います。

ライブコーディングは有効

2007-05-29 23:34:26 | プログラミング
今日は、今年の新入社員向けにテストの研修を行いました。

最初に、テストの基本的なことを講義し、実際にテストケースの抽出をプロジェクタに投影しながら行いました。
その後に、少し時間に余裕があったので、ライブコーディングをしてみました。

ライブコーディングでは、簡単な描画アプリケーションを1時間ほどで作成しました。
その中で、メソッドや処理を追加したらすぐにテストして、それらを繰り返していくことで、アプリケーションができること・細かな単位でテストを行うことで、一気にコーディングしてからテストするよりは、バグが少なくなるということを伝えたくてライブコーディングをしてみました。

オブジェクト指向をまだ理解していないので、まずはベタに作成して、あえて読みにくいコードも作成しました。
そこからこれって少し読みづらいので、メンテナンスしづらいよねということで、そこから読みやすいようにコードになるように修正していきました。

今回、ライブコーディングをしたことで、コーディングするときのリズムや読みやすいコードをなぜ書かなくてはならないのかということが伝わったという話を聞きました。

その後に、NUnitを使用して、テスト駆動開発も雰囲気だけでもつかんでもらおうとして、やってみました。

なぜソースコードを読みやすくしなければならないのかが非常によくわかったという話を後から聞くことができました。

思い切って新たなことを試してみてよかったと思います。

携帯電話にみるソフトウェア開発

2007-05-28 22:27:30 | ソフトウェア開発
今日、ふと自分の携帯電話を見てみると、「R」マークが表示されていました。
携帯の操作に不慣れな私ですが、なんだかよくわからないが、メールの受信の当たりに表示されているので、その当たりに違いないと思い、色々と操作してみました。
しかし、どうしもそのマークが消えません。
近くにマニュアルがあるわけがないので、ネットで調べて見ました。
どうも調べてみると、契約している会社から不定期にパケット通信料が無料で送られてきて、通常の操作とは違う手順で操作すれば読むことができると書いてありました。

今回は、たまたま私がネット上で調べて見つかったからよかったものの、最初にこれが来た人は、「なんかマークが表示されて消えません。」といった電話や問い合わせがサポートセンターに問い合わせが多いのではないかと思います。
これが、定期的にくれば、操作を覚えていますが、どうしても忘れた頃に表示されるので、操作を忘れてしまいます。

携帯だけではありませんが、あるソフトウェアを使用したときに、どのような操作をすればよかったらできたかなと思い出しながら操作をしています。

私たちもソフトウェアを作成するときには、このようにすぐに思い出せたり、解りやすいインターフェースを提供しなくてはならないと、少し違ったことから感じました。

ようやく納車

2007-05-27 22:28:24 | 未分類
今日、先月に購入したアコードが納車されました。

乗ってみた感想は、エンジンがすごく静かです。そこまで走っていないので、足回りがどうかは正直わかりません。
まだ、車幅の感覚がわからないので、狭い道を走ると、少し戸惑う部分はあります。

車を待っている間は、早く来ないかなと子供の頃にオモチャを買いに行くときの間隔に似ているのかなと思います。

これから色々なところをこの車で走れると思うと今からわくわくします。

息子とちょとした遠出

2007-05-26 23:40:16 | 未分類
今日、息子と2人で初めて、ちょっとした遠出をしてみました。

5時間くらい2人きりで一緒にどこかに出かけるのは初めてで、多少不安がありました。しかし、何とか車の中でもおとなしく外の景色を見ていました。

トラックバスがお気に入りなので、それらを見るとすごく喜んでいました。
目的地に到着した頃は、どうも眠いらしく、一人で歩かずに、オンブをしていました。目的地に到着して少し遊んで、お腹がすいたようなので、近くのコンビニでパンを買って帰ってきました。

帰ってくると、途中に寝てしまいましたが、本屋に到着する頃に起きて一緒に本屋に入って、建設工事車両の絵本を買って帰ってきました。

初めて、2人で遠出した割には順調だったので、今度はもう少し遠くに行ってみようと思います。


テスト研修で教えていること

2007-05-25 23:48:11 | ソフトウェアテスト
今年もテスト研修ではいつも、回帰テストの重要性をいつも話しています。

どうしてもデグレードが多いと、リリースできないこと・テストケースが足りていないのではないかと見てしまうので、どうしても重要になってくることを話します。
デグレードが多いソフトウェアというのは、修正する側もテストする側もすごく疲れるし、ソフトウェア開発の仕事が本来は楽しいことであるのに、辛くて厳しいものに感じられてしまうので、どうしてもいつも重要性というのを伝えています。
今年は、Jasstで学んできたこと・自分が実際にマインドマップを使用してテストケースに漏れがないようにしていることなどを伝えていこうと思います。

そういえば、TEFメーリングリストにあったマインドマップの勉強会はどうだったかな。盛況に終わったようで、本当は参加したかったな。

パソコントラブル

2007-05-24 23:33:52 | ソフトウェア開発
昨日から今日まで広島に出張していました。
今朝は営業所に出社して色々と話を聞いてきました。
そこで、営業マンがパソコンがフリーズしてしまうので、見てほしいと言われ、朝から対処しました。

最初に現象を見ていると、確かに起動してしばらくすると、フリーズしてしまう。
まず始めに、常駐しているソフトが多々あったので、不要そうなものを常駐解除しました。
再起動後、やはりダメでした。

タスクマネージャを起動して、CPU稼働率をチェックしていると、100%の状態がずっと続いていて、フリーズしてしまうことがわかりました。
その原因は、svchost.exeでした。これが原因で、フリーズしてしまうことがわかりました。

その後に、別のPCでsvchost.exeを調べてみると、Microsoftバグでした。今日付けで、パッチファイルがあがっていました。
それを当てたら正常に動作しました。

今日、出張から帰ってくると、自宅のPCでも同様の現象が発生していました。
このことは、Microsoftだから許されるけど、その他の企業で同じようなことが起きたら、損害賠償が請求されて、倒産に追い込まれるくらいのバグであると思います。

基本的にフリーズするのはあってはならないバグです。私たちもこのようなことを起こさないようにソフトウェア開発をしていかなければなりません。

それにしても昨日食べた広島のお好み焼きはおいしかった。そばが外はパリッとしていて、中はふっくらしていました。

設計は常に続いている

2007-05-22 21:39:57 | プログラミング
よく、設計実装と分ける人や、設計のための実装や通常の実装と分ける人が居ますが、私は、設計はシステムが変化し続ける限り常に行っているものだと思います。

はっきりといってどこまでが設計で実装かが明確に区分することができないことやテストをしているときにも設計しなおすことがあります。

そういった観点から捉えれば、常に設計をしているし、検証もしています。
だからフェーズを分けることは、なんとなくですが、意味がないのかと思います。

ただ、区切りをつける意味(目標)では必要だとは思いますので、どちらが正しく間違っているということはありません。

実力を見るためには

2007-05-21 22:51:38 | ソフトウェア開発
ソフトウェア開発において、実力を見るためには、プログラマだったら、実装したもの、テストエンジニアだったら、テストケースを見れば、大体どのような実力を持っているかがよくわかります。

プログラマにある程度簡単なプログラミングをさせると本当によくわかります。
クラス設計の仕方から始まり、重複する箇所や目的があるものをメソッドにしたりすることまで見てみると、本当によくわかります。
色々な人に聞いたり、スキル一覧を見てもよくわからないので、やはり自分の目で見て判断をしなくてはなりません。

土地もそうだと思いますが、図面を見ただけではわからず、やはり実際に見てみて本当は南向き道路よりも北側の方がいいという場合があります。

できるといわれている人が実際はそうでもなかったり、できないといわれている人が思っているよりもできる場合があるので、実際に自分の目で見るまでわからないなと感じます。

それにしても最近本当に色々なコードを見るようになったので、色々と見えてくること・なんでこんなコードを書いてあるんだろうなと自分が作成したコードも含めて感じています。

愛車で最後の通勤

2007-05-20 23:44:42 | 未分類
今週末に、車を購入したので、愛車レガシーで最後の通勤になります。

来週からは、アコードでの通勤になるので、今からワクワクしています。

本当に、レガシーには色々な思い出があります。

色々な場所に行ったり、故障したりして、色々な思い出が詰まっている車です。
今までで一番長く乗った車です。それだけに感慨深いものがあります。

今週で最後の通勤になりますが、今まで「どうもありがとう」という感謝の気持ちをこめて、通勤をしたいと思います。