ソフトウェアテストとさまざまな思考タイプ

ソフトウェアテストに関して言えば、人間の脳は最高のテストツールです。ソフトウェアをテストするとき、私たちは情報を処理し、問題を解決し、決定を下し、新しいアイデアを生み出します。

テスターとして、さまざまな状況に関連付けることができるように、さまざまな思考タイプを認識しておく必要があります。たとえば、設計図を見るときは、分析的である必要があります。シナリオを考えるとき、抽象的な方法で考える必要があります。

テスト活動が異なれば、必要な思考プロセスも異なります。このため、アクティビティごとに異なる思考モードを「オン」にできることが重要です。




ソフトウェアテストのコンテキストでの思考タイプ

さまざまな思考タイプと、ソフトウェアテストおよびさまざまなテストアクティビティのコンテキストでそれぞれをどのように適用できるかを調べてみましょう。

創造的または水平思考

創造的思考とは、何かを新しい方法で見ることを意味します。それはまさに「箱の外で考える」の定義です。


創造的思考では、確立された理論、規則、手順から脱却し、新しい想像力に富んだ方法で物事を行います。

たとえば、テストのコンテキストでは、これは、新しいテスト手法を適用する場合などです。順列の数を減らしながらカバレッジを増やすペアワイズテスト手法。

分析的思考

分析的思考とは、部分とそれらの関係を調べるために、全体をその基本的な部分に分離する能力を指します。それは、論理的で段階的な方法で考えて、より大きな情報システムをその部分に分解することを含みます。

たとえば、アーキテクチャ図を見て、システムと個々のコンポーネントを通るパスを理解しようとする場合です。


良い例は、ユーザーがフォームを送信し、データベースと通信するAPIにリクエストが送信されたときに何が起こるかを分析する場合です。

批判的思考

批判的思考とは、何かを注意深く分析してその妥当性や正確さを判断することによって推論する能力です。それは、情報の受動的な受信者ではなく、能動的な学習者になることです。

批判的思考は、おそらくテストの文脈で最も重要なタイプの思考です。テスターとして、私たちはアイデアや仮定を額面通りに受け入れるのではなく、常に疑問視する必要があります。

たとえば、ユーザーストーリーを見るとき、私たちはについて質問することができます 合否基準 彼らが私たちに与えられたようにそれらを受け入れるのではなく。


具体的な思考

具体的な思考とは、事実に基づく知識を理解して適用する能力を指します。それは抽象的な思考の反対です。

具体的に考える人は、指示に従い、詳細な計画を立てることが好きです。彼らは曖昧または曖昧なものは何でも嫌いです。そのため、具体的な思想家はリストやスプレッドシートを使用することを好みます。

テストのコンテキストでは、これは、テスターがテストを開始する前にすべての命令が存在する必要があることを要求する場合です。例えば。一部のテスターは、すべての受け入れ基準がユーザーストーリーで定義されるまで、テストを開始しません。

抽象的思考

具体的な思考とは反対に、抽象的な思考とは、実際には存在しないものについて考える能力を指します。


抽象的な方法で考えるソフトウェアテスターは、具体的な詳細ではなく、アイデアや情報のより広い意味に注目します。

たとえば、テストやストーリーグルーミングセッションのコンテキストでは、抽象的な方法で考える能力を持つテスターは、興味深いテストシナリオを思い付くことができます。テスターは、受け入れ基準を読むだけでなく、ユーザーストーリーを見て、これがシステムの他の部分にどのように関連するか、または影響を与える可能性があるかを理解しようとします。

多様な考え方

発散的思考とは、効果的な解決策を見つけるために、考えられる多くの解決策を模索することによって創造的なアイデアを生み出す能力を指します。これには、さまざまなソースからの事実とデータをまとめ、論理と知識を適用して意思決定を行うことが含まれます。

探索的テストを行うときは、 オラクルとヒューリスティック そして、私たちの以前の経験に基づいて判断を下します。


収束的思考

収束的思考とは、トピックのさまざまな部分や視点を整理された論理的な方法でまとめて、単一の答えを見つける機能です。

たとえば、欠陥の根本原因を突き止めようとすると、関連情報を収集し、必要なデータを抽出します。

シーケンシャルシンキング

シーケンシャル(線形)思考とは、情報を整然と規定された方法で処理する能力を指します。これには、ステップバイステップの進行が含まれ、次のステップを実行する前に、ステップへの応答を取得する必要があります。

ソフトウェアテストのコンテキストでは、これは、事前定義された手順と期待される結果を使用してスクリプトを実行する場合と相関関係があります。

ホリスティックシンキング

全体論的(非線形)思考とは、全体像を把握し、コンポーネントがより大きなシステムをどのように形成しているかを認識する能力です。それはあなたの思考プロセスを一方向だけでなく複数の方向に拡大することを含みます。

テストのコンテキストでは、これは統合またはシステムテストを実行するときです。

結論

ソフトウェアテストには深い思考が必要です。それは常に質問をし、私たちが受け取った情報を分析するプロセスです。テスト活動が異なれば、必要な思考プロセスも異なります。さまざまな思考タイプを理解することは、正しい質問をするのに役立ちます。

テスターに​​インタビューするときは、上記の思考タイプの観点からテスターの思考能力を発揮するシナリオベースの質問をする必要があります。