ソフトウェアの品質を学びまくるソフトウェアの品質を学びまくる読者になるソフトウェアの品質を学びまくるソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。品質特性みなさん、こんにちは。qiita.com「バグトリ」という言葉に惹かれて読んだ、『バグトリデザイン』という本を紹介します。Amazon最近、「デザイン思考」という言葉をよく聞きます。本書にこの言葉はあまり出てこないのですが、良いデザインをするために必要なこととして、「それを使っている人の行動をよく観察する」「それを使う人になりきる」といったことを述べている点では似ていると思います。本書の前半で著者は、製品やサービスを使ううえでの「トラブルの元凶は”モノ単体”志向」としています。すべての事象は、ある特定された場所で「人とモノ」が時間とともに関係性を変化させながら推移しているのが常です。モノに注目するあまり関係性の片方、つまり人の側を見落とすことがよくあります。モノ単体を観て判断しているため、問題の本質を見抜けずに解決方法を誤ってしまうのです。これって、ソフトウェアにおいて「機能としては出来上がってるんだけれど、業務上ではどうにも使いづらい」という話に似ていませんか?この本では、ユーザの体験を遮る・損なう要素である「バグ」にはどのようなものがあり、そのバグがいかなる原因で起こるのかを整理しています。モノやコトをデザインする方法について述べた本なのですが、この分類は、ソフトウェアにおけるいわゆるシナリオテストやユーザビリティテストの観点として使えるではないかと思いました。この記事では、本書で説明されている6つのバグの現象と、それをもたらす7つの原因について紹介したいと思います*1。自分たちの製品やサービスの使い勝手を考える際に、この6つの視点を眺めてみると、思わぬ欠陥が見つかったりするんじゃないかなと思います。行為の中断や損傷、やり直し、後戻り、無駄があり、次第に行為が非効率になるバグ例として、「5千円札や1万円札が使えない、駐車場の自動精算機」が挙げられています。人員削減が目的なのに、係員を呼ばざるを得ない非効率につながっています。個人的な体験でいうと、「オンラインバンキングで振込しようとしたら、最後にワンタイムパスワードを求められて、スマホに銀行アプリを入れているうちにタイムアウトに・・・」というのがあります。それってユーザ側の準備不足でしょと言われればそうなのですが・・・、「続けて行うべき手続きの途中に突然、事前に済ませておくことが前提になっている作業が割り込んでくる」というのは、見直す必要があるかもしれません。レシピをきちんと読まずに料理を始めてしまう料理下手が出会う、「十分に水切りした豆腐」みたいなやつです。ユーザーに迷いが生じて適切な判断・選択ができなくなるバグ広いオフィスや会議室などで、「壁面に設定された照明Off/On操作パネルと、実際の照明の対応関係がわからない」といった例が挙げられています。Webサイトでいうと、「どこに行けば何ができるのかわからない」というのがありますよね。我が家では子ども向け教育サービスを利用しているのですが、そのサイトではログイン中にも関わらず、氏名や住所の入力を求められます。そのため、「今ってログアウト状態なのか?」「手順を間違ったのか?」というストレスにつながっています。矛盾をはらんだ結果を生むバグレジ袋のパラドックスが、例として熱く語られています。レジ袋こそ、廃油を再利用したうえで何役も兼ねているアイテムだったのに、それを排して貴重な静製油を使って大量のエコバックを生産していると・・・。よかれと思って*2作ったものが、ユーザにはかえって不自由なものになるかもしれない。『シニアが使いやすいウェブサイトの基本ルール』では、シニアをターゲットとしてサイトでは、「文中リンクは避ける」ことを勧めています。文中リンクは、ユーザが詳細を知りたい場合に簡単に飛べるように、利便性を目的に入れるものでしょう。シニアにとっては、そのリンクは確認すべきものに見え、集中力を削ぐ要因になることが多いのだそうです。いう悲しい例を挙げています。わたしはStreaksというアプリを使っています。いわゆる「習慣化」のためのアプリです。習慣化したいことを登録し、実行できたらそれを記録していく。すると「何日続いたよ!」とか、「今日も実行すれば、10日連続だよ!」と後押ししてくれる。達成状況を美しいグラフで可視化してくれるのも、モチベーションの源泉になります。・・・、一度サボって連鎖が途切れると、かえってStreaksによる励ましがツラくなる。今日やっても、明日やらなければまた連鎖が途切れる・・・、なら今日はやらなくてもいいんじゃないか・・・。そんな驚きの心の弱さが露呈し、「習慣化アプリのせいで、習慣をサボってしまう」という悲しい出来事が発生するんですね。いいえ、アプリじゃなくて、悪いのはわたしです。お金を払う価値があります。不安、怒り、セクハラ、パワハラなどの精神的圧迫のバグスーパーでくりかえされるテーマ音楽が、精神的圧迫につながるという例を挙げています。購読を意図したつもりのないメールマガジンをひたすら届けてくるオンラインショッピングサイトや、「ドメインが失効します!」みたいな脅しメッセージを投げまくってくるドメイン取得サービスを思い出します・・・。勘違いや思い込みなど、誤った認識がトラブルの誘因となるバグユーザーの動線に沿わせることが考えられていない、駅構内の張り紙やサインを例として挙げています。子ども向け学習サービスへの不満をぶつけるのですが、キャンペーンや申し込みの動線がまったくわからず、「このアンケートには回答したか?」「手続きが終わったか?」と迷うことが多すぎます。その結果、「やっていないかもしれないから、一応もう一度やっておこう」とならざるを得ません。何が終わっていて、何を終わらせなければいけないのかがわからず、いつも不安な気持ちにさせられます。原因の方は、カテゴリーの定義の紹介にとどめておきます。手順の間違いが原因となること。後天的な経験によって習慣化された行為が原因になること。不適正なプラン・デザイン・設計・役割などが原因になること。属性因子なんかは、ターゲットとする地域や世代を絞っている場合には、特に配慮すべきものでしょう。―遊びと学びのデジタルエクスペリエンス』では以下のように述べています。子どものためにデザインすることは、決して、大人を対象としたコンテンツや画像やインタラクションの「レベルを下げる」ことではありません。現在地を把握し、ユーザーを適切な位置に導けるデザインが求められます。いって、子ども向けのデザインを、大人向けとはまったく別のものとしてとらえてしまうと、優れたデジタルデザインの根幹をなす重要な慣習やパターンを見失うことになり、やはり望ましくありません。―遊びと学びのデジタルエクスペリエンス作者:デブラ・レヴィン・ゲルマンビー・エヌ・エヌ新社Amazon先に挙げたシニアでも同様ですが、開発側と利用側で、モノの見え方・感じ方は異なってくる。自分の感覚が絶対的で標準的だと思ってはならないですね。他の因子も、「よくないデザインに至る原因」として考えてみると面白そうです。まとめモノやコトのデザインにおける失敗とその原因の分類を、ソフトウェアやサービスのテストの観点として使えないか?というお話でした。本書では、この「現象」と「原因」をマトリクスにすることで、「バグ」の分析を行うことが述べられています。何だかQAの仕事と似ているようですね。書いているうちに、ふだん使っているサービスへの日ごろの鬱積をぶつける場になってしまいました。今日はこの辺で・・・。*1:ここでいう「バグ」は、プログラムというよりは、「ソフトウェアデザインの問題」を意味しています。*2:エコバックの場合は、よかれとさえ思ってもいないかもしれない。本来必要なかったはずの需要を無理やり創出しているというのが、著者の見立てのようです。BY-NC...2020-10-03探索的テストとスクリプトテストを対比するのはミスリードかもしれない。AdSenseを使用しています。AdSenseは、ユーザーの興味に応じた広告を配信するためにCookieを利用しデータを収集しています。Cookieを無効にする設定、およびGoogleアドセンスに関する詳細は、Googleのポリシーと規約をご覧ください。はてなブログをはじめよう!kz_suzukiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。