はじめに
ANDPADのiOSアプリの開発を担当しているzigeninです。 機能追加や不具合修正のかたわら、モバイルアプリのテスト基盤の整備やテストコードの追加をしています。 今月から、社内でテスト勉強会を始めてみました。
経緯
最近、Octでは、サーバサイド、モバイルアプリで、 自動テストを充実させていく活動が活発になっています。
ただ、自動テストをするといっても、 自動テストは品質保証の銀の弾丸ではありませんし、 闇雲にテストコードを増やしても効果は小さいです(却って負債にもなりかねません)。
ですので、単に自動テストのことだけを学ぶのではなく、 自動テストの限界、様々なテスト技法も含めて学ぶことが重要と考えました。
テスト関連の技術顧問として来て頂いているDeNAのSWETの平田さんにお願いし、 勉強会を開催して頂くことにしました。
勉強会の当日について
初回は「テストの重要性」「テストとは」、といったそもそも論がテーマでしたので、 5〜6名くらしいか集まらないと思っていたのですが、意外にも20名以上集まりました。 エンジニアだけでなく、カスタマーサクセスの方なども参加して頂けたことも意外でした。 ※紛らわしいですが、画像の左側のディスプレイ手前の方が講師の平田さんです。
今回の内容で印象深かったのは、テストの分類です。
- Verification
- 仕様書のとおりにソフトウェアが作成されているかを確認すること
- Validation
- ユーザーの要求どおりにソフトウェアが作成されているかを確認すること
QA系でないエンジニアにとってのテストは、VerificationであってValidationではないと思います。 ただ、仕様どおりに動けば品質が良いという訳ではありませんので、Validationの考えはとても重要だと思いました。
現状のOctでは、QA専門の社員がいないこともあって、 Validationという観点のテストはあまりできていない印象です。 (筆者がValidationという観点のテストをしていないだけで、他の方々はテストできているのかもしれません)
最後に
思っていたよりも社内で需要がありそうでしたので、 勉強会は隔週〜毎月感覚で継続して実施することにしました。
この勉強会によって、プロダクトの品質保証を支援できればと思っています。
後、上にも述べましたがOctではQA専門の社員がいません。 そのため、QAの領域が弱く感じることがあります。 0からQAの体制を立ち上げてみたいという方がいましたら、一緒に働けると嬉しいです。