使う人を考えたテストで成功を掴む

デジタル化を知りたい
先生、「ユースケーステスト」って、どういう意味ですか?よく聞くんですけど、実際にどんなテストをするのかが分かりません。

デジタル化研究家
良い質問だね。ユースケーステストは、システムを実際に使う人の行動を想定してテストする方法だよ。例えば、ネット通販で商品を買う場面を想像してみよう。会員登録、商品検索、カートへの追加、決済、配送情報入力など、色々な行動があるよね? これらの行動一つ一つを「ユースケース」と呼び、それぞれの場面で正しくシステムが動くかテストするのがユースケーステストなんだ。

デジタル化を知りたい
なるほど。それぞれの行動でテストをするんですね。会員登録だったら、正しい情報を入力したら会員登録できるか、間違った情報を入力したらエラーメッセージが表示されるか、といったテストをするということですか?

デジタル化研究家
その通り!まさにそういうテストだよ。システムを使う人の立場になって、色々な使い方を試して、問題がないかを確認する。それがユースケーステストの目的だよ。
ユースケーステストとは。
実際に使う人の使い方を想定したテスト方法について説明します。これは、コンピューターやインターネットを使った新しい仕組みを導入する際によく使われる『デジタルトランスフォーメーション(DX)』という取り組みの中で重要な役割を果たします。
使う人の視点

情報技術を活用した変革は、様々な分野で進められていますが、使う人の立場に立ったシステム作りが欠かせません。どんなに素晴らしい機能を備えたシステムでも、使う人が使いにくければ、その価値は大きく下がってしまうからです。
システム開発において、使う人の視点をどのように取り入れるかは重要な課題です。そのために役立つのが、使う人の行動を想定した検証作業です。例えば、ある商品を買い物かごに入れる、注文手続きをするといった一連の動作を想定し、システムが正しく動くかを確かめます。このような検証作業を通して、開発者は使う人の立場に立ってシステムを評価し、改善点を洗い出すことができます。
使う人の視点を取り入れることは、システム開発の初期段階から行うべきです。開発が始まる前に、どのような人がシステムを使うのか、どのような目的で使うのかをしっかりと把握することが大切です。その上で、使いやすい画面設計や操作方法を検討することで、誰もが簡単に使えるシステムを作ることができます。
また、システム開発後も、使う人の意見を聞き続けることが重要です。実際にシステムを使った人の感想や要望を収集し、システムの改善に役立てることで、より使いやすいシステムへと進化させることができます。
システム開発の最終的な目的は、使う人の課題を解決し、より良い暮らしを実現することです。使う人の視点を常に意識することで、本当に役に立つシステムを作ることができ、情報技術を活用した変革を成功に導くことができるでしょう。
| 視点 | 段階 | 具体的な行動 |
|---|---|---|
| 使う人の立場に立つ | 開発中 | 使う人の行動を想定した検証作業(例:商品を買い物かごに入れる、注文手続きをする)を通して、システムを評価・改善 |
| 開発後 | 使う人の意見(感想や要望)を収集し、システム改善に役立てる | |
| 使う人の視点を取り入れる | 開発前 | どのような人が、どのような目的でシステムを使うのかを把握し、使いやすい画面設計や操作方法を検討 |
| 開発開始から | 継続的に使いやすさを意識 |
テストの進め方

