セッションの概要

五味弘氏:今(司会の方に)紹介いただいた五味弘と申します。情報処理技術者試験をやっていて有名じゃないかなと思いますが、IPAにいます。今日やっているソフトウェアテストについては、たぶん私のところが一番詳しいのかなと思うので、今日は1時間、話をできればなと思っています。

(スライドを示して)今日の演題は「DXに求められるソフトウェア品質とその計測」です。みなさんもソフトウェアテストをされているので、品質、品質、品質と、耳にタコができるほど聞いていると思います。

さらに、上司または顧客への言い訳に使うためにも、いっぱい計測結果を出していますよね。今日は統計を使いますが、その報告をしたいなと思っています。

かつ(スライドの)下に3行、『ソフトウェア開発分析データ集』『組込み/IoT産業に関する動向調査』、そしてちょっと色を違えて『製造分野DX推進ガイド』と書いてあります。

実はこれは私がIPAで関わっている仕事で出した報告書です。今日はこの3本を紹介しつつ、DXに求められるソフトウェア品質と計測を、この会場にいる方だけではなくネット上に今いる500人以上の方とともに、一緒に悩んで苦しんで勉強して、楽しく活動していきたいなと思っています。

五味氏の自己紹介

(スライドを示して)自己紹介をしたいと思っています。今はIPAにいますが、3年半前、2019年に沖電気から出向してやっています。沖電気ではあまり関係ないのですが、知っている方がいればうれしいのですが、AIに使われていた関数型言語LISPという言語をやっていました。あとはマルチメディア系、金融系の技術支援に従事していました。

ソフトウェアテストに関しては、先ほどの直交欠陥分析と名前はよく似ているけれどぜんぜん違う、直交表とオールペア法というのがあるのですが、その研究をやっていて、論文などを書いていました。

直交表をちょっとだけ紹介すると、組み合わせテストは、とにかく入力がすごくバラエティいっぱいありますね。あの組み合わせを全部やると、1万個、1兆個とすごい数になります。なので、それを経験と勘で減らすのではなく、なるべく科学的に減らしましょうと。

そういう組み合わせをやる時に、例えばオールペア法、ペアワイズ法では、少なくとも2個の組み合わせは1回以上はテストしようとするんですが、直交表では、さらにその組み合わせの数を同じ数にしましょうと。2個とは限らないので、例えば3個の引数の組み合わせを同じ数だけ出るような組み合わせテストをする時に、直交表を使う研究をしていました。

とにかく、先ほどの直交欠陥分析もあるように、何が大事かと言うと「直交」なんですね。直交していないということは、よく似たものをテストすることになるので、そういう意味では欠陥分析のところでも、直交して依存がないやつを見つける(ことになります)。

それは、統計で山のように出てくる(結果から分析する)のと、経験と勘にある間の中間ぐらいです。でもその直交性を見つけるところが少し技になるし、そこがノウハウになるし、会社における財産にもなるかなと思っています。先ほどの「どういう視点でやられていますか?」という質問はいい(質問)かなと思っていました。

(スライドを示して)あとちょっといろいろ書いていますが、赤字で書いているところがソフトウェアテスト関係のものです。例えばIPAから出している『つながる世界の品質確保に向けた手引き』や『定量的品質予測のススメ』は私も共著になっています。それから「ゼロから始めるモノづくりDX」や「IoT時代の組み込み系ソフトウェアの品質」「IoTとAI、ビッグデータ時代のソフトウェアテスト」を「@IT」などで記事を書いています。

それから毎週水曜日に「ランチタイムDX勉強会」をやっています。今日も実は12時から12時半までやっていて、そのあとここに来ました。今日のテーマは、ITベンダーとITコンサルタントはユーザー企業のDX推進にどういう役割をするかで、そういう話をしてきました。

ということで自己紹介で時間をだいぶかけてしまったので、やります。

そもそもDXとは何で、システム開発にどう影響するのか

(スライドを示して)本日、みなさんに紹介(して)、一緒に勉強していきたいものをここに書いています。最初と最後に「DXに求められるソフトウェア品質とその計測」の前振りと最後のまとめを入れて、真ん中の3本が先ほど私がIPAでやっているテスト関係、DX時代でやっているものをそれぞれ分断しながら紹介したいと思っています。

会場のみなさま、それからネットにいらっしゃるみなさま、今日は3本立てになっていて、ちょっと(途中で)毛色が変わるものもあります。各々で質問時間をやりたいと思うので、なんでもけっこうです。

特に今Zoomウェビナーにいる500人の方、ぜひ質問、コメントを書き込んでもらえればと思います。キリのいいところで司会の方が(質問をひろいに)来てもらえるんじゃないかなと思っています。

(スライドを示して)まず前段です。これはこれから話をする3本立ての前振りです。 いろいろなところでやっていますが、今日はDXにおけるソフトウェアテストということで、「そもそもDXって何ですか」ということを書いています。

最初に「DX」という言葉を使いだしたのは、2004年、ウメオ大学のエリック・ストルターマン教授です。もっと長いですが短く1行で言うと、(DXとは)「デジタル技術を浸透させることで、生活をより良いものにすること」です。

これに大した情報量はないんですよ。デジタル技術を使って自分たちの生活をより良くすることで、目的はデジタル技術を活発にすることではなく、自分の生活をより良くするものだと言っていて。非常に抽象的です。

日本では今「DX、DX」と言っていて、このIPAがその施策実行機関になっていますが、それが流行りだしたのは「DXレポート1」が2018年に出てからです。「2025年の崖」という、ちょっと聞き覚えのあるキャッチーな言葉を(みなさん)知っているかと思います。

その時のDXの定義は「企業がデジタル技術を利用して、業務や組織を変革して技術優位性を確立すること」と言っています。長いほうは(スライドの)黒字のところで書いていますが、1行で言えばこれだけです。

