こんにちは。今回、Udemyにて「ゼロから始めるソフトウェアテスト技法」の講座を公開させていただきましたことをお知らせします。

本記事では、公開された講座がどのようなものなのか、ソフトウェアテストの近い未来をお伝えします。

講座の紹介

本講座の「ゼロから始めるソフトウェアテスト技法」では、ソフトウェアテスト技法の基礎から、よくある仕様を使ってソフトウェアテスト技法の実践的な適用方法を解説したものです。

本講座は、次のような方に見てもらいたい内容となっています。

  • ソフトウェアテスト未経験者
  • ソフトウェアテスト経験者
  • ソフトウェア開発者
  • エンジニアを目指す学生

このように、本講座は「テストをこれから学ぼうという方」から「ある程度のテスト経験がある方」までを対象としています。 ソフトウェアテスト技法の基本的な概念をしっかりと押さえたうえで、よくある仕様を使ってソフトウェアテストの考え方を解説します。 また、ソフトウェアテストの考え方で間違いやすいことを紹介しながら解説していますので、ある程度のテスト経験がある方にもお勧めです。

本講座は、次のような課題解決の一助になればと思い公開させていただきました。

  • 思いつきでテストをしている
  • 似たようなテストを繰り返している
  • ソフトウェアテストのコストが非常に大きくなってしまう(費用対効果が得られない)
  • ソフトウェアテストをしても不具合が見つからない(リリース後に不具合が見つかる)

開発やテストを学び始めの方は、「思いつきでテストをしている」や「不具合を出さないためにひたすら動作チェック(テスト)している」といったことが起こりがちです。 このようなソフトウェアテストには、「どのようなテストをしたのか思い出せない」であったり、「テストをしても不具合が見つけられない(後日に他の人から指摘される)」といった問題が起こります。

気付かぬうちに似たようなテストを繰り返していれば、不具合を見つけにくくなります。 この場合、テストのコストに対してテストの効果が得られないため、漠然とした不安だけが残ります。

そこで、本講座で取り扱ったのが、ソフトウェアテスト技法です。

ソフトウェアテスト技法には、これまで不具合が起こりやすいと言われてきたノウハウが詰まっているため、正しく理解し使用することで、テストの効果を高めることができます。

講座の概要

本講座で取り扱う概要を紹介いたします。

1: ブラックボックステスト

ソフトウェアテスト技法の導入として、ブラックボックステストとは何か、なぜソフトウェアテスト技法が必要なのかを解説します。

キーワード
ブラックボックステスト、コスト、期限、全数テスト、不具合、入力、出力、テスト条件、要求、仕様、仕様の理解、テスト数の削減、同値分割法、境界値分析、デシジョンテーブル、状態遷移テスト、ペアワイズテスト、カバレッジ

2: 同値分割法、境界値分析

同値分割法、境界値分析の基礎を学び、その後は実際に仕様を読みながらテスト技法を適用していきます。また、テスト実施に使用できる代表値の考え方や、テスト数の考え方についても解説します。

キーワード
同値分割法、境界値分析、入力、出力、データの集合、同値クラス、同値クラス分割、有効同値クラス、無効同値クラス、代表値、境界、境界値、2値の境界値、3値の境界値、カバレッジ

3: デシジョンテーブルテスト

状態遷移テストの基礎を学び、その後は実際に仕様を読みながらテスト技法を適用していきます。また、状態遷移図や表の書き方やテストケースの考え方についても解説します。

キーワード
状態遷移テスト、状態、イベント、有効な遷移、無効な遷移、状態遷移図、状態遷移表、マトリクス、UML、N/A、カバレッジ、見える化、テストケース

4: 状態遷移テスト

状態遷移テストの基礎を学び、その後は実際に仕様を読みながらテスト技法を適用していきます。また、状態遷移図や表の書き方やテストケースの考え方についても解説します。

キーワード
状態遷移テスト、状態、イベント、有効な遷移、無効な遷移、状態遷移図、状態遷移表、マトリクス、UML、N/A、カバレッジ、見える化、テストケース

5: ペアワイズテスト

ペアワイズテストの基礎を学び、その後は実際に仕様を読みながらテスト技法を適用していきます。また、ペアワイズテスト表の作り方やテストツール(ペアワイズ作成ツール)を使用方法についても解説します。

キーワード
ペアワイズテスト、テスト削減、コスト、リスク、トレードオフ、ペアワイズカバレッジ、パラメータ、値、全網羅テスト、ランダムテスト、Pict、カバレッジ、ペアワイズテスト表

