SHOEISHA iD

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

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

イチからわかる! スピードと品質を両立するための実践E2Eテスト自動化

なぜテスト自動化は当たり前にならないのか? アジャイル・DevOps時代のスピードと品質の考え方


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

 本連載では、スピードと品質を両立するためのアジャイルテスティングにおける重要なキーワードである「テストの自動化」について、WebブラウザやAPIレベルのエンドツーエンドテスト(E2Eテスト、この連載でのテスト自動化は主にE2Eテストの自動化を指しています)が求められる時代背景から、戦略や戦術、組織づくり、ノーコード・SaaS型のAIを活用したテスト自動化サービスの進化と具体的な実装、ベストプラクティスを解説します。第1回は、アジャイル開発やDevOpsが当たり前になった時代において求められるテストや品質について、時代背景を追っていきます。

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

はじめに

 技術の進化とともに開発スピードは格段に上がり、システムはより複雑になり、求められる品質も高まっています。アジャイル開発やDevOpsという言葉が一般的になった今、これまで幾度となく議論されてきた「スピードと品質」の問題は、トレードオフではなく、「両者をどう実現するか」に前進したのではないでしょうか。

 アジャイル開発・DevOps時代において、そうしたテストや品質のあり方を考えるために「アジャイルテスティング」という言葉がキーワードになります。言い換えるならば、「アジャイル開発におけるテスト、品質、QAエンジニア、テスターのあり方」とも言えます。アジャイルテスティングにはいろいろな流派があるようなので、ここでは「アジャイル開発をうまく支えるためのテストや品質保証のアプローチ」としています(参考:アジャイルテスティング問答 - 千里霧中)。

 また、アジャイルテスティングはプロセスや方法論ではなく、テストや品質に関わるエンジニアのマインドセットやチーム文化、本質的な価値や原則と言えます。よって、具体的なプラクティスが定義されているわけではないので、関連する文献を読むだけではマインドセットや精神論で行き詰まってしまう可能性があります。筆者も何をすればいいかよくわからなかったので、より具体的な実践方法がないかを今も探し続けています。

 しかし、アジャイルテスティングが、スピードと品質を両立するための重要なキーワードであることは間違いないでしょう。その中でも特に「テスト自動化」は中心的なプラクティスになりつつあります。

 この連載では、テスト自動化の時代背景からはじまり、テスト自動化の戦略や戦術、具体的な実装方法まで幅広く扱います。そして、「これを読んだらとりあえず最近のテスト自動化がだいたいわかる」レベルを目指し、皆さんをスピードと品質を両立させるアジャイルテスティングの世界へとお連れします。

 それでは、アジャイルテスティングの旅をはじめましょう!

想定する読者

  • アジャイルテスティングをはじめたい・理解したい・実現したい方
  • テスト自動化をはじめたい・理解したい・実現したい方
  • ソフトウェア開発に関わるすべての方々

 テスト自動化は手段でしかありません。よって、テスト自動化によって実現するアジャイルテスティングの理解が重要になります。今回はテスト自動化に焦点を当てていますが、アジャイルテスティングの実現にはそれ以外の要素も必要です。この連載ではいくつかのポイントのみ簡単に触れます。

アジャイル開発・DevOps時代のテストと品質

 なぜ今テスト自動化が重要なのでしょうか?

 従来型の開発であれば、要件を定義し、設計・開発を行い、テストを行ってリリースする形が一般的でした。作るものが決まっていた時代であれば、このやりかたはとても効率的です。

 しかし、何を作ればいいかわからなかったり(ユーザーが本当に欲しいものを作るのは至難の業です)、リリース後にビジネスを育てていかなければならなかったりする場合だと、従来型の開発方法はリードタイムが長く、作ってはみたけれど「誰にも使われなかった……」となってしまう可能性があります。

 最近では当たり前のように使われている「アジャイル開発」や「DevOps」は、どちらも直線型の開発ではなく、開発と運用を繰り返しながら、漸進的に繰り返し開発をすすめる手法です。

 これらによって小さくリリースし、ユーザーのフィードバックを受け取りながら、サービスやシステムを徐々に大きく育てていきます。何を作ればいいかわからないなら、少しだけ作って、ユーザーに試してもらいながら改善する作戦が有効です。

 スクラムなどのフレームワークの普及により、この10年でアジャイル開発は「当たり前」になってきたように感じます。では、テストや品質はアジャイルになったでしょうか? 開発はアジャイルだけど、テストや品質がウォーターフォール。そういった現場もまだまだ多いのではないかと思います。

 アジャイル開発がテストや品質を置き去りにしてしまっていたとしたら、これからの10年でその遅れを取り戻さなければなりません。

次のページ
アジャイルテスティングとテスト自動化

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
イチからわかる! スピードと品質を両立するための実践E2Eテスト自動化連載記事一覧
この記事の著者

藤原 大(フジハラ ダイ)

 スーパーアジャイルコーチ、エンジニアリングマネージャ、『リーン開発の現場』の翻訳者のひとり。創造的、継続的、持続的なソフトウェア開発の実現に向けて奮闘中。週末に娘と息子とお昼寝しながら世界のビーチや離島を旅する夢を見る。最近はテスト自動化サービス「mabl」の導入を支援中。

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14882 2021/11/02 21:04

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング