開発および品質エンジニアリング
製品開発(Dev)
Coupaの一流のエンジニアチームは、その分野で極めて優秀な人材で構成されており、シリコンバレー中心部のサンマテオにあるCoupaの開発センターを拠点としています。CoupaのDevチームやエンジニアリングチームは、製品管理(PM)による設計を採用し、多くの技術を構築しています。
製品または機能の開発の準備が整うと、Coupaではスクラム/スプリント反復手法を使用したアジャイルソフトウェア開発プロセスに従います。
Coupaのソフトウェア開発ライフサイクルの根底にあるのは、各製品リリースの開発を容易にするプロジェクト管理手法であるタイムボックスです。Coupaでは、タイムボックスには通常3〜5回のスプリントサイクル、つまり開発サイクルユニットが含まれ、それぞれ2週間継続します。タイムボックスは、各スプリントサイクル中に特定の製品機能と機能強化の構築に時間と労力が費やされると見込むことで、継続的な製品開発を促進します。
製品リリースのサイクルごとに、Coupaの開発チームは新しい機能と拡張機能を構築することに重点的に取り組みます。各スプリントサイクル中にこれらの新しい製品機能のどのサブセットを開発するかを決定するために、スプリント計画会議が開かれます。製品機能の開発が完了すると、品質エンジニアリング(QE)チームがテストします。
品質エンジニアリング(QE)
コードを稼働する前に、高レベルの品質と顧客満足を保証するため、CoupaのQEチームによる厳密なテストが行われます。
CoupaのQEチームは、一連のテストスクリプトを使用して、各スプリントサイクル中に開発されたコードをテストします。重要な機能については、複数の自動ユニットテストやSeleniumスクリプトによるテストも行われます。バグまたは問題が特定された場合、チケットが生成されて開発チームに返送されるため、必要な修復を行うことができます。
QEテストは、開発プロセスとスプリントサイクル全体で行われています。製品リリースを対象とした機能のためのすべてのコードが開発されたら、QEチームは完全なアプリケーションテストを実行します。Coupaアプリケーションは、新しい製品の機能と拡張機能がCoupaの本番システムに展開され、お客さまが利用できるようにリリースされる前に、すべてのテストシナリオを正常に実行する必要があります。
リリーステスト
Coupaは、年3回のリリースと隔週のアップデートを提供するために、製品に組み込まれる個々のコード変更の一環として驚くほど大量のテストを行っています。テストのレベルに関する洞察をご紹介します。高品質のリリースプロセスに対するCoupaの取り組みをご確認いただけます。
タイプ | Coupaのテストの精度 |
---|---|
メジャーリリース | Coupaに組み込まれるすべてのコード行に対して数万のテストを実行します。これらのテストは1日に数百回実行され、次の4つのカテゴリに分類されます。
|
メンテナンスアップデート | メジャーリリースと同じ開発者ユニットテストを実行します。また、すべてのブラウザの自動化回帰テスト、およびフラットファイルインテグレーションテストも実行します。最後に、メンテナンスアップデートに含まれるすべてのバグ修正を手動で確認します。 |
日次更新 | すべての 自動化されたテストを日次更新の一環として実行します。これには、開発者ユニットテスト、回帰テスト、インテグレーションテスト、エンドツーエンドのシナリオに関する自動化されたテストが含まれます。さらに、日次更新の原因となった問題が解決されたことを手動で確認します。 |
更新後のテスト | すべてのテストに加えて、ソフトウェア開発プロセスの一環として行います。また、リリースプロセスの一環として、お客さまの一連のサンドボックスと本番インスタンス全体でコンポーネントを検証する自動テストも行います。 |