SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2022 レポート(AD)

アジャイル開発の品質課題を解決! 藤原大氏が語る、進化したテスト自動化と品質エンジニアリングとは【デブサミ2022】

【17-C-7】アジャイル開発と品質エンジニアリング - QA時代の終わりとQE時代のはじまり

  • このエントリーをはてなブックマークに追加

品質保証(QA)と品質エンジニアリング(QE)の3つのポイント

 品質エンジニアリングを「ソフトウェアの品質をエンジニアリングによって、より解決していこうという動きみたいなもの」だと、藤原氏は表現する。その品質エンジニアリング(QE)について、いくつかのポイントが解説された。

ポイント1:開発サイクル全体で品質維持

 一つ目のポイントは、「開発サイクル全体での品質維持」。従来型のプロセスは、設計・実装・テストといったフェーズの中で、特にテスト部分で品質を保証することが多かった。だが、最近の開発ではこのやり方ではうまくいかないケースが出てきたという。

 「例えばDevOpsでは、プラン・ブランチ・コーディング・マージ・ビルド…というサイクルが無限大に続きます。リリース後もリリース・デプロイ・オペレート・モニタリングが延々と繰り返される。しかし、この中にテストというフェーズは存在しないのです」(藤原氏)

 もちろんテストのフェーズを入れることもできるが、それではウォーターフォールに近いプロセスとなってしまい、リリース直前にテスト負荷が上がり、問題があったら手戻りしてしまって、アジャイル開発の良さが活かせない。これを解決するためには、「全体を継続的にテストするしかない」と藤原氏は言う。

図5
DevOpsにテストというフェーズは存在しないので、開発サイクル全体で品質を維持する

 mablでもここを問題視しており、いわゆるCI/CD、開発からリリースまでのパイプラインの流れの中で、どうE2Eレベルのテストを統合するかに注力している。その一つの例として、インテグレーションの機能が紹介された。

 「例えば、JenkinsやCircleCIなどのCI/CDにmablを組み込むことや、GitHubやGitLabに組み込んだりすることで、GitHubチェックやGitHubアクションなどで継続的にE2Eを促すことができます」(藤原氏)

 プレビュー環境でE2Eテストを実行する動きについてもデモ動画が紹介された。

図6
開発からリリースまでのパイプラインの中にE2Eレベルのテストを埋め込むインテグレーション機能

ポイント2:顧客体験重視

 二つ目のポイントは、顧客体験重視。mablがグローバルで毎年実施しているユーザー調査では、テストカバレッジが重要な指標だと考える企業が圧倒的に多い。例えば、テストカバレッジが低い企業はユーザーの満足度も圧倒的に低く、テストカバレッジをある程度担保してうまくまわしている企業は圧倒的に高い数値が出ているのだという。

 「mablでは、このカバレッジを広げるためにE2Eレベル、さらにインテグレーションレベルのプランや機能を提供しています。インテグレーションレベルは、ノーコードでAPIテストができるようなっています」(藤原氏)

図7
テストカバレッジを広げるための機能を開発

ポイント3:継続的モニタリング

 品質エンジニアリングでは、データが重要になってくる。mablでは、カバレッジの情報やテスト実行のデータなどが見られる。また、BigQueryと統合して、データスタジオでビジュアライズできるダッシュボードを作ることも可能だ。

 全体で何か異常が起こっている場合は、テストデータで跳ね上がってる部分を探したり、将来の問題を未然に解決する活動にも使ったりすることができる。

図8
テストデータで跳ね上がってる部分

 品質エンジニアリングとは、アプリケーションの品質とカスタマーエクスペリエンスを継続的に改善するために、データを活用して、開発サイクル全体で品質を維持していく活動である。

 「技術の進化によって、品質上のエンジニアリングが広がり、その中の一部としてQAが存在する形になっていく。アジャイル開発におけるQAエンジニアやテストエンジニアは、この品質エンジニアリングのサイクルを回していくようになるだろう」と、藤原氏は3つのポイントをまとめた。

 実際、海外では品質エンジニアリングの成果が徐々に現れており、テストの実装時間がかなり削減されているという。SaaSなのでイニシャルコストもかからず、実装もノーコード・ローコード。さらにテストが高速化され、テストカバレッジやサイクルタイムに貢献していくだろう。

品質エンジニアリングの「これからの10年」を考える

 今後はさらに自動テストのカバレッジが拡大していくと予想される。開発におけるあらゆるフェーズで自動化が進み、誰か一人が全てQAを行うのは難しくなっていくだろう。そのため、開発チーム内の全員で品質を見るが一般化されていく。それを藤原氏は「民主化」と表現する。

 「民主化により、誰もが品質に対していろいろなかたちで貢献するようになり、カバレッジが上がっていく。そんなことが起こるんじゃないかと思います」(藤原氏)

 さらにテストの多様化についても言及された。mablのデータによれば、2019年から2020年にかけて、USにおけるデジタルアクセシビリティ訴訟の増加率が20%も増えている。アクセシビリティに関するテストのニーズも上がっていくだろうと予想される。実際、mablでもアクセシビリティテストに今後力を入れていく。

 もう一つはテストに対する視点の変化である。これまでのテストは検証・確認に近い視点(Verification)が多かったが、今後は「ユーザーが本当に求めているものなのか」という妥当性(Varidation)に焦点が当てられる。今後自動化が進んでいくうえで、人間にしかできないことは何かという観点だろう。

図9
これからのアプリケーション品質に求められるもの

 「これからは、まさにデータとインサイトの時代になってくると考えています」(藤原氏)

 一方で、意思決定をするという人間にしかできない仕事もある。意思決定のアクションとして、自動化や安定化、カバレッジ、リファクタリングによるシステムの改善など。

 「例えばテストのデータがあまりにも低いところは、バグの可能性があったり、テストが間違ってる可能性もあったり、実装が間違っている可能性もある。その原因をデータで探りならが、インサイト(洞察)を得て、次の開発やテストにつなげていけます」(藤原氏)

 最後に藤原氏は、デブサミに「アジャイルリーダーシップと組織改革」というテーマで初参加・初発表した10年前を振り返り、さらに10年後もチームを勇気づける講演を行っていきたいと語り、セッションを締めた。

 「品質エンジニアリングのような技術によって、アジャイルな品質もどんどん進化していく。これから先も素晴らしいプロダクトが登場し、ワクワクする未来が始まる。これからちょっとずつでも改善していけば、どこもかしこも、よりアジャイルになるんじゃないかと期待しています」

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2022 レポート連載記事一覧

もっと読む

この記事の著者

馬場 美由紀(ババ ミユキ)

 エンジニアとテクノロジーが好きな編集・ライター。エンジニア向けキャリアサイト「Tech総研」「CodeIQ MAGAZINE」、Web技術者向けの情報メディア「HTML5 Experts.jp」などでライティング、コンテンツディレクション、イベント企画などを行う。HTML5 開発者コミュニティ「h...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15735 2022/04/06 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング