この投稿はチームスピリット Advent Calendar 2017 - Adventarの20日目の記事です。
こんにちは、QAチームの生井(id:riririusei99)です。
今年も残すところあと少しになりましたね。
はじめに
QAエンジニアは「テスト」や「品質保証」といった幅が広いテーマに対してリードするエンジニアです。
テストの自動化、テスト設計&テストマネジメント、開発チームのテストを改善していく役割など仕事内容は会社・チームによって異なるかと思います。
そんな中でどういった働き方を期待されているのかは認識にズレがないように把握している必要がありますよね。
今回のテーマはそんなQAエンジニアがチームに参加する前に確認しておくべき項目について、 ソフトウェアテストドキュメントの国際標準であるIEEE829-2008を参考に作ってみましたという内容です。
7つの確認リスト
- 目的
- テストアイテム&スコープ
- アプローチ
- アウトプット
- 参加するまでのタスク
- 役割
- あってはならないこと
1.目的
ここではなぜQAエンジニアが必要なのかを思い切って確認します。
プロダクトへの課題感、期待されていることが聞けるはずです。
目的を聞くことで目指すべき品質目標や今後のテスト計画が立てやすくなります。
どんなことを聞けばいいかわからない場合は、QAエンジニアやソフトウェア品質を大枠で捉えて分解して考えてみると良いかもしれません。
2.プロダクト&スコープ
携わるプロダクトについて現段階でわかっていることを確認します。
具体的にテストして欲しいバージョンや環境、開発フェーズといったことを聞くことで必要なものが見えてきます。
その他、既に十分テストしている機能がある場合など、テストするもの/しないものをわかっている範囲で確認しておきましょう。
3.アプローチ
目的を達成するためにどのような手を打つのかスケジュール、テスト体制などをすり合わせます。
開発スプリントとテストスプリントを別々に用意しテストする場合や、スプリント期間内にテスト期間に設けるなど参加するチームによってそれぞれ変わっていく部分だと考えています。
余裕があれば目的を達成したあとの話も確認できると良いです。(現在はテストの設計がメインだが、テストの自動化にも注力したい。など)
4.アウトプット
テストなどの活動の結果として何をアウトプットとするかあらかじめ決めておきます。
具体的な内容としてテストレポートやインシデントチケットなどが挙げられます。
同時にインプットとして提供してもらえる資料などを確認することも重要です。
テスト計画書やインシデントチケットの項目など、弊社では作成した成果物をなるべく使いまわせることを意識しながら作成しています。
5.参加するまでのタスク
参加するまでに準備しなければいけないタスクを洗い出します。
テストデータの準備や環境準備など、QAエンジニアだけで解決できないものがないか確認しましょう。
6.役割
QAエンジニアしかできない仕事や、開発メンバーに協力してもらう部分を明らかにします。
具体的な例で言うと「インシデントチケットの起票はQAが行い、原因調査などは開発メンバーが行う」ことや、
「大容量テストに向けた設計をQAが行い、データの作成と実施を開発者メンバーに担当する」
といった想定される仕事の中でどの部分でだれが役割を分担するか確認しておきましょう。
7.あってはならないこと
プロダクトにおける「あってはならないこと」などは聞いておくとテストの優先順位や、品質目標を決める助けになります。
今後リスクになりそうな部分について事前に聞いておきましょう。
ここで聞いた内容は当たり前品質における観点材料やリスクベースドテストの分析材料など、様々な場所で再利用ができます。
まとめ
開発チームに参加した時によく聞かれそうな、聞いておけばよかったと思った内容をまとめてみました。
IEEE829はテスト計画書の作成に使われ、テストにおける共通認識を用意するには有用です。また今回確認したチェック項目は時間の経過とともに変わっていくこともあるので定期的に見返してみることも重要だと思います。
QAエンジニアといっても自動化が得意な人、テストのプロセス改善が得意な人などいろんなタイプがいますので、アサインした人、された人の双方の理解が深まる手助けになればうれしいです。