QA専門ベンダーとの協業
このアプリの開発において、QA専門ベンダーとの協業により得られる利点を検証しました。 以下に、その検証により得られた知見や課題を紹介します。
モバイルアプリ開発において、QA専門のベンダーと協業する理由
狙い
モバイルアプリのテストは、デバイスの多様性、モバイル環境の制約、プラットフォームの継続的な変化などにより、Webアプリよりも複雑で時間を要する場合があります。 このような課題に対して、QA専門のベンダーとの協業が1つの解決策として挙げられます。
QA専門のベンダーと協業する理由は、品質保証やテストに関する専門知識や経験を持つ専門家がアプリの品質向上に協力することで、次に上げる効果が期待できるからです。
- ユーザエクスペリエンスの向上
- バグの削減
- 開発スピードの加速
メリット
1.専門知識と経験の活用
QA専門ベンダーは、アプリの品質保証やテストに関する専門知識と経験を持っており、開発エンジニアが見落とすことのある問題を発見し、解決できます。
2.スピードと効率性
QA専門ベンダーは、テスト自動化やスクリプト化されたテストケースを使用することで、迅速にテストを実施できます。 開発エンジニアは、QAプロセスに専念することなく、アプリの機能追加や改善に注力できます。
3.コスト削減
テストや品質保証に必要なリソースを専門的に提供することにより、開発エンジニアはコストを削減できます。 また、QA専門ベンダーが見つけた問題は、より迅速に特定・修正でき、長期的にはコスト削減につながります。
またQA専門ベンダーは、アプリのテストに必要な環境やデバイス、プラットフォームを提供できます。 多様なデバイスを用意できるため、プロジェクト毎のデバイス購入を代替できます。
注意点
1.適切なQA専門ベンダーの選択
開発エンジニアは、QA専門ベンダーを選ぶ際に、信頼性や評判、スキルセット、コミュニケーションスキル、セキュリティ対策などを考慮する必要があります。
2.契約やサービスレベル契約の確認
QA専門ベンダーとの契約やサービスレベル契約には、品質保証やテストに関する規定が含まれているため、開発エンジニアはこれらの契約を十分に確認する必要があります。
協業に期待する役割を明確にし、要員のスキルセットのアンマッチが発生しないように注意します。
注意すべき点として、以下のような点が挙げられます。
- QAエンジニアは開発エンジニアとは異なり、ソースコードを読み解くスキルに長けているとは限りません。 そのため、ホワイトボックステストにおけるソースコードの網羅性確認は、開発エンジニアに委ねられます。
- QAエンジニアのスキルによっては、テストデータの準備に時間を要するため、開発エンジニア側のタスクとなる場合があります。
- QAエンジニアのスキルによっては、作業マニュアルの作成は可能ですが、設計書の作成は難しいです。
- QAエンジニアは、主にブラックボックステストを中心とした作業が多いです。 要件定義や設計工程が滞る場合に、状況によっては作業が空いてしまうことがあります。
今回のプロジェクトにおいても、上記にあげる認識の相違がテスト計画時に発覚しました。 テスト計画時点で十分なすり合わせを行うことが大切です。
3.テスト戦略の定義
開発エンジニアは、QA専門ベンダーと協力する前に、テスト戦略を定義する必要があります。 テスト戦略を定義するプロセスにおいて、テストの範囲や優先順位などを明確に定義していきます。 このプロセスを開発エンジニア、QA専門ベンダーとの間でどちらがリードし意思決定を行うかの役割分担を事前に明確化します。
そして、テスト観点やテスト項目の決定を共有することが重要です。
4.コミュニケーションの重要性
開発エンジニアとQA専門ベンダーのコミュニケーションは、品質保証やテストの成果に大きく影響します。 両者の間で常に適切なコミュニケーションを確保することが重要です。
例えば、QAエンジニアは、テスト仕様書を作成するために開発エンジニアより仕様の説明を受ける必要があります。 この説明には十分な時間を割く必要があります。 スケジュール管理を重視し、QA専門のベンダーとの協業スケジュールを考慮に入れることが重要です。
5.互換性とテスト環境
QA専門ベンダーは、アプリのテストに必要な環境やデバイス、プラットフォームを提供できますが、開発エンジニアはそれらの互換性を考慮する必要があります。
QA専門ベンダーとの協業で作成したテスト計画書
QA専門ベンダーとの協業で作成したテスト計画書をこちらで公開しております。 次のリンクから参照、ダウンロードしてください。