1. 講座で学べること

ソフトウェアテスト技法には、ホワイトボックステストとブラックボックステストがあります。

ブラックボックステストは、入力と出力に着目し内部構造を意識しないことで、テスト条件を効率的に抽出します。システムの要求や仕様に基づき、システムが期待通りに動作するかどうかを確認します。
ブラックボックステストは、仕様に基づくテスト技法に分類されています。

ホワイトボックステストは、内部構造に焦点を当てており、コードカバレッジなどを意識して行われます。内部構造の品質を確認するのに非常に役立ちます。
ホワイトボックステストは、構造に基づくテスト技法に分類されています。

ホワイトボックステストの最も代表的なものは、制御フローテストです。基本情報技術者試験でも取り扱っています。

ホワイトボックステストの制御フローテストは、基本情報技術者試験でも取り扱っていることもあり、学生の頃から学ぶことが多いです。 一方のブラックボックステストは、なかなか馴染みがなく、私もソフトウェアテストに関心を持つようになってから知ることになりました。 また、ホワイトボックステストは内部構造の理解がなければ、テストの有効性を理解できませんが、ブラックボックステストはどのように利用するかというユーザーの理解があれば、テストの有効性を理解することができます。

ブラックボックステストは、これまでお話したようにあまり知られていません。 そのため、本講座では、ソフトウェアテスト技法のブラックボックステストに焦点を当てています。

ここからは、本講座で取り扱う内容について紹介します。

同値分割法、境界値分析

【説明_同値分割法】
同等に処理されると想定したデータの集合を振り分ける技法

【ポイント】
データの集合をどのように振り分けるかはテスト技術者の経験にも左右されるため、同値クラスの分け方や代表値の取り方を詳しく解説

【同値分割法の解説例】

【説明_境界値分析】
同値クラスが数値または順序付けできる値で構成される場合に使用できる 同値分割法を拡張した技法

【ポイント】
2値、3値境界値分析の強度の違いや仕様のどこに境界があるかを適切に理解できるよう詳しく解説

【境界値分析の解説例】

デシジョンテーブルテスト

【説明】
仕様の複雑な条件(入力)の組み合わせによって、発生するアクション(出力)を整理できる技法

【ポイント】
複雑な条件の組み合わせで必要なテスト数(ルール)の算出方法や、抜け漏れなく条件を組み合わせる方法を詳しく解説

【デシジョンテーブルテストの解説例】

状態遷移テスト

【説明】
入力が同じでも、状態ごとに変化する動作を抜け漏れなく視覚的に整理できる技法

【ポイント】
仕様から状態遷移図、状態遷移表の作り方やテストケースの作り方を詳しく解説

【状態遷移テストの解説例】

ペアワイズテスト

【説明】
テスト条件が多く全網羅テストを行うことが困難である場合において、一定の規則性を持って根拠あるテスト削減するテスト技法

【ポイント】
ペアワイズがもたらすコスト削減とリスク増加の考え方から、ペアワイズ表の作り方、ペアワイズテスト作成ツールの使い方までを詳しく解説

【ペアワイズテストの解説例】

ソフトウェアテストのこれから

1.ソフトウェアテスト業界の市場

ソフトウェアテスト業界の市場は、技術の進化やデジタル化の進展に伴い、急速に変化しています。今回は情報通信機器の保有状況(世帯)とインターネットの利用状況(個人)という2点の変化を取り上げます。

情報通信機器の保有状況(世帯)

2020年における世帯の情報通信機器の保有状況は、「モバイル端末全体」(96.8%)の内数である「スマートフォン」は86.8%、「パソコン」は70.1%、「固定電話」は68.1%となっています。

世帯におけるスマートフォンの保有割合(86.8%)とパソコンの保有割合(70.1%)と比較した場合、その差は16.7%であり、多くの世帯でパソコンよりもスマートフォンを保有するというデータが出ています。

2010年におけるスマートフォンの保有状況は9.7%となっており、2020年では大幅に増加(86.8%)していることがわかります。続いて、2010年におけるパソコンの保有状況は83.4%であり、2020年では70.1%と年々減少している傾向が見受けられます。

間近のデータでは、モバイル端末全体の保有状況「2020年:96.8%」、「2021年:97.3%」、「2022年:97.5%」とさらに増加しています。また、スマートフォンの保有状況は、「2020年:86.8%」、「2021年:88.6%」、「2022年:90.1%」とさらに増加しています。

