ゼロバンク・デザインファクトリー株式会社(ZDF)の山口です。Application Development Headquarters/Engineering Division1/Backend G1のSETに所属しています。
SETは「Software Engineer in Test」の略で、テスト自動化を行うエンジニアやチームのことです。会社によっては独立したチームはなくQAの一員として活動していたり、SETではない別の呼び方をされていることもあります。また、会社ごとに役割やスコープも異なります。そこで今年度、みんなの銀行のSETとはどのようなチームを目指すのか役割や方針等を定義しました。その内容についてご紹介したいと思います。
これからSETとしてキャリアをスタートされる方やSETの組織構築を任された方、あるいは「SETってどんな仕事?」と疑問を持つ開発エンジニアや人事の方々などに参考になればと思います。
これまでのSET
SETではこれまで、定期リグレッションテスト(※1)の運営・実行とそのテストケースを自動化することをメインで担当してきました。2024年にMagicPodを導入し(※2)担当していた範囲の自動化のスピードが上がったことと、SETのメンバが増えたことで他の領域にも活動範囲を広げられるようになり改めてSETがこれから何に取り組むのか、どのようなチームにしていくのかを定義することにしました。
(※1)定期リグレッションテストでは、現状は障害時に顧客影響の大きい動線をテスト対象とし月に1〜2回実施しています。基本的にモバイル端末や行員画面を操作してのテストを実施しています。
(※2)導入前はAppiumで自動化していましたが、開発者以外でも自動化や実行を行えることを目指し、ノーコードツールを導入しました。
SETの取り組み方針
SETの取り組み方針は以下と定義しました。
SETはSoftware Engineer in Testとあるように、テスト活動を対象に開発スキルを活かした取り組みを行う。ただし、テスト活動は特定のフェーズに留めない。みんなの銀行で工程定義されているUTやITa/ITb、STのみをテストとするのではなく「要件定義中のレビュー」や「実装中/ビルド時のコード解析」、「リリース後のモニタリング」など、品質を上げる活動全てをテスト活動として認識し全体を俯瞰して取り組む。 下記図のようにソフトウェア開発ライフサイクルの各工程でテスト活動を行うことで不具合や欠陥の早期発見を実現し、効率化を行う。(結果としてコスト削減に繋がる。)SETはその仕組み作りや開発プロセスの改善等を行っていく。 |
---|
ポイントは、 活動の対象は単体テストや結合テスト等のテストのみでないというところになります。
要件定義や設計の段階から欠陥の発見を行うシフトレフトの考え方に加え、リリース後も実際の利用状況を踏まえたモニタリングや分析、本番環境での動作検証等を行うシフトライトの考え方も含め、SDLCの各フェーズでテストを行うことで全体として品質向上や効率化を行っていきたいと考えています。シフトレフトにおいては、AIやLLM(MCP)を活用した自動化や、開発への組み込みも視野に入れています。
SETの立ち位置
SETの立ち位置は以下と定義しました。
ソフトウェアの品質に関する専門性とソフトウェアエンジニアとしての開発やDevQAOpsの専門性を併せ持ち、プロダクト開発に関わる全チームとの連携を活かして品質と効率を高める独立したチーム。 ※ 独立はするが、コミュニケーションを重要視し、グループやチーム関係なく頼ってもらえるような存在となる。 |
---|
みんなの銀行には本記事を執筆している2025年4月時点、品質専門のチーム(QC、QA)や自動化・効率化観点ではDevOps、SREエンジニアがそれぞれ活動しています。SETが今回の定義で定めた役割に基づき活動するにあたって、各チームの担当領域と重複する部分も多いと考えられるため、コミュニケーションをとりながらSETとして積極的に貢献できる部分を明確化し、各チームと連携して取り組んでいきます。
SETの役割
SETの役割は以下と定義しました。
・不具合や欠陥の早期発見が可能な仕組み作りを支援し、プロダクトチームが開発に集中して速度と品質を向上できるようにする。 ・すべてのエンジニアがプロダクト開発と品質の両方に責任と当事者意識を持って取り組める組織文化を築く。 ※「不具合や欠陥」はコードの誤りのみでなく、要件定義の誤り、設計書のミス等も含まれる。 |
---|
2つ目の記載について、SETがテストコードの全てを担当するのではなく、実際にテストコードを書くのはエンジニアで、SETはその仕組み作りをメインの業務とするという役割分担を考えています。SETは「SETの立ち位置」に記載の通り、開発スキルとQAの知識を持った集団のため、第三者目線ではなくエンジニアに寄り添って活動していきたいと考えています。
今後の展望
これまでは、冒頭に記載した定期リグレッションテスト関連の作業がメインで、他チームとの連携はあるもののチーム内で閉じる作業も多かったように思います。今回のSETの定義を実現するためには、これまで以上に他チームとの連携やコミュニケーションが重要になってくると考えています。SETのMVVのValueとして「プロダクト全体に責任をもつ」「相手の目線に立って価値を届ける」「現状にとらわれず、新しいものを取り入れる」を掲げています。この行動指針を忘れず、より良いサービスをお客さまに提供できるよう、他チームと連携し仕組み作りを行い貢献できればと思います。
具体的な活動についての内容や成果についてはまた別の記事でご紹介したいと思います。
用語
MagicPod
ソフトウェアテストの自動化に特化した株式会社MagicPodが提供するサービス。ノーコードでWebアプリ・モバイルアプリのテストを作成可能。
SDLC
ソフトウェア開発ライフサイクル(Software Development Life Cycle)
UT
単体テスト(Unit Test)
ITa/ITb
結合テスト(Integration Test)
ST
システムテスト(System Test)
QA
品質保証(Quality Assurance)
QC
品質管理(Quality Control)
SRE
サイト信頼性エンジニアリング(Site Reliability Engineering)
MVV
Mission・Vision・Value