これでわかった方がいるかどうか。それがソフトウェアテスト、もっと言えばソフトウェア開発、もっと言えばシステム開発にどう影響するんだということになるかなと思います。

その意味でDXをもう1段深く考えると、最初の頃、2018年や2019年は、いわゆる反抗期と言われていました。「そんなの役に立たない」という反抗の時代の時は、DXのDであるデジタル技術を使うことが良いこと、目的とされていた時代がありました。

その後はDXのX、変革こそが大事だと。2020年から2021年ぐらいは、いわゆるバブル期と我々は呼んでいますが、DXバブル期を迎えて、どこもかしこもDX、DX、DXという言葉。テレビコマーシャルにもDX(という言葉)が出てきました。

今はどういう時代かと言うと、DXデバイド期で、格差が出てきたとよく言われています。DXの本質を捉えてまじめに変革して、かつそれを目的にせずにやっているところと、表面的にやっている方、まったくやっていない方のように、格差が出てきた時代かなと思っています。

ここで大事なものとして、図に書いています。DXの対象は、ストルターマンは日常生活、DXレポートは企業活動と言っていますが、そのDXの鍵となるのはデータです。ソフトウェア的に言えば、入力データ、出力データ、状態におけるデータです。

データ(が鍵という考え)のもととなるのは、テストファーストのように入力と出力と状態も含めて(テストケースを作り、それをもとにソフトウェア開発を)やってることでテスト屋さんには(この考えは受け入れられ)そうですが、テストではデータが大事ですよ、と。「ここでいうデータは、デジタルデータであることが大事だ」ということです。

デジタル技術は手段であり、変革は目的ではないけれど、DXの本筋です。DXの効果、それからDXの目的はなにかというと、ストルターマンもDXレポートも、「より良い日常生活や企業活動の技術優位性を確立すること」と言っています。

変革、データ技術を使うことは目的ではなくそれぞれ手段であり、「最終目的はこうですよ」というのがDXの定義と覚えてもらえればと思います。

DX時代のソフトウェア品質はどのようになるか

一方、DX時代のソフトウェア品質はどのようになるかということです。ここは専門の方々がいるので書かなくてもいいかなと思ったのですが、今回は講演テキストのおまけだと思って載せています。

最初は欠陥がないこと、機能がちゃんと整っていることから始まり、要求を達成していること。1990年には今のDXとよく似た考え方で、品質とは価値であるということ。それから2000年から2010年には、ニーズを満たす能力だと言われてきています。

ではDX時代を振り返ってみましょう。2018年のソフトウェア品質は何かと言うと、DXでまず求められるのは顧客価値優先です。今は「顧客」が取れて「社会価値」とも言われているので、まぁ価値優先ということです。

それからキーワードを覚えてもらえればと思いますが、「価値」「UX」「オープン」「共創」「ユーザー内製化」「社会」「持続可能」「アジリティ」「変化」です。

DXについての講演・セミナー・教科書を見てもらうと、これらの文字が1個以上は絶対入っているんじゃないかなと思います。みなさんがこれを言っています。わけがわからなく言っているものもあります。もちろんこれは全部本質なので、ソフトウェア開発、ソフトウェアテストにおいてもやらなくてはいけません。

ということで、DX時代の品質とは、接続可能、持続可能な社会的価値の最大化ということで、それが目的です。

DXで重視される品質特性

(スライドを示して)では具体的に何かというと、ここに「SQuaRE(システム及びソフトウェア製品の品質要求及び評価)」のプロダクトの品質を全部持ってきましたが、DXで重視される品質特性は赤字で書いてあるところが先ほどのキーワードと比較的似ているんじゃないかなということで挙げました。固定しているわけではありません。

機能適切性。これは仕方がないです。それから共存性、相互運用性。「これからはつながる世界がどんどん進むだろう」「IoTの時代からここは重要ですよ」と言われていたので、DXになってもやはりつながることが前提です。それからユーザーインターフェース快美性、障害許容性です。セキュリティはちょっとまた特別なものなので、大項目のところで赤字にしています。

先ほどUXがあったので、UXに近いところのユーザーインターフェース快美性は重要だし、「DXレポート2.2」ではコストではなく価値と言っているので、生産性よりはコストです。

もう1つは「品質をいっぱいやってコストを上げるよりも、価値が大事ですよ」ということで、障害許容性と言っています。これは本来の(言葉の)使い方とは違いますが、日本語的な意味で取り上げています。

測定と計測

(スライドを示して)ここからちょっと閑話、ひま話になります。私もIPAに来る前は沖電気(にいたの)で、みなさまとよく似た仕事をしていて。その時に言っていました。「品質計測が中立でないことは秘密」と。計測は品質保証部、品質管理部、それから現場で管理している人によって適当にできる、統計的にいじることができるのは秘密だということです。

測定と計測は違いますよね。測定はどちらかというと機械的で、(スライドの)上のような意図が入らないようなものです。測定は自動化しやすいです。

先ほどのテストの自動化においても、JUnitを使う、あるいはJCoverageもたぶん使われるでしょうから、測定はどんどんやってください。意図を入れずにやってください。お値打ちなのでやるべしと。

測定ではなく計測はプロの手で。何を目的にやるか。ユーザー、顧客に言い訳するためにとにかくいっぱい計測するんじゃないかなと思います。そのためにも(コストを)なるべく少なく、というのがあります。

テーゼ、宝物。これは大事ですね。品質データ、計測データの蓄積は、無駄なものも含めてぜひしてください。まぁ、これは言われなくともやっていますよね。「ご神体」と書いてありますが、それは結局宝物というか、財産、資産になります。

(次回につづく)