報告書及び統計表一覧(世帯編) 令和4年報告書 
https://www.soumu.go.jp/johotsusintokei/statistics/pdf/HR202200_001.pdf

これらのデータから、情報通信機器はほとんどの世帯で保有されるようになっており、パソコンよりもスマートフォンを保有する世帯が多いということがわかりました。

次に、インターネット利用状況(個人)について取り上げます。

インターネットの利用状況(個人)

2020年のインターネット利用率(個人)は83.4%となっています。また、端末別のインターネット利用率は、「スマートフォン:68.3%」、「パソコン:50.4%」となっています。

インターネット利用率
端末の種類
情報通信白書令和3年版 インターネットの利用状況(個人)、インターネット利用端末の種類
https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r03/html/nd242120.html

インターネット利用率の推移では、年ごとの増加は見受けられないものの、約8割程度を維持していることがわかります。また、スマートフォンでのインターネット利用が主流(68.3%)となり、次点のパソコン(50.4%)と比較しても17.9%上回っている状況です。

これらの状況から、今後もモバイル端末を中心としたソフトウェアの需要が増えると考えられます。それに伴い、ソフトウェアテスト市場もさらに拡大することが予測されます。

また、ここ数年は、新型コロナウイルス感染症の感染拡大に伴う感染症対策の一環として、ビジネスの変化が起こりました。

世界のEC市場の売上高は、2021年 542.0兆円(前年比19.5%増)と大きく増加しています。インターネットやモバイル端末が普及し続ける理由の一部とも言えるでしょう。

このような進化と変化に適応するために、ソフトウェアテスト業界でも、今後さらなる技術の進化が不可欠と言えます。

AGEST Academyでは、ICT活性化の一環として、eラーニングやUdemyの学習コンテンツ、メタバースオフィス(バーチャルオフィス)を利用した全国研修を行っています。

2.ソフトウェアテスト技術とAI

本章では、ソフトウェアテスト技術とAIについて取り上げます。

AIの急速な普及に伴い、ソフトウェアテスト業界だけのことではありませんが、技術者の将来が懸念される声が挙がっています。例えば、生成AIでは「開発コードを作る」「テストを作る」「音楽を作る」「画像を作る」「翻訳できる」など、様々な用途があります。 筆者は、ChatGPTを検索エンジンと同じような意図で使う場合があります。対話ベースで知りたいことを深堀していけるという点で、調べごとが抽象的な場合に有効です。

非常に多くの用途で使用されるAIですが、今後どのようになっていくのでしょうか。 技術者が不要になる時代が来てしまうのかどうかという点を踏まえながらお伝えしていければと思います。

AIの動向

世界のAI市場規模(売上高)は、2022年には18兆7,148億円(前年比78.4%増)まで成長すると見込まれており、その後も2030年まで緩やかな加速度的成長が予測されています。

日本のAIシステム市場規模(支出額)は、2022年に3,883億6,700万円(前年比35.5%増)となっており、今後も成長を続け、2027年には1兆1,034億7,700万円まで拡大すると予測されています。

情報通信白書令和5年版 AIの動向
https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r05/html/nd249100.html

これだけ勢いのあるAI市場ですので、ソフトウェアテストやソフトウェア開発に将来性があるかどうかを不安視する声も挙がっています。

次から生成AIを利用するにあたっての課題(生成AIを巡る議論)について取り上げます。

生成AIを巡る議論

要機密情報の取扱いや、個人情報保護、回答の正確性などの課題が指摘されています。

また、作成した偽画像・偽動画が、意図せず又は意図的に拡散し、他者の利益・権利の侵害や社会的混乱を引き起こしてしまうような負の側面も顕在化しつつあります。

例えば、次のようなものがあります。

  • 2022年9月、日本でもプロンプト型画像生成AI「Stable Diffusion」を利用した静岡県の台風洪水デマ画像がSNS上に投稿され拡散し、社会的な問題となった
  • 2023年1月、米・サンフランシスコで複数のアーティストが画像生成AI開発各社(Stability AI Ltd、Midjourney Inc及びDeviantArt Inc)を著作権侵害で訴えた
  • 2022年8月、日本でもラディウス・ファイブ社が、元となるイラストを学習させることで、その特徴をとらえた画像を自動生成できるAI「mimic」をリリースした後、悪用を懸念する声が多く寄せられたことから1日で配信を停止したという事例がある

AIサービスを提供した事業者側では利用にあたっての規約は定めているものの、その内容が利用者に着実に届くための努力や、これを踏まえた利用者自身の活用モラルの向上が必要な状況となっています。

