手動テストの未来にどう備えるか

DevOpsと継続的テストの時代において、自動テストはすべての行動の最前線にあります。アプリケーションがより複雑になるにつれ、不具合を早期に発見し、修正し、更新された機能をできるだけ早くリリースするために、テストをShift Left (シフトレフト) することがさらに重要になります。自動テストは、厳しいプロジェクトスケジュールとリリースサイクルに対応するための 1 つの方法です。

企業がすべてを自動化しようとするときに生じる共通の疑問は、「手動テストはまったく必要ないのだろうか」ということです。

簡単な答えは「手動テストは必要だ」ということですが、本当の答えはもっと複雑です。なぜならテスターの役割が変わってくるからです。ここでは、手動テストのテスターが変革に備えるための4つの方法を紹介します。

1.探索的テストにさらに注力する

あなたのチームは、詳細なテスト計画を作成し、それを実行して、システムが期待通りに動作していることを確認していますか?これは、結果のランダム性の程度が小さい、それほど複雑でないシステムでは効果的な方法です。しかし、AIやブロックチェーンのような技術では、与えられた入力に基づいて結果を予測することは困難です。いくつかの外部刺激がシステムの動作に影響を与える可能性があります。テストすべき予期せぬ結果をすべて考え、テスト計画でそれぞれを詳細に説明することは不可能です。

たとえば、AI を使ったシステムは一般的にブラックボックスです。AIモデルがどのようにさまざまな関係を形成し、意思決定をおこなうかを制御したり理解したりすることはできません。私たちは、さまざまなトレーニングデータセットを提供し、システムの学習と進捗をモニターします。過去の事例からの学習に基づいて将来の価値に関する予測したり、さまざまなデータセットから異なるパターンを発見しようとしたりしています

このシナリオでは、AIベースのシステムの結果と判断が不明確であるため、事前に用意したテスト計画は役に立ちません。AIベースのシステムをテストする(英文)方法を、「多様なデータセットを提供すること」および「パフォーマンスを決定するための特定のメトリクスに対してAIモデルによっておこなわれた決定を評価すること」により重点を置くよう適合させなければなりません。

その結果、これらの複雑なアプリケーションのさまざまな領域を調査するために手動テストが必要になります。テストでは、あらかじめ定義された手順に従うことよりも、アプリケーションを探索することに重点を置くことになります。

2.過去の経験を活用する

新しい技術やフレームワーク、ツールの台頭に伴い、これまでのアプリケーションのテスト経験はもう役に立たないと誤解されることがよくあります。これは真実ではありません。たとえば、Webアプリケーションのテスト経験に基づいて、あなたは顧客がWebサイトを使用する際に発生しうる一般的な問題のいくつかを既に知っています。

そこで、SalesforceLightning Component Frameworkのような新しいフレームワークや、Reactのような新しいJavaScriptライブラリで開発されたWebアプリケーションをテストしているとします。その場合でも、あなたはこれまでの経験を頼りにアプリケーションの問題点を見つけることができます。

ここで重要なのは、ユーザーがアプリケーションをどのように操作するかなど、アプリケーションについてできるだけ多く学ぶことです。この知識は今後も価値のあるものとなるでしょう。

3.継続的な学習を優先する

新しい技術がどのように機能し、エンドユーザーにどのような影響を与えるかを学ぶことは重要です。すべての技術について知る必要はありませんが、少なくともその仕組みの基本を理解することで、より効率的にシステムをテストできます。

たとえば、あなたの会社がHyperledgerのようなブロックチェーンフレームワークを導入する場合、まずブロックチェーンフレームワークの仕組みを理解し、次にこのフレームワークがあなたのシステムの中でどのように実装されるかを学ぶのが有効でしょう。

手動テストのテスターだけでなく、システムが期待どおりに動作することを確認しようとする人にとって、継続的な学習は重要になるでしょう。

幸いなことに、Reactのような新しいテクノロジーを学びたい場合、さまざまな方法があります。
オンラインチュートリアル(英文)、YouTubeなどのプラットフォームでのビデオ チュートリアル(英語)、ポッドキャスト(英文)、書籍(英文)、無料のオンラインコース(英文)
などです。

4.さまざまな関係者と関わる

テスターは、開発者、ビジネス担当者、利害関係者、インフラストラクチャチームと協力し、すべてをまとめる接着剤となる必要があります。また、探索的テストとは別に、異なるチーム間の情報ブローカーとして、探索に基づいてシステムについての新しい洞察を与えることに相当な時間を費やすことになります。テスターは、ドメインの専門家としての役割を果たすようになるのです。

したがって、一般的に信じられていることとは反対に、手動テストの未来は明るいと言えます。この役割は進化し続け、テストプロセスの重要な一部となり、テスターが創造性を発揮してアプリケーションを探索する機会も増えることでしょう。

作者について:

Raj Subrameyerは、国際的な基調講演者、ライター、およびキャリアコーチであり、技術的なバックグラウンドを豊富に持っています。 彼のBlog(rajsubra.com/blog/)では、読者の生活に役立ち、インスピレーションを与えるニュース、リソースを投稿しています。

(この記事は、開発元 Ranorex 社 Blog 「How to Prepare for the Future of Manual Testing」2020年10月27日の翻訳記事です。)