Slide 1

Slide 1 text

  10分でわかる Sofware Engineer in Quality(SEQ)チーム 2022.9.28 freee株式会社

Slide 2

Slide 2 text

2 01 freeeのQA組織について Section

Slide 3

Slide 3 text

3 QA部 QAチーム SEQチーム 横断で基盤を開発 ・自動テスト基盤の  開発・運用 ・テスト環境の開発 ・CI/CD プロダクト別で担当 ・品質可視化・課題特定 ・リスク管理 ・テスト設計/実行 freeeのQA組織 freeeのQA組織は、QAチームとSofware Engineer in Quality(通称SEQ)チームで構成され ています。

Slide 4

Slide 4 text

4 マジ価値を継続的に届け続けるために 「当たり前品質の高速フィードバック」を実現したい QAの未来 仮説定義 課題整理 設計 実装 テスト コード レビュー リリース 効果測定 振り返り QA テスト フィードバック
 フィードバック
 フィードバック
 フィードバック
 QAテストもフィー ドバックの一つ


Slide 5

Slide 5 text

5 02 SEQチームについて Section

Slide 6

Slide 6 text

6 SEQのミッション ● 仕様設計・コーディングしているそばからフィードバックをおこなえる世界を実現する。 ○ そのために、開発における高速フィードバックサイクル基盤を開発・運用する これにより、下記の実現を目指します。 ● お客様がより改善されたサービスを享受できる状況 ● 不具合を開発のなるべく早い段階から低コストで発見し、無駄なく、効果的に 開発をおこなえる状況

Slide 7

Slide 7 text

7 SEQのビジョン(~2,3年後まで) 「freeeにおけるテストは、自動テストが基本である」状態を実現する SEQのビジョンの背景 ● 現状QAの業務の大半が手動テストとなっている ● その中でも、リグレッションテストが多くの時間を占めている

Slide 8

Slide 8 text

8 https://speakerdeck.com/teyamagu/reason-for-developing-and-operating-code-based-automated-e2e-testing ・シナリオ数:600シナリオくらい ・月実行回数:のべ25000ファイルくらい(1ファイル2ー3シナリオ)(テスト環境に限定して) ・利用目的:主には、高頻度に発生するリリース前や大きめの機能追加時のリグレッションテストを遅滞なくおこなう ・実行維持コスト:各開発チームで基本おこなっているので正確ではないですが、          全サービス分合わせても毎日1人が対応したら十分維持できる程度 現状の自動テスト(例:freeeのWEBの全サービスでのE2Eテストの規模感) 2020 2019 (10月〜) 2021 2022 10万 20万 30万 テスト環境での年間実行回数 10/20-12/31の 実績から推定

Slide 9

Slide 9 text

9 サービスの進化に自動テストが追いついておらず、デグレが発生するリスクが増えてきている ● 自動E2Eテストスキルが特定の人に依存している => 一番テストをコントロールできる QAが自動E2Eテストを運用できるようにしたい ● サービスをテスト環境にデプロイしなければ自動 E2Eテストでの確認ができないため、自動 E2Eテストの作成、運用がおこな いにくい => どこでも自動E2Eテストを実行できるようにしたい ● E2Eテスト以外の自動テストへのアプローチがまだできていない => APIテストやアクセシビリティテストも自動化していきたい テスト環境の不足 ● 数台のインテグレーション環境とステージング環境のみ ● テストデータが環境依存となることや、時々消去を必要とする ● テスト環境の不足により、実施待ちや確認をスキップしたことによる手戻りなどが発生している => ポータブルなテスト環境を当たり前にしたい SEQが直近取り組んでいる課題

Slide 10

Slide 10 text

様々なバックグラウンドを持つメンバーが活躍中 チームメンバー Niさん 経歴:リコーでの新規サービス開発 を経て、freeeで人事労務開発を担 当 → QAに転向、その後SEQの立 ち上げ Yさん 経歴:日立の研究所、ヤフーでの自 動テスト黒帯を経て、 freeeへ Sさん 経歴:ヤフーでの開発から freeeへ。 プロジェクト管理開発を担当 →SEQ へ転向 ● アプリエンジニア出身が多く、チームとしてインフラ開発力の強化が課題 ● このほか業務委託やアルバイトのメンバーが数名 Naさん 経歴:高専→大学院そして新卒で SEQへ。社会人1年目

Slide 11

Slide 11 text

11 ● 言語:Ruby, JavaScript(TypeScript) ● 自動テスト:Postman, Ruby x Capybara x Selenium, Applitools, mabl ● インフラ:AWS,Kubernetes,Docker,Jenkins,CircleCI, Github Actions ● その他:GitHub,Kibela,JIRA,Slack,Workplace by Facebook ● テスト管理:TestRail 開発に使っている主なツール

Slide 12

Slide 12 text

スモールビジネスを、世界の主役に。