/post_image_58420e11-e88c-4675-9f47-5e493df0e5fa.jpg)
ボドゲーマでは、ユーザーの皆さまにより快適で安全にボドゲーマを利用していただくため、日々システムの開発や改善を行っています。
そんなボドゲーマの開発の実態をよりオープンにすべく、1週間を振り返る「ボドゲーマ開発週報」を公開しています。ご興味のあるかたは、ぜひ御覧ください。
ボドゲーマ開発報告
2021年6月1日(火)~7日(月)のリリース
・[仕様改善] 「ボドゲーマからのお知らせ」の本文に埋め込みURLで画像が表示されるようにしました。
・[仕様改善] オンラインストアの1商品あたりの販売個数上限の調整をしました。
・[不具合修正] モバイル端末でのカフェ/店舗の詳細ページのレイアウトを修正しました。
・[不具合修正] 広告掲載プランご紹介のページに税別表記が残っていたので一律税込に修正しました。
・[機能追加] 運営側の管理機能として、過去の商品販売数を取得する機能を追加しました。
・[機能追加] サマーセールに向けて運営側の管理ページを作成しました。
3点目の不具合修正は、ユーザーの方からのご報告でレイアウトに不備を発見し、修正することができました。運営にご協力いただき、ありがとうございます。何か不具合を見つけましたら、問い合わせフォームよりご報告いただけますと大変ありがたく思います。
エンジニアぷちコラム
/post_image_3bd0c868-df8d-4035-aba1-77cadd44593a.jpg)
今週の担当はあらいです
ボドゲーマの技術紹介(2)
今回はボドゲーマのテストの状況についてご紹介しようと思います。
まず結論を述べると、ボドゲーマがサービス開始された当初は0%だったテストカバレッジが、現在80%までになりました、というお話です。
テストカバレッジとはなんぞや?と思われるかと思うので、順に説明していきます。
Webサービスを開発するときには、当然リリースする前に書いたコードが期待通りに動いてくれているかな?というのを確認します。この確認作業がテストです。ここまでは簡単ですね。
ただしこのテスト、全てを人間が操作して確認するのは大変です。サービスが大きくなっていくと、少しの変更を加えるだけでも、いろいろな機能に影響していないかな?と考える必要があります。
最終的には私達人間が操作して問題ないかを確認しますが、実はこういったテストを自動的に行なってくれる仕組みがあります!
Ruby(前回紹介した、ボドゲーマで利用している言語です!)では、RSpecというRubyのコードをテストするためのツールがよく利用されており、ボドゲーマでもこれを利用しています。
例えばテストのために1000円の商品と2000円の商品が入ったカートをデータとして用意しておき、その状態で注文が確定されたら、商品の合計金額と送料の700円を足した3700円という請求金額が取得できること、といった内容のテストコードを記述しておきます。
このテストを実行したとき、もし送料が計算されない不具合があったとしたら、3700円であってほしい請求金額が3000円となってテストに失敗するため、不具合があったことがすぐにわかり、リリースする前に修正できるのです。
ボドゲーマでは、多くの機能でこういったテストを書き、期待通りに動いてくれることを確認しています。
さて、それではテストカバレッジの話に戻りましょう。
カバレッジとは、日本語では網羅率といいます。つまりテストカバレッジとは、テストの網羅率、実際にボドゲーマを動かしているソースコードのうち、何%がテストされているの?という割合を示しています。
ボドゲーマでは現在テストカバレッジが80%なので、全機能のうちの8割は期待通りに動くことを確認できているということになります。逆に言うと2割はテストできてないの…?と思ってしまうかもしれませんが、この2割というのは、運営が利用している管理機能や、想定外のエラーが発生したときの動きなど、ユーザーの皆様に影響の少ないコードであることがほとんどです。
実は、このテストカバレッジは単に高ければそれでいいという単純な話ではないのですが、低ければその分リリース前に不具合を見つけにくいため、高いに越したことはありません。
サービス開始当初は人手も時間もなく、手動のテストしかできていませんでしたが、現在では自動のテストが行われることで、不具合も減り、よりユーザーの皆さんに役立つ機能を実装する時間を増やすことができているのですね。
最後に
ボドゲーマでは現在Webプログラマーを募集しています。ご興味ある方は以下のWANTEDLY、Greenのページよりご連絡ください。




/picture_a9948938-b910-4250-ba81-001a45298912.jpg)
/picture_a533d496-d613-499a-8d5e-432a9c82a99b.webp)
/picture_3a0d7b1f-398d-45d8-b0b8-901288672858.jpg)
/picture_8b58ef0f-97a8-4c34-ba4e-ad13d80bc0d0.webp)
/picture_6767cb2d-04f3-472d-b338-6dcf5f91f668.jpg)
/picture_a0ec1b13-f93d-42ce-a209-58d20037e12f.jpg)
/noimage_game.png)
/picture_cb32b61b-666f-4d33-9e26-d28d880df706.jpg)
/picture_c80a2ce8-346b-498f-b111-047942af378c.webp)
/picture_3b987e1d-c7f8-441e-858b-9345f52b8a38.jpg)
/picture_0651919b-1a39-4fbd-9aac-ae0182cbda1f.webp)
/picture_aad645c3-ac5b-4f03-b84c-2e368fdfc005.webp)
/picture_42123afe-0d5e-426c-a395-d7d7b131d432.webp)
/picture_2b45a071-a14a-4e1b-b8dd-34ae0f620bf1.webp)
/picture_9872e866-9ea5-4044-902d-b2729c974cfe.webp)
/picture_a427ef3d-7b6f-47b8-85f7-ebb76d9a93bc.jpg)
/picture_3f8a146f-8fbf-4a3f-856e-d1361d704c62.jpg)
/picture_c56edf2c-3f61-478b-8e85-24fc268e2c84.jpg)
/picture_d2713af1-45bb-4f3f-bfcb-3a40d059c061.jpg)
/picture_54e881df-ed6a-4865-8f08-290676842639.jpg)
/picture_223cfea0-36a5-4041-912f-1bf086330158.jpg)
/picture_3a2dc9ac-11d9-4ace-9556-6eb1bf6f180b.jpg)
/picture_aa1601fa-59ef-497c-8510-6ae7e1d530fc.jpg)
/picture_f1858e77-7867-4d37-9b90-67cb9548d22e.jpg)
/picture_868b38ad-f427-40a0-b4d1-645c78fc204b.jpg)
/picture_836d5f4d-8cbd-4c6c-b59f-45d43654e0da.jpg)
/picture_cf725a25-82dd-4dae-bd2f-68755461b0a5.jpg)
/agricola-2.jpg)
/7-wonders3.jpg)