生成AIの取扱い等については、各国や国際会議の場で検討・議論が始まっています。

日付内容
2023年3月
2023年3月、イタリアのデータ保護当局は、データ主体に対して十分な情報提供がなされていないこと、機械学習のために個人データを大量に収集し処理することを正当化する法的根拠に疑義があること、ユーザーの年齢認証のメカニズムが欠如していることを踏まえ、ChatGPTを一時的に使用禁止とした
2023年4月英国の情報コミッショナー事務局は、法的根拠を明確にする必要があること、データ管理者としての義務を持つこと、リスク評価をすることなど、個人データを処理する生成AIを開発したり、利用したりする際の8つの留意点を公表した
2023年4月米国の国家電気通信情報管理庁(NTIA:National Telecommunications and Information Administration)が、AIの監査や評価、認証制度ついての意見募集を開始した
2023年5月バイデン政権は、責任ある人工知能(AI)の研究開発への投資、民間企業が開発した生成AIの評価、連邦政府によるAI利用に関する指針の策定からなるAIに関する責任あるイノベーションの推進策を新たに発表し、企業がAI製品を展開・公開する前にその安全性を確認する責任がある旨を明確にした
2023年4月EUでは、ChatGPTに関するプライバシー保護への懸念を検証するための作業部会を設定することを決定した
2023年4月同年4月に群馬県高崎市で開催されたG7デジタル・技術大臣会合において「責任あるAIとAIガバナンスの推進」についても議論が行われ、本会合で採択された「G7デジタル・技術閣僚宣言」ではAIガバナンスのグローバルな相互運用性を促進等するためのアクションプラン、生成AIについて早急に議論の場を持つこと等が合意された
2023年5月広島市で開催されたG7首脳会合でも、首脳レベルでAIガバナンスに関する国際的な議論とAIガバナンスの相互運用性の重要性等の認識が共有され、生成AIについて議論する広島AIプロセスを年内に創設すること等が合意された
情報通信白書令和5年版 生成AIを巡る議論
https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r05/html/nd131320.html

これほどの議論が必要な理由が生成AIにはあります。

次のものは、利用者活用モラルに関連するものです。

  • 学校(例:宿題や論文、テスト)でのChatGPT不正利用が懸念され、利用を禁止
  • ChatGPT生成の“存在しない判例”を使った米弁護士、約72万円の支払いを命じられる

これらは、生成AIを提供した事業者側の意図を無視した利用といえます。 AIを利用することで技術の進化はあれど、技術の退化を招くべきではありません。 先ほど取り上げた”ソフトウェアテスト技術やソフトウェア開発に将来性があるかどうか”も同様の考えです。

AIの浸透は、技術を学ばなくてよい日が来るかもしれないというものでなく、AIを利用して技術を進化させていこう(生活を豊かにしていこう)という取り組みであるべきなのです。

インターネット、スマートフォンの普及に関しても、機械により生活が豊かになって労力が削られた部分はありますが、更なる発展のために技術を磨いたものでした。

近い未来でAIが完全に自律して何かを行うことが出来るようになったとしても、人は楽ができるというものでなく、その延長線上ないしは他の領域に時間を割けると考えるべきでしょう。今後も技術者は技術を学び、発展させていく必要があります。

AGESTAcademyでは、技術の発展や学びの一助となれば思い、Udemyコンテンツを公開しています。本章で取り上げたAIについてわかるコンテンツや、ソフトウェアテストの効果を上げるための考え方として、ソフトウェアテスト技法のブラックボックステストというもの解説しています。

一部動画の無料プレビューも可能ですので、アクセスいただければ幸いです。

Udemyクーポン配布

「ゼロから始めるソフトウェアテスト技法~基本から実践へ 現場で使えるテスト技法を学ぼう!~」のUdemyコンテンツ公開に伴い、購入時に使用できるクーポンを配布します。

こちらは、定価19,800円の講座が1,980円になるクーポンです。
購入をお考えの方は、ぜひご利用ください。
なお、クーポンには有効期限がございます。

Udemyクーポン情報(19,800→1,980円)
割引クーポンの発行:
  https://www.udemy.com/course/agest-testing/?couponCode=F9EAB46C943A3071307C

クーポンコード:F9EAB46C943A3071307C

有効期限: ~2024/08/24

SHARE

  • facebook
  • twitter

SQRIPTER

AGEST Academy

AGEST Academy

記事一覧

世界トップレベルのテストエンジニアトレーニングプログラムの提供を行う「AGEST Academy」が情報発信してます!

AGEST Academy

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST