« 新人OJTと量子コンピュータ | トップページ | 「"Readyの定義" を使う」当り前の話...ですよね? »

今更ネタですが、Selenium2!

請負開発部隊では、技術的・その他制約が無い限りは、Selenium2による再テスト実行の効率化を図っています(Webベースのシステムなので)。 以上!

...と、これだけで終わってしまったのでは、さすがに寂しいっ!!

現在請負っているプロジェクト(自社内にて開発;最終的には客先環境にて検証テスト実施は言うまでも無く...)は、既存の、全体としては結構なサイズのシステムです。

新規開発は難しさもリスクもありますが、足跡の無い真っ白なキャンバスに設計・実装とシステムを描いていくのは、代え難い喜びと興奮(&不安も)が有りますね。

しかし、このご時世に、全くの新規開発ってのは意外となかなかチャンスが少ないものです。

「新規」と言いつつも、前世代で構築したフレームワークやAPIを前提にしてくれとか、基本的なアプリの構造は既存の成果物を雛形として構築してくれ(リリースを急いで、ビジネスを急ぎたい!)とか、まあいろいろとお客様にも事情があるでしょうから、文句ばかりも言っていられません。

需要の中にも制約は必ず存在する。 これ、現実。

その中で、如何に最適のソリューション/アーキテクチャを採用するか?
その辺も開発チーム/アーキテクトの腕の見せ所でもあったりします。

要件自体をお客様と一緒に揉ませて頂いて、システムへの要求自体を効率化できれば(&予算配分やリリースのフェーズ分けも決められれば)、試行錯誤しながらも良い形に向かうことが出来るのでは?、と考えています。

さてさて、現在の現実の自社・請負チーム。

やはり既存のシステムがあり、そこへの改修・機能追加や変更を行っています。
で、制約の無い部分では、Selenium2を適用しています(=PHPUnitも使うことになります。必然的に、Selenium ServerPHPUnit_Seleniumも...)。
(ついでに、ガラケーとスマフォにも対応しているので、FireMobileSimulatorも使います)

これは、「顧客側の品質要求基準が厳しく、テスト再実行の可能性が高い」点と、「手を付けるコードの今後の寿命が長そう(再度、同機能に手を入れる可能性が高い)」と、アスペア側で判断した為です。

また、残念ながら既存コードが結構厳しい状態になっているので、プロジェクト的に手を入れることになった部分に関しては、可能な限りリファクタリングを行うようにしています(この辺は、手を入れることのリスク/工数・コストも判断に入れますが)。

で、新規コード内でのリファクタリングは容易に行えるようになりますね。

今後の機能追加や変更の際の、テスト実行・検証工数を抑えることが出来る(はず)です。

しかし、テスト用スクリプトの生成や作成に対して、特に別枠で顧客から予算を戴ける訳ではありません。

あくまで、我々自身の開発効率の向上と、品質担保が目的です。
今後のメンテナンス効率の向上云々は、我々の、IT業者としての・技術者としての自覚と誇りの問題です

もし、今後の同機能の改変を別会社が行った場合でも、「何じゃこりゃ?、塩っぱいコードだな~~.....」とは思われたくない。
お客様に無駄なコストを掛けて欲しくない。

.....でもやっぱり、「寿命の長いコードのメンテコストをトータルで抑えられる」メリットは理解して欲しいよなー!、と、切に感じます!!

テストコードの仕込には、工数(=コスト)が掛かります。
寿命の短いコード、作り捨てコード、高い品質を求められないコード、リリースを緊急に求められているコードには、テストコードなんて仕込みません。
ただの自己満足・趣味の世界になっちゃいますから。

そういった意味では、ユニットテストのコードを組むかどうかは、ケース別に・コンポーネント毎に判断していかなければならないと考えています。


★クリック1つでブログランキングにご協力戴けます! m(_ _)m

|

« 新人OJTと量子コンピュータ | トップページ | 「"Readyの定義" を使う」当り前の話...ですよね? »

お仕事な日常」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 今更ネタですが、Selenium2!:

« 新人OJTと量子コンピュータ | トップページ | 「"Readyの定義" を使う」当り前の話...ですよね? »