検査の手順は、まず、仕組みを使う人の行動を「使い方の例」として書き出すことから始まります。たとえば、インターネットで買い物をする場合を考えると、「商品を探す」「買い物かごに入れる」「購入の手続きをする」といった一連の流れが使い方の例になります。
次に、それぞれの使い方の例に対して、どのような操作をして、仕組みがどのように反応するべきかを具体的に書き出します。たとえば、「商品を探す」という使い方の例では、「検索窓にキーワードを入力する」という操作に対して、「検索結果が表示される」という反応が想定されます。このとき、表示される検索結果の内容(商品の名前、価格、画像など)についても具体的に記述する必要があります。また、「キーワードに該当する商品がない場合」や「システムエラーが発生した場合」など、様々な状況を想定し、それぞれの状況におけるシステムの反応を定義しておくことが重要です。
そして、実際に仕組みを操作し、想定通りの結果が得られるかを確かめます。この検証作業は、実際にシステムを使う人の立場になって行うことが重要です。想定外の操作や入力ミスなども含めて、様々な状況を想定し、システムが正しく動作するかを確認します。もし想定と異なる結果が得られた場合は、その原因を調査し、システムの修正を行います。
この一連の作業を通して、仕組みの不具合を早期に見つけ、修正することができます。また、使い方の例を具体的に書き出すことで、開発者と利用者の間で認識のずれを防ぎ、より使いやすい仕組みを作ることができます。さらに、これらの使い方の例は、システムの仕様書としても活用できます。そのため、使い方の例に基づいた検査は、システム開発において非常に重要な工程と言えるでしょう。
| 手順 | 説明 | 例(インターネットショッピング) |
|---|---|---|
| 1. 使い方の例を書き出す | システムを使う人の行動を具体的に書き出す。 | 商品を探す、買い物かごに入れる、購入の手続きをする |
| 2. 操作と反応を具体的に書き出す | それぞれの行動に対して、どのような操作をして、システムがどのように反応するべきかを具体的に書き出す。様々な状況を想定する。 |
「商品を探す」 操作:検索窓にキーワードを入力する 反応:検索結果が表示される(商品の名前、価格、画像など) 状況:キーワードに該当する商品がない場合、システムエラーが発生した場合 |
| 3. 検証作業 | 実際にシステムを操作し、想定通りの結果が得られるかを確認する。想定外の操作や入力ミスなども含めて確認する。 | 様々な状況を想定し、システムが正しく動作するかを確認。想定と異なる場合は原因を調査し、修正を行う。 |
| 4. 修正と改善 | 検証作業で見つかった不具合を修正し、システムを改善する。 | システムの修正、仕様書の更新 |
具体的な事例

図書館の蔵書検索システム開発を例に、具体的な事例を考えてみましょう。利用者は様々な方法で蔵書を探します。例えば、本の名前、作者の名前、あるいは本の内容を表す言葉などです。これらの探し方それぞれを想定した上で、システムが正しく動くか検証するのが大切です。
本の名前で探す場合を具体的に見てみましょう。本の名前の一部だけを入力しても検索できるか、漢字とひらがなを混ぜて入力しても問題ないか、同じ言葉でも旧字体と新字体を区別して検索できるか、といった点を細かく確認します。例えば、「徒然草」を検索する場合、「徒然」だけで検索してもヒットするべきですし、「つれづれ草」のようにひらがなと漢字を混ぜて入力してもヒットするべきです。また、「學」という旧字体と「学」という新字体を区別して検索できる機能があれば、より便利です。
さらに、本の内容を表す言葉で探す場合にも、いくつかの検証ポイントがあります。複数の言葉を同時に使って検索した場合、どの順番で結果が表示されるか、複数の言葉に関連する本が適切に表示されるかを確認する必要があります。例えば、「歴史」と「江戸時代」で検索した場合、両方に関連する本が上位に表示され、片方にしか関連しない本は下位に表示されるのが望ましいでしょう。また、「料理」と「レシピ」のように似た言葉で検索した場合、両方の言葉に関連する本が漏れなく表示されることも重要です。
このように、利用者の様々な探し方を想定し、それぞれの探し方で正しく結果が得られるか検証することで、システムの使い勝手を向上させることができます。使いやすいシステムは利用者の満足度を高め、図書館の利用促進にも繋がります。
| 検索方法 | 検証ポイント | 具体例 |
|---|---|---|
| 本の名前 |
|
「徒然草」を「徒然」や「つれづれ草」で検索 |
| 本の内容を表す言葉 |
|
|
他のテストとの違い

