ソフトウェアテストの役割は一見、プロダクトが意図したとおりに動作するかどうかを検証し妥当性を確認するという非常にシンプルな役割のように見えます。しかし、テスト担当者にソフトウェア開発組織の中での自分たちの役割と目的を尋ねると、様々な答えが返ってくるでしょう。ある人は”品質エンジニアリング”と言い、ある人は”テスト担当”や”品質保証”と言うかもしれません。また、自分の仕事のミッションを”カスタマー・デライト・エンジニアリング(顧客満足エンジニアリング)”と定義するテスト担当者も増えています。
色々な回答が出るのは、ソフトウェアテストの役割が、業界の複数のシフトによって変化しているためでしょう。新しいテスト自動化ツールが市場に投入され、AIや機械学習などの最先端技術を搭載した新しい機能がもたらされる一方で、DevOpsの採用によりテストと品質の優先順位が再構築されつつあるのです。さらに、Robloxのようなローコードプラットフォームで育った新世代のテスト専門家が登場し、業務用アプリケーションにシンプルな操作性、高い適応性、そして強力さを求めていることも、この変化を後押ししています。
自動テストのフレームワークは新しいものではありません。初期のテスト自動化ツールは2000年代半ばに市場に登場し、ソフトウェアのテスト担当者が品質管理の方法を見直す新しい機会を生み出しました。しかし、自動テスト戦略に依存するテストチームは、簡単に壊れ、過度のメンテナンスを必要とする脆弱なテスト自動化フレームワークに不満を感じるようになりました。DevOpsによって製品開発が効率化される中、データドリブンかつ協調的な自動テスト戦略を展開するには、これらのレガシーテスト自動化ツールでは単に不十分なのです。
このトレンドにより、アジャイルとDevOpsの世界における品質エンジニアリングをサポートするために設計された、新世代のテスト自動化プラットフォームが誕生しました。AIと機械学習を活用した新世代のテスト自動化プラットフォームは、オートヒーリング(自己修復)などの機能により、コードメンテナンスの手間を減らしています。テスト自動化フレームワークのメンテナンスに費やす時間が減ることで、品質エンジニアリングの担当者は、自動テスト戦略の拡大、探索的テストの実行、組織の他のメンバーが品質に貢献できるよう指導することに焦点を移すことができます。エッジケース(ユーザーが遭遇する可能性のあるまれなバグ)のテストにより多くの時間を割き、スキルを向上させることができるため、ソフトウェアのテスト担当者はDevOpsパイプラインにおける自分の役割を再考しています。
mablの2021年版「DevOpsにおけるテストの現状」レポートによると、過去1年間で、デプロイのスピードは比較的横ばい、あるいは減速していることがわかりました。
COVID-19の流行がどの程度影響したかは不明ですが、プロダクトの開発速度がほとんど向上しなかったにもかかわらず、DevOps採用への関心は高まる一方だったことは注目に値します。その代わり、焦点はユーザーエクスペリエンスの向上に移っています。B2BおよびB2C業界のソフトウェア企業は、主に顧客体験で市場競争しているため、開発チームは実際のユーザーデータを開発パイプラインに統合するツールを求めています。品質保証が”カスタマー・デライト・エンジニアリング(顧客満足エンジニアリング)”に変化する中、テスターは率先して、DevOpsの導入と顧客満足に貢献する、顧客中心のプロセス改善を提唱しています。彼らの主な戦略とは何でしょうか?それは、テストカバレッジの拡大です。
ソフトウェアテスターなら誰でも知っているように、テストカバレッジ100%は実現不可能です。(むしろ、推奨されません)したがって、顧客のニーズを最もよく反映する方法で、戦略的にテストカバレッジを高めることができることは、人間の専門知識と適切なテスト自動化ツールを必要とする重要なスキルセットなのです。Segmentのようなツールと統合された強力な新しいテスト自動化フレームワークに支えられ、ソフトウェアのテスト担当者は顧客中心のDevOpsをリードしているといえるでしょう。
ソフトウェアテストにさらなる変化をもたらしているのが、新世代のテスターであるローコードネイティブの出現です。ミレニアル世代とZ世代に属する彼らは、社会人になったばかりで、エンタープライズアプリケーションがどのように機能すべきかについて、まったく新しい期待を持っています。
テクノロジー主導の世界の基盤の中で育ったデジタルネイティブ世代とは異なり、ローコードネイティブは、創造性と問題解決を可能にする適応性の高いプラットフォームの中で育ちました。アプリやウェブサイトは単なる手段であり、Robloxでまったく新しい世界を構築するにしても、新製品の機能の不具合を特定するにしても、あるタスクを「どのように」達成するかということです。このような考え方から、ローコードネイティブは、直感的で効率的、かつ使いやすい業務用アプリケーションを期待しています。
ミレニアル世代とZ世代は職場での学習にも期待しています。彼らはデジタルエコノミーの中で生きており、仕事、スキル、市場が瞬時に変化することを認識していて(ClubhouseやTikTokを参照)、長期的なキャリア開発を保証するために継続的な学習を優先しています。ソフトウェア開発、品質、サポートの世界に足を踏み入れる人にとって、ローコードは、APIテストなどの複雑な作業を容易にし、新しいスキルをシームレスに導入することで、両方の期待を満たしてくれる。自動化されたテストから「どのように」を取り除くことで、新人ソフトウェアテスターやマニュアルテスターでも、従来のテストの型にとらわれず、ソフトウェア品質を再想像することができるようになるのです。
品質エンジニアリング、テストエンジニアリング、品質保証、あるいは顧客満足エンジニアリングとどう呼ばれるにせよ、ソフトウェアテストの分野は、現代の消費者や労働者の要求を満たすためにいくつかの変容を遂げつつあります。強力な新しいテスト自動化フレームワークが、顧客重視のDevOpsの成功を支える品質戦略を可能にする一方で、直感的なアプリケーションで育ったローコードネイティブのニーズにも応えています。企業における新しい多面的な役割に成長するにつれ、これらの変化を受け入れて、DevOps をサポートする自動テスト戦略を最適化しています。
2021年版「DevOpsにおけるテストの現状」レポートの全文をダウンロードし、ソフトウェアテストがDevOpsをどのように変革しているかをご覧ください。
また、ローコードネイティブに対応したmablのテスト自動化プラットフォームは14日間無料でお試しいただけます。