ソフトウェアテストを学ぶ理由

6/4 - 6/10はソフトウェアテストを学ぶことにしたので、
効率よく勉強するためと、あとで見返した時用に目的などを記録します。
自分用です。

勉強内容

なぜソフトウェアテストを学ぶのか

「限られた時間の中で効率的にテストしたい」

今の現場にぼくが参画したとき、テストはありませんでした。
自動化されたテスト(xUnitやSeleniumなど)はもちろんなく、CI環境など何それって感じでした。
単体テストがないだけではなく、結合テストもパフォーマンステストも何もないんです。
かろうじて、数件〜数十件の箇条書きされたテストケースがあり、それを目視確認する程度です。
でも、今もそうですが内部的にリリースは1週間という単位で毎週やってきます。

開発メンバーは増減していますが、多い時でも5人に達したことはありません。
全員が設計し、開発し、テストをします。
そんなサイクルの中で自動化されたテストがないなんて、非効率だし不安です。
実装よりもテストというか動作確認に時間をかけることが多いのはざらにあります。

参画して最初の会議で「テスト作っていかないと回らないと思うんですけど」という旨のことを言いましたが、「うーんまあねー」といった感じで流されました。

それからぼくは作業の合間に少しずつ環境を用意し、単体テストを書き始めました。
今もまだぼくしかテストを書いていませんし、本当に忙しいときはぼく自身テストを書かないこともありますが、それでも少しずつ増えています。
全くの新規機能なら単体テスト書けるんですが、既存機能の修正とかだとレガシーコード過ぎてテスト書くのは後回しになることが。。。

DBテストは書けるところは書いていますがライブラリに依存するところが都合上、簡単にはテストできずに書けていません。
画面テストについては、WebDriverを使って全画面のキャプチャ取るようなサンプルは書いてあるんですが、テスト用のサーバーを用意することが出来ずこちらも満足にテストを書けていません。
ローカルに環境を構築しようにも色々依存するモノがあって上手く出来ない状態です。

加えて、日々の作業もかなりカツカツです。
このプロジェクトでは1週間ごとに成果物を求められます。
その度にリリースされ本番稼働しているサービスに反映されます。
「テストフェーズでまとめてテストしようか」とかありません。テストフェーズとかそもそもありません。

「テスト環境構築のためにまとまった期間を取るべき」という意見もあるでしょうし、これがプロジェクト初期か中期ならぼくもそう思います。
でもプロジェクトは後期というか今がイケイケな時期なので、ここで開発の手を止めることがビジネスチャンス的に望ましくないのは容易に分かります。
顧客に価値を届けるのがエンジニアの仕事だと考えているので、ビジネスチャンスを失うような選択は取らせたくありません。
もう少ししたら忙しさの山場は過ぎるような気もするので、そうしたら毎週少しずつリソース確保しようかと思いますが。

それにしても、プロジェクト初期の段階でCI環境を構築しておくべきだと、ほんと痛感します。


そんなわけで、以下のような理由からソフトウェアテストを学びたいと思うようになりました。

  1. 品質の高いサービスを提供したい
    • そもそも品質とは何か?とか
  2. バグやデグレに関する不安を出来るだけ減らしたい
    • そのためにはどういうテストケースがあればいいのか?
  3. 最小限の手間(テストケース)で最大限の効果(エラー検知)を得たい
    • 重複するような無駄なテストケースは工数を増やすし、テストケースに漏れがあればバグを検知出来ない

上記の目的に合致する部分だけ吸収していきたいなと思ってます。

参考書籍(予定含む)

まず入門書として以下を購入、流し読みで一読しました。

知識ゼロから学ぶ ソフトウェアテスト

知識ゼロから学ぶ ソフトウェアテスト

あとは一緒にコチラも購入。一気に読むものじゃないとまえがきにあったし少しずつ読んでいく。

ソフトウェアテスト293の鉄則

ソフトウェアテスト293の鉄則

この本は前に買ってあったので、「知識ゼロ」を終えたらちょっと見てみようかなと。

【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践

【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践

あとは何かバイブル的に扱われているこの本が気になっています。

ソフトウェア・テストの技法 第2版

ソフトウェア・テストの技法 第2版

  • 作者: J.マイヤーズ,M.トーマス,T.バジェット,C.サンドラー,Glenford J. Myers,Todd M. Thomas,Tom Badgett,Corey Sandler,長尾真,松尾正信
  • 出版社/メーカー: 近代科学社
  • 発売日: 2006/08
  • メディア: 単行本
  • 購入: 7人 クリック: 267回
  • この商品を含むブログ (47件) を見る

が、1週間でこんなには読めないので、あくまで予定だな。
がんばろう。