QAチーム全員が「プログラミング言語基礎」「製品」「テスト手法」を知ってる人になるためのカリキュラム
3. 育成カリキュラムでつくる「知ってる」QAチーム
QAチームの中に、「製品に詳しい人がいるとテストがはかどる、不具合が見つかる」ことはよくある。エンジニアではないけれど、製品を長く使っているので何でも知ってる人がいると頼りになるものだ。だが、ライブラリのテストを考えた場合に、もう少し考えなければならないところがあると村上氏は言う。
ライブラリの品質管理では、UIの操作を通した機能テストに加えて、プログラムして正常に組み込めるかどうか、その確認も一緒に行う必要がある。
「具体的には、APIの入出力が仕様通りか、ライブラリの挙動はベース言語の作法に沿っているかなど。あるいは連動する技術・フレームワーク上などで動かした場合に、しっかり動作しているかについても、QAの中でやっていかなければなりません」(村上氏)
そのため、ライブラリベンダーのQAチームには、ITスキルと製品知識が求められる。同社では、QAチーム全員が「プログラミング言語基礎」「製品」「テスト手法」を知ってる人になるための育成カリキュラムを作り、実践している。
技術に関する育成カリキュラムであれば、プログラム言語の基礎学習、アプリケーション開発・業務システム開発の実践を通じて理解を深めていく。並行して、製品についての理解を深めるために、製品の存在意義やコンセプトの理解、製品機能の理解、開発プロセスなどを学んでもらう。
技術と製品に対する理解が身についたら、最終的にはテストについて深く学んでいく。
「テストの基礎として、世の中にどのようなテストがあるのか。ファンクショナルシンキングという開発者のように製品を考えるメソッドを最初に学んでいただきます。その基礎が固まったら、テストがどういった場面でどのように効率的に働くのか、チーム内でディスカッションしながら理解をさらに深めてもらいます」(村上氏)
実践的な「シナリオ」の活用、手動と自動化の併用で乗り越える大規模テスト、QAチームの人材育成など、さまざまな観点から知見や事例を語ってくれた村上氏。ぜひ、ソフトウェア開発の品質管理に役立ててほしいとメッセージを伝え、セッションをまとめた。