前田:
ブログを御覧のみなさん。こんにちは。富士通ラーニングメディアでソフトウェアテストコース担当の前田です。ソフトウェアテストって一見地味なんですが、実はかなり重要なんです。抜けなく漏れなくやるだけでいいのか!?いや、そんな筈は無い!そんなの私は納得しない!今回はそんなソフトウェアテストについて、私、前田が熱い思いを皆様にお届けします!
毛利:
あれ、前田、カメラ目線で何やってるの?
前田:
上流からテストの講習会を担当されている毛利さんではありませんか!(少し説明口調)今、ソフトウェアテストのテーマについて、ブログで皆さんに私の熱い思いをご紹介しているんですよ。
毛利:
!! 熱い思いを持っているのは前田だけじゃないぞ!私だって大したもんですよ。ところで前田もずいぶんソフトウェアテストの世界が分かってきたよね。一番初めに学び始めた時の理解度は、期末テストでたとえると赤点ギリギリだったからな。よ~し、俺も先輩ベテラン講師として前田をオブザーブしちゃうぞ!
前田:
うぅ。それは言わない約束ですよ~。(期末テストって、学生じゃないんだから...)
毛利:
いつの時代でも、テストについては悩みが尽きないからなぁ~。よし、少し語っていこうか!
前田:
皆さんはソフトウェアテストの作業がお好きですか?と聞かれたらいかがでしょうか?眉をひそめる姿が目に浮かびます。(実際私もそうだった・・・)
短納期の中、開発を進めなければいけない皆さんにとって、ソフトウェアテストのような品質活動の必要性はなんとなくわかっていても、目の前の納期を意識しちゃいますよね。
毛利:
確かにそうだよな。ただ、情報システムが社会を支えていると言っても過言ではないからね。ちょっとした、不具合が運用中のシステムで発生すると社会問題にまで発展してしまうから、重要性が高まってきている活動になるよね。
前田:
ミッションクリティカルなシステムであれば、より検証の技術は求められますよね。ところで毛利さん。私が受講者の方からよく伺うテストフェーズの悩みは、活動の進め方の課題が多い気がしています。例えば...
毛利:
なるほどね。仕様書などの記述のあいまいさは課題としてよくご相談いただくよね。やはり、ソフトウェア開発の原則を考えると品質の作り込みは上流工程にあり!だから、要件定義書や設計書の品質とテストフェーズは切り離して考えられないよね。
そうそう!最近のソフトウェア開発のプロセスでは品質を高めるためにW字モデルがキーワードになってきているよね。
前田:
確かにW字モデルを採用して、設計品質が上がったという声をよく聞くようになりましたね。では、ここで皆さんにW字モデルをご紹介したいと思います。
従来のV字モデルでは、外部設計などの上流工程と、意図どおりに正しく動作することを確認する各テスト工程が対比されています。したがって、上流工程が遅延した場合、後続の工程であるテスト作業が削られ、結果的に十分な時間を費やせずテスト不十分といった状況になりがちです。
そこで、W字モデルの登場です。W字モデルとは上流工程と並行してテスト項目抽出などのテスト設計を行います。近しい概念でテスト駆動型開発というキーワードも出ていますねよね。ですので、外部設計でシステムテスト、内部設計で結合テストといったように、設計と対応するテスト設計を実施します。V字モデルをずらして並べたように表現できることから、W字モデルと呼ばれています。
従来のV字モデルでは、テスト仕様書をテスト作業の直前に行っていましたが、W字モデルのようにテスト設計を設計工程で行うことであいまいな仕様を明確にしていきます。
W字モデルのポイントは、「検証手段が不明確ということは、仕様が不明確である」という考え方に基づき、設計品質を上げることですね。
毛利:
でも、こうしたモデルとかしっかり揃ってはいるけど、どうやって勉強したら良いのかわかりにくいという声も聞くよね。
前田:
知識を習得するなら極端な話し、本を読むなどの方法がありますが、まずは、テスト技法の基本を押える事が重要なんです。同値分割や、境界値分析といったエンジニアにはマストな技法を適切に現場でも使えることが必要です。だから知識だけ身に付けるより、その知識を適切な場所で適切な技法を使えるようになること、それを意識することが大事になってきます。
毛利:
確かに、仕様に基づき、網羅的なテストケースを洗い出せなければどのケースが今回必要か、取捨選択ができなくなるもんな。ただ、それだけじゃないぞ!大事なことはそのケースで何を検証しているのかを理解しテスト設計ができているかということ!
前田:
なるほど!確かに過去のテストケースをそのままコピー&ペーストして作成していると、なぜそのテストケースが必要なのか分からないままの検証になってしまいますもんね。
今思うと学習する際にも、テストケースの必要性を考えることがケースの内容精度を上げていくきっかけだったと思います。
毛利:
さすが、それで失敗した人の意見は説得力あるね(笑)
前田:
私のことは良いですから・・・・
毛利:
まあまあ、失敗する経験があるのは講師として重要なことだよ。それはさておき、十分に関係者でレビューすることで、理解が深まってくるんだよな。優秀なテストエンジニアは、仕様を読み解くために、設計書をきれいに色分けしてマーキングしているよね。代表的なもので言えば、カラフルトレースとかあるけど。
前田:
仕様内容をしっかり把握するために、カラフルトレースでは、フローチャートのルートを色分けしてなぞってテストケースに落とし込むんですよね。確かにまずは仕様把握が重要ですね!合わせて、テストを体系に学ぶのであればJSTQBが提供する資格試験が参考になります。
毛利:
ソフトウェアテストの知識体系として、注目されているよね。
前田:
そうなんですよ。私も作業体系を理解する際に、JSTQBの提供する資格試験で学習しました。その結果として、「JSTQB認定テスト技術者資格 Foundation Level試験」も合格しましたよ!作業体系やテストの基本概念が学べて、資格という分かりやすい形で結果が出るので魅力的ですね。
ではでは、テストエンジニアとしてスキル向上に向けてまず必要なものをまとめますと...
皆さん、テストのコツ、なんとなく掴んでいただけましたか?ここで、当社ブログの名物コーナー【講師オススメの本】でテストを学ぶのに参考になる書籍をご紹介します。
前田:
毛利さんがソフトウェアテストを学習する上でおススメの本はありますか?
毛利:
書籍もそうだけど、セミナーやシンポジウムに足を運ぶことも良いかもね。ソフトウェアテストのシンポジウムといえば、JaSSTがあるよね。答えのない世界なので、様々な知見に触れることが重要だと思うよ。
前田:
毛利さん、お忙しい中ありがとうごいました。
さて、皆さんソフトウェアテストのブログはいかがだったでしょうか?学生時代、期末テストに向けて勉強したように、ソフトウェアテストも身につけるには勉強と、実践が大事です。そして学ぶときには体系立てて学ぶと理解度が大きく上がります。そうした点で講習会を有効活用して欲しいと思っています。
富士通ラーニングメディアのラーニングセンターで皆様をお待ちしております。是非お越しください!
第一ラーニングサービス部 前田真太郎
設計からテストまで、システム開発に関連するコースを担当。最近では統計学などトレンドなテーマも担当する人気講師である。参加者をモチベートするクラス運営には定評がある。(課長談)
カラオケの十八番はももいろクローバーZの「ココナツ」。
第一ラーニングサービス部 毛利博幸
要件定義を中心とした上流工程コースを担当。上流工程を理解しているがゆえに、下流工程のテストの説明にも深みが出る。幅広い知識・経験をベースとした安心感あるインストラクションがウリである。(課長談)
カラオケの十八番は吉川晃司の「モニカ」。
(2014/01/16)