DeNA Testing Blog

https://swet.dena.com/

Make Testing Fun, Smart, and Delighting End-Users

フィード

記事のアイキャッチ画像
CI/CD Test Night #7を開催しました!
DeNA Testing Blog
こんにちは、SWETのCI/CDチームに所属している幸田(@ponkio_o)です。 2024/03/26(火)に弊社オフィス(渋谷スクランブルスクア)とオンラインのハイブリッドで CI/CD Test Night #7 を開催しました。 本記事では、当日の発表スライドを紹介していきます。 参加者の反応 当日の様子はTogetterにまとめを作成しているので こちら からご覧いただけます! 当日の動画 YouTubeにて当日のアーカイブ動画を公開しています。 www.youtube.com 発表紹介 @ponkio_o「業務で役立つ…かもしれない?!GitHub Actions Tips 集」…
1ヶ月前
記事のアイキャッチ画像
CI/CD Test Night #7を開催します!
DeNA Testing Blog
こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETでは、CI/CDに関する知識を共有することを目的として、「CI/CD Test Night」を開催しています。 約1年ぶりに、CI/CD Test Night #7をハイブリッド開催します! 今回のテーマは「CI/CDのプラクティス」についてです。 CI/CDサービスを利用してパイプラインを作成している中で、ふとしたときに「もっと効率の良い方法があるのではないか?」と考えたことはないでしょうか。断言します、私はあります! そこで今回は、 CI/CDに関するプラクティスや関連するツールの活用方法などをメインテーマとし…
2ヶ月前
記事のアイキャッチ画像
Android Test Night #9を開催しました!
DeNA Testing Blog
SWETグループ、23新卒の若松です。 今回、2024/1/31(水)にAndroid Test Night #9をオンライン開催しました! 本記事では、今回の発表のスライドを紹介していきます。あわせて発表内容の動画も公開していますのでご確認いただければ幸いです。 参加者の反応 Android Test Night #9 で盛り上がっている様子に投稿をまとめました。 当日の登壇動画 www.youtube.com 発表スライド紹介 Kento Wakamatsu:「Roomのマイグレーションをテストする方法」 トップバッターは私で「Roomのマイグレーションをテストする方法」の発表でした。 R…
3ヶ月前
記事のアイキャッチ画像
Android Test Night #9を開催します!
DeNA Testing Blog
SWETグループ、23新卒の若松です。 今回、2024/1/31(水)にAndroid Test Night #9をオンライン開催します。2024年最初のAndroid Test Nightになります! 9回目の開催となる今回は、次の方々に登壇していただき、Androidのテスト・CI/CD・静的解析についての知見を共有していただきます。 Kento Wakamatsuさん:Roomのマイグレーションをテストする方法 Sumio Toyamaさん:Roborazzi + Jetpack Composeでスクリーンショットを撮るときに役立つTips集 Saikiさん:ViewModelのUnit…
4ヶ月前
記事のアイキャッチ画像
t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました
DeNA Testing Blog
こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 本記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_…
6ヶ月前
記事のアイキャッチ画像
iOS Test Night #12を開催します!
DeNA Testing Blog
SWETグループ、23新卒の奥瀬です。 今回、2023/10/27(金)にiOS Test Night #12をハイブリット開催します。 実に約4年ぶりの開催となります! iOS Test NightはiOSアプリ開発のテスト・CI/CD・静的解析について技術交流することを目的とした勉強会です。 今回は、次の方々に登壇していただき、iOSアプリ開発についての知見を共有していただきます。 kariad さん:Readable Parameterized Tests 417_72ki さん:iOS開発におけるエントリーポイントの歴史 _rockname さん:ゼロから理解するDependency …
7ヶ月前
記事のアイキャッチ画像
iOSDC Japan 2023にてポスターセッションで発表しました!
DeNA Testing Blog
こんにちは、SWETグループ所属のkariadです。 9/1〜3に開催されたiOSDC Japan 2023にてポスターセッションで発表をしました。 本記事では当日のポスターに掲載していた補足付きのページを共有します。 ポスターセッションについて ポスターセッションという形式上、アーカイブ等で見ることができないため、内容をこちらにて共有します。 以下が当日掲載されていたポスターの元になったページとなっており、ポスターはこのリンク先の抜粋になります。 「iOSアプリのユニットテストにおけるモックの効果的な使い方と使い分けの提案」 この発表の着想はSWET内で「単体テストの考え方/使い方」の輪読会…
8ヶ月前
記事のアイキャッチ画像
「Androidアプリのアーキテクチャにそってテストの書き方を学ぼう」というハンズオンを公開しました
DeNA Testing Blog
こんにちは。SWETのAndroidチームに所属している外山(@sumio_tym)です。 SWET AndroidチームではAndroidのプロダクトに対する自動テストのサポートをしています。 はじめに Android公式ドキュメント「アプリ アーキテクチャガイド」で推奨されているアーキテクチャの各レイヤごとに、テストの書き方を学ぶハンズオンを「Androidアプリのアーキテクチャにそってテストの書き方を学ぼう」というタイトルで公開しました。公開したハンズオンはDeNA Codelabsよりリンクされています。 また、来週開催されるDroidKaigi 2023のDeNAブースにて、SWET…
8ヶ月前
記事のアイキャッチ画像
Lint Night #2を開催します!
DeNA Testing Blog
こんにちは、SWETグループの稲垣( @get_me_power )です。 Lintに関する知識を共有することを目的として、2022/11/18に Lint Night #1を開催しました。 今回、約半年ぶりで復活、Lint Night #2をオフライン・オンライン同時開催します! Lint Nightはプログラミング言語不問でLintに関するトピックを取り扱う勉強会です。ここでLintとはソースコードや文書を静的に解析して問題をみつけるツールのことです。ただ、どこまでをLintとするかには幅があるようです。(Lintの定義ついては次のスライドをご覧ください) 今回のLint Nightも次の…
10ヶ月前
記事のアイキャッチ画像
CI/CD Test Night #6を開催しました!
DeNA Testing Blog
こんにちは。SWETのCI/CDチームに所属している井口(@hisa9chi)です。 2023/05/26にCI/CD Test Nightを約3年半ぶりに復活し、第6回目をオフライン/オンラインで開催しました! 本記事では、今回の発表のスライドを紹介していきます。本イベントは当日の登壇を動画でも公開していますのでそちらもあわせてご確認いただければ幸いです。 聴衆の反応 CI/CD Test Night #6 で盛り上がっている様子にtweetをまとめました。 当日の登壇動画 youtu.be 発表スライド紹介 @Kesin11: 「GitHub Actionsオタクによるセルフホストランナー…
1年前
記事のアイキャッチ画像
CI/CD Test Nightを復活開催します!
DeNA Testing Blog
こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 CI/CD関する知識を共有することを目的として、過去数回「CI/CD Test Night」を開催してきました。 今回、約2年半ぶりで復活、CI/CD Test Night #6をハイブリッド開催します! 今回のテーマは「GitHub Actionsセルフホストランナーのインフラ運用」についてです。 去る3月のDeNA Techcon 2023では、Discord上のトークイベント SWET Online のテーマとして「GitHub Actionsのセルフホストランナー」をとりあげました。 当日の議論も大いにもり上がった…
1年前
記事のアイキャッチ画像
Android Test Night #8を開催しました
DeNA Testing Blog
こんにちは。SWETのAndroidチームに所属している外山(@sumio_tym)です。 2023/03/10にAndroid Test Night #8を開催しました。 約3年ぶりのオフライン開催で、懇親会も実施しました(同時にオンラインでも配信しました)! 本記事では、今回の発表のスライドを紹介していきます*1。 聴衆の反応 Android Test Night #8 で盛り上がっている様子にtweetをまとめました。 発表スライド紹介 @STAR_ZERO「Coroutines Test 入門」 1つめは@STAR_ZEROさんによるKotlin Coroutineが関係するテストの書…
1年前
記事のアイキャッチ画像
Unityプロジェクト向けオートパイロットフレームワークの運用Tips
DeNA Testing Blog
SWETグループの長谷川( @nowsprinting )です。 開発者自身の手によるUnityプロジェクトの品質向上アプローチのひとつに、ゲームプレイを自動化するオートパイロットによる検証があります。 このアプローチについて、DeNA内で開発・導入を進めているフレームワークAnjinを昨年紹介しました。 swet.dena.com また、Anjin自体も先日オープンソース化しました。こちらのリポジトリからご利用いただけます。 github.com 本記事では、Anjinの、主にオートパイロットを安定運用するための機能を紹介します。 Automated QAが保存するスクリーンショットの退避 …
1年前
記事のアイキャッチ画像
GitHub Actionsのセルフホストランナーでジョブごとにディレクトリを分離する方法
DeNA Testing Blog
先日 DeNA/setup-job-workspace-action をOSSとして公開しました。これはGitHub Actionsでは本来1つのリポジトリに対して作業用のディレクトリは1つだけになるところを、ジョブごとにディレクトリを分離できるようにするactionです。大規模なリポジトリをセルフホストランナーで扱うというニッチ環境用ですが、当てはまる環境ではとても便利ですのでその仕組みを詳しく解説いたします。
1年前
記事のアイキャッチ画像
iOSのOOMクラッシュをみつける
DeNA Testing Blog
こんにちは、SWETグループ所属のkariadです。 昨年10月に開催されたiOS Test OnlineにてSWETチームのkuniwakが「実践9つのメモリリークどう見つける?」というタイトルで発表しました。 その発表では触れられなかった、メモリリークから引き起こされるOOMクラッシュを発見する手法についてSWETで実践したことを紹介します。 メモリリークについての説明は多くの記事で説明されているため、省略します。 OOMクラッシュ メモリリークが発生するとOOMクラッシュの危険性があります。 OOMとはOut Of Memoryの略であり、アプリが確保しているヒープ領域を超えてメモリを利…
1年前
記事のアイキャッチ画像
Lint Night #1を開催しました!
DeNA Testing Blog
SWETグループの稲垣(IK)です。 2022-11-18にLint Night #1を開催しました! 今回の発表の録画とスライドを紹介します! Lint Nightとは Lintとはソースコードや文書を静的に解析して問題をみつけるツールのことです。ただ、どこまでをLintとするかには幅があるようです。Lintの話は奥が深く、こうした話ができる勉強会は面白そうだと判断し、Lint Nightを立ち上げました。 プログラミング言語不問でLintに関するトピックについて、技術共有できる場としてLint Nightを運用できたらと考えています。 当日の登壇内容 YouTubeにLint Night …
1年前
記事のアイキャッチ画像
Unityプロジェクト向けオートパイロットフレームワークの作りかた
DeNA Testing Blog
SWETグループの長谷川(@nowsprinting)です。 開発者自身の手によるUnityプロジェクトの品質向上にはさまざまなアプローチがあります。 当ブログでもこれまでに、 ユニットテスト や 静的解析 といった、コーディング段階でC#コードの品質(特に内部品質)を高めるアプローチを紹介してきました。 本記事では少し目線を変えて、ゲームがほぼ組み上がった状態でのゲームプレイを自動化する、オートパイロットによる検証アプローチを紹介します。 オートパイロットによる検証の位置付けと目的 ゲームが組み上がった状態とは、ゲームを構成するC#コードや3Dモデルなどのアセットファイルを組み合わせた、結合…
1年前
記事のアイキャッチ画像
Gradle Managed Devicesでテストを動かしてみよう
DeNA Testing Blog
こんにちは。SWETのAndroidチームに所属している外山(@sumio_tym)です。 SWET AndroidチームではAndroidのプロダクトに対して自動テストのサポートをしています。 はじめに 先日開催されたDroidKaigi 2022で「Gradle Managed Virtual Devicesで変化するエミュレータ活用術」というタイトルで登壇しました。 本セッションの動画もYouTubeのDroidKaigiチャンネルに公開されていますので、合わせて参考にしてください。 さて、本記事では、上記セッションの内容から開発PC上でGradle Managed Devices (G…
1年前
記事のアイキャッチ画像
Lintを使う人、作ってみたい人、問題解決の引き出しを増やしたい人のための勉強会Lint Nightを開催します!
DeNA Testing Blog
SWETグループのLint大好きマンKuniwakです。2022/11/18にオフライン・オンライン同時開催の勉強会「Lint Night #1」を開催します! Lint Nightはプログラミング言語不問でLintに関するトピックを取り扱う勉強会です。ここでLintとはソースコードや文書を静的に解析して問題をみつけるツールのことです。ただ、どこまでをLintとするかには幅があるようです。 さて、Lintの面白いところはソースコードや文書を入力データとして扱うプログラムであることです。ソースコードを入力データとするプログラムといえばコンパイラやインタプリタがあげられますがいずれも実装がかなり大…
2年前
記事のアイキャッチ画像
夜開催のiOS Test Onlineを開催しました!
DeNA Testing Blog
SWETグループのKuniwakです。2022/10/28にiOS Test Onlineを開催しました! さて、今回の発表の録画とスライドを紹介していきます。 録画 YouTubeにパネルディスカッションを除く発表をアップロードしました。パネルディスカッションはリアルタイムにしか聞けないコンテンツにしたいので、次回以降ぜひリアルタイムにご参加ください! 聴衆の反応 iOS Test Online でわいわいしている人たちにtweetをまとめました。 発表スライド紹介 @orga_chem「実践 9つのメモリリークどう見つける?」 「実践 9 つのメモリリークどう見つける?」のスライド公開しま…
2年前
記事のアイキャッチ画像
macOSのCopy-on-Write機能を使ってディスクを節約した話
DeNA Testing Blog
こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに 先日開催されましたCEDEC 2022にて、Gitリポジトリの肥大化に対応した事例を発表しました。これはそのフォローアップ記事となります。以前に出した記事の続編でもあります。 発表資料は次の場所に置いていますので、参照してみてください。 CEDiL(要登録): https://cedil.cesa.or.jp/cedil_sessions/view/2600 Speaker Deck: ht…
2年前
記事のアイキャッチ画像
夜開催のiOS Test Onlineを開催します!登壇者募集!
DeNA Testing Blog
SWETグループのKuniwakです。iOSコミュニティの皆様にとってはお久しぶりです! 早速本題ですが、夜開催のiOS Test Onlineを始めます!iOS Test Onlineは、iOS Test NightやiOS Test TeaTimeと同じくiOSアプリのユニットテストやUIテスト、継続的インテグレーション(CI)などiOSアプリのテストにまつわる技術的な発表の場です。 「iOS Test 〜」系勉強会が多すぎる!と思った方向けに説明すると、それぞれのイベントは開催時間帯と開催形態で分かれているだけで発表内容や発表ボリュームは変わりません。 イベント 開催時間帯 開催形態 i…
2年前
記事のアイキャッチ画像
Isabelle/Isar勉強会を社内で開催しました
DeNA Testing Blog
こんにちは、SWETグループの鈴木穂高(@hoddy3190)です。 SWETグループのメンバー向けにIsabelle/Isar勉強会を開催しました。本記事では、勉強会の概要の紹介と、勉強会の資料の公開をします。 もしよろしければご活用ください。 Isabelleとは Isabelleは、定理証明支援ツールの1つです。 数学の授業で証明を解く時、暗記した定義や定義を引き出して仮定や結論をみて試行錯誤しながら適用して解いていっていたと思います。Isabelleを使うと、利用できる定理を提示してくれたり、自動で定理を適用して証明を進めてくれたり、誤った証明を指摘してくれたりします。 Isabell…
2年前
記事のアイキャッチ画像
時間を加味したモデリング
DeNA Testing Blog
こんにちは、SWETの鈴木穂高(@hoddy3190)です。 現在SWETチームにて仕様の欠陥をなるべく早くみつける取り組みにチャレンジしています。 欠陥をみつけるタイミングが早ければ早いほど、開発中の手戻りに伴うコストを抑えられます。 たとえば、仕様作成フェーズ、実装フェーズ、QAフェーズの順で開発が進んでいくときに、仕様の欠陥が実装フェーズやQAフェーズでみつかると実装やQAのやり直しを引き起こしかねません。 そうした大きな手戻りを抑えるために仕様の欠陥をなるべく仕様作成フェーズでみつけることを目指します。 対象領域に出てくる要素をモデリングすることは、仕様に潜む欠陥を開発の早い段階でみつ…
2年前
記事のアイキャッチ画像
この1年すすめていた「プロジェクトの健康状態の可視化と予防」と「自動テストの適用範囲の拡大」という施策についての話
DeNA Testing Blog
SWETグループの平田(@tarappo)です。 早いもので2021年度もとうとう終わりをむかえようとしています。 ふりかえりということで、ここ1年ほどの間に私も関わって進めていた次の2つの施策についてかんたんに紹介したいと思います。 プロジェクトの健康状態の可視化と予防(dev-vital) 自動テストの適用範囲の拡大 今回紹介するこれらの施策は、SWETメンバーの今までの経験などを元に議論した中で出てきた課題から決めています。 プロジェクトの健康状態の可視化と予防(dev-vital) 私がSWETに所属してある程度の期間がたちますが、いろいろなプロジェクトに関わってきました。 その中で感…
2年前
記事のアイキャッチ画像
DeNA TechCon 2022開催決定!今年もSWETメンバー登壇します!
DeNA Testing Blog
SWETグループの井口(@hisa9chi)です。本記事では2022年3月に開催予定の弊社イベント DeNA TechCon 2022 に関してSWETグループ含め所属する品質管理部から5件の登壇が予定されております。 品質管理部ではDeNAのものづくりを支え、品質管理のスペシャリストとして、事業部とともにプロダクトの品質を作り込んでいっています。そのためにプロダクト開発の現場に深く入り込み、品質の担保とその改善活動を引っ張っていくことで、信頼性の高いプロダクトを素早く提供し続けます。さらに、日本のテスト業界を牽引していく存在となるために、標準化活動や高度なテスト技術を追求しており、得た技術や…
2年前
記事のアイキャッチ画像
「テスタビリティの高いGoのAPIサーバを開発しよう」というハンズオンを公開しました
DeNA Testing Blog
はじめに SWETグループのGoチームの伊藤(@akito0107)です。 「テスタビリティの高いGoのAPIサーバを開発しよう」というタイトルでGoを用いてWeb APIを書くエンジニア向けのハンズオンを公開しました。 この記事ではハンズオンの内容と補足を紹介しようと思います。 ハンズオンのねらい このハンズオンでは、APIサーバーを題材としてテスタビリティを担保した設計をするためには何が必要なのかを学んでもらうことを目的にしています。 特に、私自身がテスタビリティを考える上で重要だと考える、Dependency InversionやDependency Injection (DI), Te…
2年前
記事のアイキャッチ画像
治安維持のためにCI/CDサービスを活用しておこなったこと
DeNA Testing Blog
SWETグループの平田(@tarappo)です。 10/21(木)にiOS Test TeaTime #3を開催しました。 その時の私の登壇資料は次のとおりです。 資料では不足しているであろう情報もあるので、本稿ではその点も補いつつ説明していきたいと思います。 はじめに SWETメンバーとして、プロジェクトに関わるときは「CI/CDサービス」が問題なく動いているかどうかを確認することはよくあります。 CI/CDサービスが文字通り継続的に動いているのであれば「プロジェクトのコードが手元でも動かせる」「コードの状態がある程度わかる」という状態ともいえます。 そのため、これはプロジェクトの状況を把握…
3年前
記事のアイキャッチ画像
8年ぶりの新卒としてSWETにjoinした話
DeNA Testing Blog
はじめまして、2021年に新卒としてSWETに加わったIKです。 今回はSWETに入って感じたこと、思ったことなどを新卒目線で書いていきたいと思います。 IKってどんな新卒? 学生時代にVim scriptばかり書いていた新卒です。 主に、ソフトウェアのメンテナンスに興味をもち、OSSにパッチを送る活動をしていました。 パッチを送った主なリポジトリ vim-airline vim-devicons また、VimConf2019に登壇し、以下の発表をしました。 Grown up from Vim User to Vim plugin developer side しかし、一般的なWebシステムや…
3年前
記事のアイキャッチ画像
大きなGitリポジトリをクローンするときの工夫を図解します
DeNA Testing Blog
こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのG…
3年前