様々な検査方法がある中で、利用者の視点を取り入れた検査は「使う状況の検査」と呼ばれています。これは、他の検査方法とは大きく異なる特徴を持っています。例えば、一つ一つの部品が正しく動くかを確かめる「部品検査」や、部品同士がうまく連携するかを確かめる「連結検査」といった方法は、システムの内部構造に注目しています。プログラムの細かな部分や部品同士のつながりが、設計通りに機能しているかを細かく確認していくのです。しかし、「使う状況の検査」では、システム全体を俯瞰し、利用者の立場から見て、システムが期待通りに機能しているかを検証します。
具体的に説明すると、「部品検査」はシステムを構成する一つ一つの部品、例えば特定の計算機能やデータの保存機能などが、単独で正しく動作するかを確かめるものです。これはシステム開発の初期段階で行われ、個々の部品の品質を保証する上で重要です。次に「連結検査」は、複数の部品を組み合わせたときに、それらが互いに干渉することなく、正しく連携して動作するかを確かめます。例えば、入力されたデータがデータベースに正しく保存され、その後、画面に正しく表示されるかなどを検証します。
一方、「使う状況の検査」は、システムが完成形に近づいた段階で実施されます。利用者が実際にシステムを使う場面を想定し、システム全体が利用者の要求を満たしているかを検証します。例えば、オンライン商店で購入手続きを行う場合、「商品を選び、買い物かごに入れ、支払い情報を入力し、注文を確定する」という一連の流れがスムーズに行えるか、エラーが発生しないかなどを確認します。システム開発においては、これらの検査方法をバランスよく組み合わせることが重要です。「部品検査」や「連結検査」でシステムの内部構造の品質を保証し、「使う状況の検査」で利用者の視点からシステム全体の使い勝手を確認することで、初めて高品質なシステムを構築できると言えます。つまり、様々な視点からの検査を積み重ねることで、完成度の高いシステムを作り上げることができるのです。
| 検査方法 | 概要 | 実施時期 | 視点 |
|---|---|---|---|
| 部品検査 | システムを構成する一つ一つの部品が単独で正しく動作するかを確かめる | システム開発の初期段階 | システムの内部構造 |
| 連結検査 | 複数の部品を組み合わせたときに、それらが互いに干渉することなく、正しく連携して動作するかを確かめる | 部品検査後 | システムの内部構造 |
| 使う状況の検査 | 利用者が実際にシステムを使う場面を想定し、システム全体が利用者の要求を満たしているかを検証する | システムが完成形に近づいた段階 | 利用者の視点 |
効果と利点

使う人の立場を考えた試験を開発の早い段階で行うことは、様々な良い効果をもたらします。具体的には、作り上げたものが使いにくいと感じる人が多いシステムになってしまう危険性を減らすことに繋がります。開発の初期段階で使う人の視点をシステムに取り入れることで、後になって大きな手直しが必要になる事態を避けられます。これは、開発にかかる費用と時間を節約することに繋がります。
また、使う人の立場を考えた試験を行うことで、使う人が本当に求めているシステムを作ることができます。その結果、システムを使う人の満足度を高めることができます。満足度の高いシステムは、使う人にとって使いやすく、業務の効率化や生産性の向上に役立ちます。さらに、システムの機能や性能をはっきりさせるのにも役立ちます。システムを作る人と使う人が、システムについて話し合う中で、それぞれの考え方の違いをなくし、お互いの理解を深めることができます。
使う人の立場を考えた試験は、システムを作る人と使う人の間の意思疎通を円滑にする上で重要な役割を果たします。開発中に問題点や改善点を早期に発見し、対応することで、プロジェクト全体をスムーズに進めることができます。これにより、プロジェクトが成功する可能性を高めることに繋がります。システム開発において、使う人の視点を早期に取り入れることは、無駄な費用や時間を削減し、使う人の満足度を高め、プロジェクトの成功に導くための近道と言えるでしょう。

まとめ

使う人の立場を想定した検証作業、それが利用場面検証です。この検証作業は、作り上げた仕組みが使う人の行動に沿ってきちんと動くかを確かめるために行います。
たとえば、買い物サイトで商品を買う場面を想像してみてください。会員登録、商品の選択、買い物かごへの追加、決済、配送情報の入力など、様々な行動があります。利用場面検証では、これらの行動を一つずつ丁寧に追いかけ、それぞれの場面で仕組みが正しく動くか、問題がないかを細かく確認します。
この検証作業をきちんと行うことで、使う人にとって分かりやすく使いやすい仕組みを作ることができます。さらに、使う人が本当に求めているもの、満足できるものを提供することにつながり、顧客満足度の向上も期待できます。
また、利用場面検証は、仕組みの設計内容を明確にする効果もあります。設計段階で使う人の行動を具体的に想定することで、あいまいな部分をなくし、開発に関わる全員が同じ理解のもとで作業を進めることができます。これは、開発者と利用者の間で認識のずれを防ぎ、意思疎通をスムーズにすることにも役立ちます。
このように、利用場面検証は使う人の視点を取り入れることで、より良い仕組みを作るための重要な作業です。開発のどの段階においても、利用場面検証は欠かせない要素と言えるでしょう。ぜひ、これからの仕組み作りに役立ててください。
| 利用場面検証とは | 使う人の立場を想定した検証作業 |
|---|---|
| 目的 | 作り上げた仕組みが使う人の行動に沿ってきちんと動くかを確かめる |
| 効果 |
|
| 重要性 | 開発のどの段階においても欠かせない要素 |
