of Quality About Me KyashでSoftware Engineer in Test (QA) とし て開発業務も担当しています。Backend (SWE)を行 いながら、組織に品質文化を浸透させる役割も担ってい ます。 好きなGo Package はreflectです Go Gopher by Renée French is licensed under CC BY 3.0.
of Quality スポットマネーは、Kyashだけでは実現できない機能です。共創モデルのプロダクトとして発足 し、GeNiE様のシステムとAPI連携しながら与信プロダクトを構築しています。そのため、海外で 開発している社外の開発メンバーと機能や仕様を共有しながら共同開発を進めています。 仕様理解やInterface Test b (ITb)やUser Acceptance Test (UAT)を密に進めなけれ ばならず、また、与信プロダクトという特性上、不具合はできる最小限に抑えたいため、ソフトウェ ア品質にこだわっています。 X
Quality チームでPostmanのテストスクリプトを導入しようと提案した思いは、「自信を持ってコードを書く」ことに尽きます。毎 週、GeNiE様と定例を開いてもらっていますが、それでも認識の乖離や齟齬が生まれてしまいます。結果的に、少しのズレ が手戻りの原因となり、最悪の場合、不具合が表出してしまいます。 Code with Confidence 16 “I don’t write code without tests.” — Kent Beck Tests are not merely tools for verification; they are an essential part of design, guiding development while ensuring the code’s quality and maintainability. ※ 出典: Test Driven Development: By Example(https://www.amazon.co.jp/dp/B0CW1JBTHM) テストは単なる検証手段ではなく、設計の一部であり、コード品質と保守性を高める重要な手段です
of Quality https://unionsep.hatenablog.com/entry/2024/12/16/120000 スポットマネーの開発関係者は大まかに右の図のような構成になっています。私は Kyash APIの開発を担当しています。 API API mobile team backend team genie team backend teamはGeNiE様のAPIチームと社内のmobile teamに挟まれている形になります。 この編成の課題は、GeNiE APIがある程度完成しないとKyash APIはテストできないし、mobile teamはKyash APIが完成し ないとテストできないことです。 QA視点では、すべてのチームの開発がある程度完了しないとテ スト実行することも動作確認することもできません。 The Start Point
of Quality 環境変数によってinterfaceの実装を切り替える テストしやすい環境にするため、backend teamが一肌脱いでStub を構築しました。mobile teamはテストしやすくなったものの、Stub はプロダクションコードの実装を経由しないため、backend teamは 保守するコードが2倍になり、負荷が増大しました。 API Stub API 完成していなくても Mobileに影響しない! mobile team backend team genie team Stub Stubの課題は、backend teamの負荷が増大する にも関わらず、プロダクションコードを経由しないた め、精度の高いテストができない点にあります。
of Quality Postman mock serverを利用して、プロダクションコードを経由してリクエストする Mock APIにリクエストするエンドポイントのみを環境変数から切り替 え、プロダクションコードを経由してGeNiEシステムやKyash APIを 模したmockにリクエストします。そのため、プロダクションコードは増 えません。 プロダクションコードが完成していなくても、レスポンスを返すことがで きるため、各チームの開発完成をまたずに自チームの開発やテストを進 めることができます。 特別なデータやタイミングを必要とするリクエストもmock serverで 再現できるので、プロダクションコードのテストが強化されます。 API Mock API API 完成していなくても Mobileに影響しない! mobile team backend team genie team Mock API エッジケースや5xxを 再現! mock server プロダクションコードが増加しないにも関わらず、精度の高い テストを実行することができます。 Stub