GAME CREATORS CONFERENCE '20の講演資料です。 動画のURL:https://youtu.be/jTIIeKKM68Q 『「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて』 株式会社セガ 第1事業部 阪上直樹
GAME CREATORS CONFERENCE '20の講演資料です。 動画のURL:https://youtu.be/jTIIeKKM68Q 『「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて』 株式会社セガ 第1事業部 阪上直樹
改善戦略 実行のタイミングやGitHubの状況や依存サーバーのネットワークの状況によって変動はあるものの、早くて7分、だいたい10分〜15分くらいかかっている。早いか遅いかは、他の開発と比べても内容や状況が違うのでなんとも言い難いが、個人的な感想としては「遅い」。というより、一切の工夫をしていなかったので、もっと早くできるはずだと考えた。 ビルドされたファイルを複数の環境で共有する 処理全体の中で時間がかかっている処理は3つ。 依存パッケージのインストール ビルド テスト さらに、課題の一つとして「テスト実行時に開発用依存パッケージ(devDependencies)がインストールされているせいでテストが失敗しない問題がある」というものがあり、これを処理に追加しないといけない。 開発用依存パッケージのインストール ビルド 依存パッケージを一旦すべて削除 本番用依存パッケージのインストール テ
こんにちは!コドモン開発部の加藤です。 すっかり暑くなってきましたね。我が家では猫が換毛期を迎えて、家中毛だらけになりながらも日々なんとか暑さを乗り切っています。 最近コドモンでt_wadaさんにレガシーコード改善ワークショップを行っていただきました。 今回はそのワークショップの様子についてレポートしていきます! レガシーコード改善ワークショップの概要 t_wadaさんの紹介 ワークショップの目的と内容 目的 1.午前の部 2.午後の部 ワークショップ中のハイライト 午前の部 活発な実況チャンネル🗣️ テストを書いただけでは設計はよくならない、を実感する😬 質問コーナーではE2E肥大化の課題に注目が集まる👀 午後の部 最初のテスト作成をライブコーディングで学ぶ💪 実践を始めると意外と手が動かない……🥺 人が1on1を受けている姿をみられるの貴重👏 まとめ レガシーコード改善ワー
技術本部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテストについての記事です。 データフレームのテストをどう書くか データが中心となるサービスのネックになるのが テストをどう書くか です。というのも、データフレームは行×列の構造になっているため、入力あるいは出力値がデータフレームになるような関数が多いプログラムでは、テストケースを書くのが非常に面倒です。仕様の変更があった場合、それぞれのテスト用の疑似データに修正を加えることを考えると、より簡潔にデータフレームのバリデーションをする方法が欲しいところです。実は、データフレームのテストはProperty Based Testingという考え方と
この記事は Merpay Tech Openness Month 2022 の15日目の記事です。 はじめに こんにちは。Credit Design Teamでバックエンドエンジニアをしている@tanaka0325です。主にメルペイスマート払いの開発をしています。 この記事では、先日私のチームで作成したユニットテストのガイドラインについて紹介します。 課題 現在私が担当している「メルペイスマート払い」のマイクロサービスは、もともと「メルカリ月イチ払い」として提供されていたコードを流用し、新規要件となる機能を追加して作られたマイクロサービスです。 マイクロサービス化するにあたり、「メルカリ月イチ払い」にあったデータはマイクロサービスリリース後に随時マイグレーションをする方針になったので、既存のデータをマイグレーションしつつ、定額払いなどの新規機能を追加してきました。メルペイスマート払いのマイ
はじめに 現代の開発では、自動テストコードは必須です。しかし、そのテストコードの設計については伝えづらいと感じています。この記事では、自分が何に着目してテストコードを書くか、どのようなテストコードを書いて、どのようなテストコードを書かないかについて記載します。 前提条件、あるいは書かないこと この記事では自分の経験に基づいており、次の点に依存した記事になっています。 コードレビューが行えるチーム開発 Python + Djangoによる開発 静的型付け言語など、当てはまらないこともあると思います。 機能テストのみ 逆に言えばE2Eテストや非機能テストなどは除きます。 この記事では次のことについては基本的に書きません。 テストコードの実際の書き方 「テストを通すこと」を目的としない 当たり前すぎて言うまでもありませんが、「テストを通すこと」を目的としてはいけません。テストが通らないならテスト
はじめにこんにちは、TIG/DXユニット所属の宮永です。 今回はAWS Step Functionsの動的並列処理をローカルで実行する方法をハンズオン形式でまとめました。ソースコードはこちらに格納していますのでご参考にして下さい。 https://github.com/orangekame3/stepfunctions-demo 本記事はPipenv+LocalStackで作るLambda開発環境で作成したLambda関数をベースに実装しています。本記事の実装に取り組まれる方はこちらの記事が参考になると思います。 Step FunctionsとはStep FunctionsとはAWSの各種リソースをオーケストレーションするサービスです。 類似のサービスにAirflow等があります。AirflowとStep Functionsの比較をした多賀さんの記事はとても読み応えたあるのでぜひご覧くださ
この記事はGo1.18連載の3記事目です。 伊藤真彦です、最近CSIGのVulsチームで働くようになりました。 crypto/elliptic (CVE-2022-23806)、math/big (CVE-2022-23772)、cmd/go (CVE-2022-23773)へのセキュリティFixを含むGo 1.17.7と1.16.14が先日リリースされました。急にセキュリティエンジニアっぽい事を言うようになるのは恐縮ですが忘れずアップデートしていきましょう。 脇道に逸れましたがこの記事ではFuzzingについて紹介します。 Go1.18から追加されたFuzzingとはGo1.18からFuzzingという機能が追加されます、Genericsのインパクトが大きいですが、Go1.18ではこういった大きな変更も加わっています。 機能追加に伴いランディングページが作成されました、リリースノートでf
Skip to the content. List of resources on testing distributed systems curated by Andrey Satarin (@asatarin). If you are interested in my other stuff, check out talks page. For any questions or suggestions you can reach out to me on Twitter (@asatarin), Mastodon (https://discuss.systems/@asatarin) or LinkedIn. Table of Contents Overview of Testing Approaches Research Papers Bugs Testing Fault Toler
K8sアプリ(=Kubernetes上で動くことを前提としたアプリケーション)のEnd-to-Endテスト(=E2Eテスト)をCIの無料枠で実行する方法を説明します。 テストツールの列挙 まずはK8sアプリケーションのテストに使うツールを列挙します。 代表的には次のような選択肢があります。 fake: client-goのモッククライアント。admission機構が無いなど、本物とは挙動が異なる点も多い envtest: controller-runtimeのインテグレーションパッケージ。kube-apiserverとetcdを実際に建てる。APIリソース操作で十分に試験項目を網羅できるなら便利。 kind: dockerベースのスタンドアローンK8s。マルチノードをサポートしている。K8sの下回りに依存しないアプリケーションなら基本的にこれで問題なし。 本物のK8s: コスト大だがどうし
こんにちは。SRE の @int128 です。 先日の「負荷試験、Gatling を使ってやってみた」で紹介したように、スタディサプリではユーザ体験の改善や本番障害の予防を目的に負荷試験を行っています。 本稿では、SRE と Product Team がどのようにして一緒に負荷試験に取り組んでいるか、考え方や仕組みを紹介します。 背景 SRE では新しいマイクロサービスの開発や機能追加の契機で Production Readiness Check を行っています。 具体的には、Product Team がテンプレートにしたがって Production Readiness Checklist を記入して、SRE と一緒にレビューを行っています。 その際に、トラフィックが多い、あるいは、レイテンシが厳しい、といったリスクがある場合に負荷試験を行うことにしています。 負荷試験は以下の流れで実施し
Prologue こんにちは、 @dz_ こと、大平かづみです。 今回はこのブログ記事 "5 automations every developer should be running" が気になったので、ちゃんと読むついでに要約してみました。(ブログ駆動) なお、英語の能力は高くないので、誤訳などありましたらご連絡いただけたらうれしいです🙇🏻♀️ 要約: "5 automations every developer should be running" TL;DR: セキュリティ脆弱性との闘いや動かないボタン、遅いサイト、リリースノートを手書きすることを避けたいエンジニアの君に捧ぐ テストを書くことや改善のための自動化を行うことは大事ではあるが、実際のところもっとコードを書いた方が楽しい! さいわいなことに、GitHub Actions ではたくさんのコミュニティで作られたテストや
この記事は NSSOL advent carendar 12/23担当分です。よろしくお願いします。 昨日は研修を運営してみて思ったことでした。 研修対応すると、その後も割と忙しくて、振り返りの時間がちゃんと取れなかったりします。 まとまった現場知見・感想が読めるのって、ありがたいなと思いました。 さて、今回のテーマは、「疑似データ生成」です。 背景:実データの取得は大変 擬似データが使えるかも データ分析やシステム開発のために、実データかそれに近いデータが欲しくなることは多々あります。 ただ、顧客情報や営業秘密といった機微な情報が含まれる場合は、データ取得までに高いハードルがあることが多いです。 結果、試してみたいアイディア/製品/分析手法などの適用ができないこともあるかと思います。 解決策の1つとして、擬似データの利用、が挙げられそうです。参考 実データを入力して、データの形式や統計量
はじめに 対象読者 OPA/Rego/Conftestとは Regoでポリシールールを記述して、ルール自体のテストも記述しながらCIへ組み込んでいくまで Conftest(OPA/Rego)のセットアップ 前提知識: Terraform plan 結果の構造 ConftestでTerrafom resource tag ルールを書いてみる ConftestでRegoで書いたルール自体のテストを書いて、実行してみる Conftestを実行するCIをGithub Actionで整備する Conftest/Regoで書いたポリシールール自体のfmt/verifyのCIの設定 Conftest testでTerraform plan結果をテストするCIの設定 終わりに 参考文献 English Version: dev.to はじめに メリークリスマス。eureka, inc. でSREをやってい
皆さん、新しいプログラミング言語を学ぶ時、どのように学習しているでしょうか? 私は4月に新卒でエンジニアになり、業務でGoを使うことになりました。その際、とりあえず公式チュートリアルであるTour of Goをやりましたが、その後にどうやって学習を進めれば良いか迷ってしまいました。 考えてみると、新しい言語を学ぶ際、毎回学習方法に困っている気がします。ネットでサンプルを探す、動画を見る、書籍を読む、などさまざまな学習方法があると思いますが、私は手を動かしながらいろいろなパターンを学んでいくのが好きです。 そこで今回Goを学ぶ際も、手を動かしてさまざまなコーディングのパターンを学習するために、ネットや書籍でサンプルを探して実践しました。 この学習方法は私にとっては楽しみながら続けることができて、他の言語を学ぶ際も今回実装したサンプルを使って学習しようと考えています! そこで自分と同じ様な悩み
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く