2024年の開発振り返り
はじめに
CTOの小林です。
この記事では 今年技術組織で行った変化の中から自分が関わった仕事をいくつかピックアップして紹介していきたいと思います。
APIを一般公開する挑戦
自分が関わった中では大きかったのが3月にリリースしたREST APIの一般公開です。APIドキュメントのホスティングにはApidogを利用しています。
国内プレーヤーの中では予約までできるAPIは珍しいので、APIを利用して新しいサービスを作っていただけると嬉しいです。
API仕様に関しては、Zodを利用して生成されたschemaを利用してApidogに表示しています。
初めは使ってくれる人がいるのか不安もありましたが、さまざまなユーザー様にご利用いただき公開して良かったなと今では感じています。
ZodのSchema
export const schemaBookingReadPublicItem = z.object({
uid: z.string().describe('Unique identifier for this booking'),
eventTypeId: z
.string()
.nullable()
.describe('EventTypeId associated with this event'),
name: z.string().describe('Booking name'),
description: z.string().nullable().describe('Booking description'),
status: StatusTextEnum.describe('Booking status'),
startedAt: z
.string()
.datetime({ offset: true })
.describe(
'The time that event was scheduled to start in UTC time (e.g. "2024-03-01T20:00:00.000Z").',
),
endedAt: z
.string()
.datetime({ offset: true })
.describe(
'The time that event was scheduled to end in UTC time (e.g. "2024-03-01T21:00:00.000Z").',
),
...
});
Apidogの表示
QAチームの発足
恥ずかしならが、これまではQAメンバーによる手動テストしか実施できていなかったのですが、新機能を高速にデリバリしていく中で、ユニットテストは存在していてもデグレが発生する問題が多くなっていきました。
そのため、QAメンバーによる手動テストはゼロにはできないまでも最低限のテストは自動化するためにQA自動化を検討しました。
playwrightの導入
最初はAutifyやMagicPodなどのSaaSを検討していたのですが、QAメンバーがJavasvriptのテストコード書けるためPlaywrightを導入しました。
全てのリリース前にGithub ActionsからE2Eテストを実施するようにしています。
また過去に発生したバグを再発しないようにテストケースを増やしていくようにしています。
手動テストがなくなる事はないですが、自動化できるものはPlaywrightで自動化していくようにしています。
Apidogテストの導入
APIを公開するとなるとQAメンバーの手動テストでQAを実施するのは厳しいです。そのためAPIはユニットテストだけではなく、予約->リスケジュール->キャンセルといった一連のユーザーストーリーをテストするようにしています。
詳細はこちらの記事を参照ください。
Apidogのテストの場合、テストの作成もQAメンバーがGUIから作成できるのも非常にありがたい機能です。
まとめ
新しい機能の開発もガンガン行っていくチームですが、品質も担保して更なる成長を目指す基盤が作れた1年だったと思います。
一緒に開発してくれるメンバーを募集
Jicooはエンジニアを積極採用中ですので、新しい技術を積極的に投資をしていく環境に興味がある方、サービスを企画からガシガシ作っていきたい方は是非ご応募をお願いします!
エンジニア職の話を聞いてみたいという方はこちらからご応募ください。
Discussion