この記事は
この記事は、これまで2年ほど勉強して考えてきた「QAの心理学」について、現時点で私なりにまとめられる範囲で、ふんわりまとめてみたものです。
長くなりそうなので、記事を前後編に分けました。今回は前編です。
きっかけ
私が心理学について学ぼうと思ったきっかけは、「ソフトウェアテスト293の鉄則」という本にある「鉄則018:認知心理学も駆使する」という一文です。
QAは心理学も駆使して行われる奥深い業務だと知りました。
幅広い知識が求められる職種であり、知的好奇心が存分に満たされる楽しいお仕事だと思っています。
結論を先に
結論を先に述べると、下の表のようにまとめることができました。
<前編>
・バグチェックの基礎心理学 → 一般システム論 + 認知心理学
・バグチェックの応用心理学 → 認知バイアス + デザイン原則
<後編>
・QAマネジメントの基礎心理学 → 多様性 + 社会心理学
・QAマネジメントの応用心理学 → 探索的テスト + フロー体験
このようにまとめることにした詳細を、これから述べていきます。
心理学の分類
「分けることは分かること」と言います。
何か分からないことがあったら、分解してみるか、似たものを集めて分類してみればいい。
最初は「心理学」というものがよくわからなかったので、手始めに分類から学んでみることにしました。
調べてみたところ、心理学には様々な分類の仕方があるようです。
この記事を書くにあたっては、ふんわりと次の2種類に分ける考え方が便利だと思い、採用することにしました。
「基礎心理学」と「応用心理学」
それぞれ、順に説明していきます。
基礎心理学
脳や体のしくみ、孤独の時や群れている時など、人間の性質や状況などから心の動きを考えるのが基礎心理学です。
冒頭に紹介した「ソフトウェアテスト293の鉄則」に出てきた「認知心理学」はウルリック・ナイサーが提唱した言葉ですが、基礎心理学の一つに分類されるようです。
ウルリック・ナイサーの研究内容は、例えばシルエットを見て似たものを連想したり、数字の並びを記憶して何分後に何桁覚えているか、などのような観察と統計の記録が多く、残念ながらあまりQAには結びつかなかったです。
QAとしてとっつきやすく、業務に応用しやすいと思ったのは、次の2冊です。
・ドナルド・ノーマン著「誰のためのデザイン? 認知科学者のデザイン原論」
・ジョン・ヤブロンスキー著「UXデザインの法則 最高のプロダクトとサービスを支える心理学」
どちらもデザイナー向けにアレンジされた本なので、webデザインと関わりのあるQAにも読みやすく、役立つ知識が豊富だと思いました。
詳細については後述します。
応用心理学
基礎心理学を踏まえて、日常生活の中で具体的に活用することを目的としたものが応用心理学です。
例えば、近年Googleが流行らせた「心理的安全性」という言葉がありますが、元々はエイミー・エドモンドソンが提唱したもので、応用心理学の一つである「産業心理学」に分類されるようです。
プロダクトリスクだけではなく、プロジェクトリスクもマネジメントすることが求められるQAとしては、産業心理学の知識を切り離して業務にあたることはできないと思います。
また、比較的QAにも役立つと思った本は、次の2冊です。
・ロザベス・モス・カンター著「企業のなかの男と女 女性が増えれば職場が変わる」←男女平等が主テーマの本ですが、社会心理学的な人間の行動パターンに関する記述がジェンダーに関係なく役立つと思いました。
・ミハイ・チクセントミハイ著「フロー体験入門 楽しみと創造の心理学」
詳細ついては後編でご紹介します。
以上、心理学について、まずは分類から見ていくことでふんわりと輪郭をつかんでみました。
「分かることは、分けること」
分類の次は、分解です。
心理学をQA視点で分解して、少しだけ解像度を上げてみましょう。
バグチェックの基礎心理学
QAのメイン業務の一つに「バグチェック」があります。
バグチェックは、
・一般システム論 + 認知心理学
の組み合わせで考えることができます。
一般システム論
一般システム論というのは、世の中にある、あらゆるシステムに共通する性質や構成要素を抜き出して、ブロック図やフロー図などで単純化して考えようというものです。
例えば、下のようなフロー図で表現されます。
「生体システム」「社会システム」「業務システム」など、「○○システム」と名がつく全てのものは、上の図のように「入力」「出力」「変換」「貯蔵」の4つのメイン機能と、それらが目的達成のために円滑に安全に動くための「サポート」「管理」の2つの機能で構成されています。
バグチェックの対象となるすベてのソフトウェアシステムについても、上記6つの要素で構成されています。
それぞれ、
・入力機能は、テスト実行者の意図した通りにデータを生成できるか
・変換機能は、要件通りにデータを変換するか
・貯蔵機能は、要件通りにデータを保存するか
・出力機能は、期待した通りにデータを出力するか
・サポート機能がある場合は、ない場合に比べて、特定の機能がより適切に動いているか
・管理機能は、システム全体がさまざまな制約の中で、秩序関係を維持するために適切に動いているか
といった観点でテストが行われます。
ちなみに、一般システム論については、
・大村朔平著「一般システムの現象学 よりよく生きるために」
が参考になります。
認知心理学
バグチェックをしている時の人間の思考回路は、認知心理学における「行為の7段階サイクル」に当てはめることができます。
行為の7段階サイクルとは、人が特定の行動をするときに、「1ゴール → 2プラン → 3詳細化 → 4実行 → 5知覚 → 6解釈 → 7比較」の7つの段階を経るという考えです。
人は最初の段階で「ゴール」を設定します。
「ゴール」に向かうために、「プラン」を作り、「詳細化」で内容を詰めたら「実行」します。
実行結果が外界に現れたことを「知覚」すると、内容を「解釈」し、ゴールと「比較」して達成できたかどうかを確認します。
この行為の7段階サイクルを、バグチェックにも当てはめることができます。
「1要件定義 → 2期待結果 → 3テストケース → 4テスト実行 → 5知覚 → 6解釈 → 7判定」
モジュールが、「要件定義」通りに作られていることを確認するのがゴールです。
要件定義から「期待結果」を想定し、「テストケース」を作成して「テスト実行」します。
入力したデータが、モジュールによって変換され、結果が出力されます。
「知覚」された出力結果を「解釈」し、合否を「判定」します。
上記を仮に「バグチェックの7段階サイクル」と名付けます。
これを、前述の「一般システム論」とつなぎ合わせると、下のような図解が出来上がります。
この、一般システム論 + 認知心理学 の組み合わせが、バグチェックの基礎理論と言えるのではないかと思います。
上記を踏まえたうえで、バグチェックの現場作業へ心理学が具体的に応用されている場面を考えていきます。
バグチェックの応用心理学
「心理学をバグチェックに応用する」と見聞きすると、殆どのQA従事者が「認知バイアス」を連想できると思います。
なぜなら、ソフトウェアテストの初学者向けテキストなどで「認知バイアス」を見かける頻度がとても高いからです。
それから、認知心理学についての様々な本を読んでいると、webデザイナー向けの内容がQAに役立ちそうなものが多いと感じました。
ですので、この記事では、
・認知バイアス
・デザイン原則
の2つの内容でまとめてみることにしました。
認知バイアス
人は、先入観、思い込み、慣れ、思考のクセなどから逃れることはできません。
そのため、まったく同じものごとを見聞きしていても、人によって認知に偏りが生じます。
これを「認知バイアス」といいます。
認知バイアスは、先ほどご紹介した「バグチェックの七段階サイクル」でいうと、1~7のすべてに影響します。
認知バイアスがあるために、人はどんなに注意深くバグチェックしても、残念ながらバグを見逃す可能性は絶対に0になりません。
だからと言って、バグを流出させてしまった時に認知バイアスを盾に開き直っていてはQAとしては失格です。
バイアスをコントロールするテクニックを身につけることで、限りなく0に近づける努力がQAには求められます。
バイアスをコントロールするQAのテクニックには、例えば、下記のようなものがあります。
・クロスチェック:
複数人で同じテストを実行することで見逃しリスクを減らします。
手順が細かく指定されているローレベルテストケースでは効果が低いですが、テスト観点が広く指定されているハイレベルテストケースや、チャーターやタイムボックスなどを使う探索的テストでは絶大な効果を生みます。
・チェックリスト:
作業の漏れを防止したり、経験が浅い担当者に必要なテスト観点を提供したり、などの効果があります。
・マインドマップ:
テスト対象の特徴を整理しつつ、直感的な記号やイラスト、刺激的な色使いでインスピレーションを誘発し、新たなテスト観点を発見する手助けをします。
・アジャイルテスト4象限:
手薄い領域を識別することで、不得意なものを後回しにせず、次に優先して行うべきテストタイプを検討させるという使い方ができます。
上記のようなバイアスコントロールのテクニックを、できるだけ多く学習して選択肢を増やし、経験を積んで練度をあげることで、QAの一分野であるバグチェッカーとしてのスキルが向上していきます。
デザイン原則
「デザイン」という言葉を見ると、世の中の多くの人は「快美性」をイメージすると思います。
格好いい、可愛い、綺麗などの感情を呼び起こし、思わず「手に入れたい」「身につけたい」「長時間を過ごしたい」と思わせるような、優れた形や色使いや音や空間を生み出す職業のことを「デザイナー」だと思っている。
そういう人が多そうだなと思います。
ところが、webデザイナーの方とお話しする機会があったりすると、その印象はガラリと変わります。
もちろん、デザイナーという職業に興味を持つきっかけは「快美性」なのでしょうが、プロとして仕事をするには、快美性を生み出すセンスの他にも重要なものがあるということでしょう。
彼らが学習しているwebデザインに特化した認知心理学のテキストから、QAにも役立ちそうな考え方を抜き出してみると、例えば次の3つのようなものが挙げられます。
1、アフォーダンスとシグニファイア:
ユーザーは、システム提供者の意図とは異なる使い方でシステムを利用することがよくあります。
使われてしまってから、「その使い方は、システムの本来の意図とは異なるので止めてください」と警告をするのではなく、そもそもそのような使い方ができないように機能制限をつけるか、気づかれないようにするべきです。
「アフォーダンス」とは「支える」という意味で、そのような使い方ができるよう、システム側が支えてしまっているということです。
「シグニファイア」とは「手がかり」という意味で、そのような使い方ができると気づかせてしまう手がかりがあるということです。
QAとしては、「想定とは異なる使い方をユーザーができてしまう」と発見したら、「そんな使い方をするユーザーはいないでしょ」と楽観的なことをいう企画者や開発者をなんとか説得し、アフォーダンスやシグニファイアを失わせるよう働きかける必要があります。
2、ヤコブの法則:
ヤコブの法則とは、「ユーザーは慣れ親しんだプロダクトと同じような挙動を他のプロダクトにも期待する」という法則です。
他と似ていれば新しいシステムでも学習に手間取りませんし、すぐにやりたいことに取り掛かれます。
UIを変えたいなら、少しずつ変えていくか、移行期間を設けるべきです。
企画者やデザイナーが独自のこだわりをプロダクトに反映しようとしたら、QAとしては仕様通りに動くかどうかチェックするだけではなく、業界標準規格、流行、競合、慣例などを考えながら、ユーザー視点で必要に応じてアラートを出さなくてはなりません。
3、ドハティの閾値:
人がアクションを起こして、システムからの応答があるまで0.4秒以内の時に、ユーザーは自分の仕事に満足感を覚え、生産性がもっとも高まるそうです。
この0.4秒という基準をドハティの閾値と言います。
この基準よりも処理時間が長くかかり、簡単には短縮できない場合、プログレスバーを表示して待機中のストレスを軽減したり、画像を扱うシステムなら一旦軽くて荒いサムネイルを表示させてから解像度の高い画像を表示させたりするような工夫をして、実際よりも早く動いているように錯覚させるというテクニックがあります。
QAとしては、開発者やインフラ担当に「パフォーマンスが遅い」とは言いにくいものなので、代わりに「プログレスバーをつけてはどうか」というような提案をする場合があっても良いでしょう。
ここに挙げた3つの他にも、QAに役立つデザイン原則がたくさんあります。
デザインの知識を取り入れていくことで、テスト実行のスキルが上達していきます。
前編まとめ
心理学を「基礎心理学」と「応用心理学」の2種類にふんわりと分ける考え方を手がかりに、QAのメイン業務の1つである「バグチェック」に焦点を絞ってまとめてみました。
バグチェックは、「一般システム論 + 認知心理学」の組み合わせを基礎として考えることができます。
基礎を踏まえて、「認知バイアス」をバグチェックに応用する考え方が初学者にも有名で、さらに一歩踏み込んで「デザイン原則」にまで応用のテクニックを求めることができます。
いかがでしたでしょうか。
後編では、QAマネジメントについてまとめてみたいと思っています。
<2023/02/27追記>まとめました。下のリンクからご覧ください。
参考
・セム・ケイナー/ジェームズ・バッハ/ブレット・ペティコード著「ソフトウェアテスト293の鉄則」
・ウルリック・ナイサー著「認知心理学」
・ドナルド・ノーマン著「誰のためのデザイン? 認知科学者のデザイン原論」
・ジョン・ヤブロンスキー著「UXデザインの法則 最高のプロダクトとサービスを支える心理学」
・エイミー・エドモンドソン著「恐れのない組織 「心理的安全性」が学習・イノベーション・成長をもたらす」
・ロザベス・モス・カンター著「企業のなかの男と女 女性が増えれば職場が変わる」
・ミハイ・チクセントミハイ著「フロー体験入門 楽しみと創造の心理学」
・大村朔平著「一般システムの現象学 よりよく生きるために」
・池田暁/鈴木三紀夫著「マインドマップから始めるソフトウェアテスト」
・リサ・クリスピン/ジャネット・グレゴリー著「実践アジャイルテスト テスターとアジャイルチームのための実践ガイド」
・リーダーのメモ帳「心理学の種類とそれぞれの概要をわかりやすく解説!」
https://haa.athuman.com/media/psychology/feature_report/1482/?doing_wp_cron=1670317149.9312739372253417968750
・JSTQB AdvancedLevel テストアナリストシラバス
https://jstqb.jp/syllabus.html#sample_advanced