2019/12/25
イベント報告:ソフトウェア品質向上セミナー「開発プロセスを加速させるテスト管理手法」渡辺 裕美Hiromi Watanabe
気づけば師走。仕事終わるかな、家のお掃除をしなきゃ、スターウォーズを観に行かなきゃと私は文字通りの師走を迎えておりますが、皆様はどのような師走をお迎えですか?
先日、ITメディア社主催の「ソフトウェア品質向上セミナー」にて、当社の奥村が登壇いたしました。
大変、多くのお客様が来場され、その多くは製造業、金融・保険・証券業に方々という結果となりました。
あらゆる成果物・製造物に関する『品質測定(テスト)』ならびに『品質測定結果レポート(報告)』は、重要なテーマになっていることは明らかとなりました。
しかしながら、品質を重要視するあまり過剰なテストを実施すれば、タイムリーなデリバリーができずに価値の機会損失を招いてしまう恐れもあります。
最適な『品質測定(テスト)』を行うには、どうしたら良いか?その課題に迫ります。
今回のイベントでは、加速するソフトウェア開発サイクルの中で、高品質を維持し続けるテストの管理方法をご紹介しました。その模様をお届けします。
ソフトウェアにはさまざまな品質特性があり、人や立場によって大事なことは異なりますが、
この講演における品質とは、「ソフトウェアが、カスタマーの求めている目的に対してどれだけ効果的であるか?」を示したものです。
『品質が良い』プロダクト作りのポイントとは
であり、開発チームが「品質が良い」プロダクトを生みだすのに、開発・顧客・テストという3つのチームあるいは人が、協調することが最も重要です。
と奥村氏は言います。
顧客の要件は不確実、複雑、変化が速いことから、受け入れるのは大変です。
そのため、
小さく作る ⇒ 提供する ⇒ 顧客のフィードバックを得る ⇒ 小さく直す
この反復作業をできる限り早く回し、できる限り多く回すことで
顧客のフィードバックすなわち顧客の求めているもの本当に必要な価値を提供することができると説明されていました。
では素早く回し続けるためには、技術や基盤が必要不可欠になります。
DevOpsの図です。
Atlassianでは、このサイクルのフェーズに対してさまざまなツールを提供しています。
チームがひとつになっても、ツールがバラバラでは、スムーズな開発はできません。ツール同士も連携してひとつになる事が、とても重要です。
各ツールのデモをご覧になりたい方は、リックソフトの無料オンラインセミナーでご紹介しますのでよろしければご参加ください。
現代では、仕事でもプライベートでもさまざまなソフトウェアやシステムを利用する時代です。
ですからソフトウェアが故障すると、ビジネスにおいて大きな損失になったり信用を失うことになますし、更に傷害や事故にもつながることだってあります。
運用で故障が発生するリスクを減らすためには、「ソフトウェアが要求通りか」や「その要求が正しいか」といったソフトウェアの品質を評価するテストが必要になります。
テストとは、ソフトウェアの品質を評価し、運用環境で故障が発生するリスクを低減する1つの手段です。と奥村氏は説明します。
しかしテストはどうしても準備や実行に時間がかかってしまうものです。
品質基準を維持しながら、テストのペースを上げて、ソフトウェアの開発サイクルを素早く回せるようになることも成功に導くカギとなりますが、
そのテストのペースを上げるためのポイントを6つほど紹介しています。
テストのスピードを上げるためにテストを自動化することは重要ですが、やみくもに自動化するのではなく、顧客の要求からリスクを基にテスト設計を行って何をテストするか?どのようにテストするか?などテスト活動を適切にコントロールしていかなければなりません。
つまり、品質を維持しつつ開発スピードを落とさないプロダクト作りやテストには、テストマネジメントが欠かせません。
そのテスト管理に必要なことは、
テスト管理には上記のことが求められていますが、テストケースやテストの実行管理をExcelで行っているところが多いと思います。
Excelは自由にレイアウトや項目を定義できるので初期は便利なのですが、使い続けてExcelで書いたファイルが多くなるにつれて、ここに書かれているようなことを実現しづらくなっていきます。
やはりテスト管理も専用ツールの導入を検討するとよいのではないでしょうか。
リックソフトでお薦めするテスト管理ツールは、Tricentis社のqTestです。
Tricentis社はオーストリアにあるさまざまなテストのツールを開発しています。
qTestの特徴は、テスト管理に必要な機能のほとんどを網羅していることの他に、Jiraやさまざまなテストツールとの親和性が高いことが挙げられます。
たとえば、Jiraで管理している要件を基に、qTestでテストケースを作ったり、JenkinsやBambooなどのCIツールで実行したJUnitの実行結果を取り込めます。
また、APIを利用してテストフレームワークと直接通信することで、Ciツールに依存することなく、自動テストの実行制御および結果の取得が行えます。
更に、テストを実行した結果がFailだった場合は、qTestからJiraに対してDefect課題を起票して、ステータスをJiraとqTestで共有化ができます。
これらの機能によって前半で示した、ソフトウェア開発サイクルのプロセスにおけるテストの活動の、コントロールとスピードアップの両方を実現します。
qTestの機能は、Excelでの管理では実現できない便利な機能が沢山あり、qTestでテスト管理を行うことのメリットは高いのですが、こういったテスト管理ツールへの移行を躊躇してしまうお客様が多いのは事実です。
その理由は、Excelの自由なレイアウトによってqTestでは管理できない項目や進め方があることや、膨大な数に膨れ上がったExcelの情報を移行するには大変な労力が必要になります。
つまり、初期に掛かる費用や痛みを伴う移行作業が考慮されてしまい、ツールの導入を見送ってしまうケースが多くあります。
ですが、品質の高いプロダクトを提供するためには、ソフトウェア開発サイクルを素早く繰り返して回すこと、そしてテストもそのサイクルのスピードについていかなければなりません。
Tricentis社では以前、ExcelからqTestへ移行したユーザーへのアンケートを取りました。 アンケートの対象はほとんど海外の会社にはなると思いますがご紹介します。
初期導入には痛みを伴いますが、その先には高品質なプロダクトに近づけます。
高品質なプロダクトを作るには、顧客と開発とテストの3つのチームが協調し『スリーアミーゴス』となって進めましょう。
即ち、製品の要件を顧客と開発の2者で話合うだけでなく、テストチームも含めてテスト視点で要件を具体化していくことが重要です。
そして小さな機能を開発して、テストしてから顧客に提供してフィードバックをもらうというサイクルを素早く何度も繰り返して、プロダクトの品質を高めます。
更にはテストの結果を可視化することで、開発や顧客が製品の品質を確認できます。
Ricksoftではこのように、高品質なプロダクト開発を加速するための、さまざまなツールを取り揃えております。
たとえば、このWhiteSourceという製品は、OSSライブラリのライセンスや脆弱性などを検査して、早期に問題の通知を可能にします。
と以上が登壇の内容になります。
こちらは一例で、この他にも目的に応じたツールをご提案できますので、何かお困りのことがありましたらリックソフトまでお気軽にご連絡ください。
アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。
リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。
ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。
リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。
ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。
日本随一の生産性向上にも効果のある研修サービスです。
リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。