Nextbeat Tech Bar:第一回ソフトウェアテストについて考える会

2024/03/22(金)19:00 〜 21:00 開催
ブックマーク

イベント内容

📢 2024/02/14追記

日本におけるテスト駆動開発の第一人者として知られる@t_wadaさんこと和田卓人さんに登壇いただける運びとなりました。よろしくお願い致します。

📢 イベント概要

近年、ソフトウェアのテスト、とりわけ自動実行されるテストの重要性は益々高まってきています。どの言語であれ単体テストライブラリ(フレームワーク)を使ってテストを書くことはかなり一般的になってきていますし、Seleniumなどを使ってUIテストを自動化している現場もあるかと思います。テスト駆動開発のような手法を採用している現場もあるかもしれません。

テストが非常に重要なことは多くのソフトウェアエンジニアが理解しているものの

  • どの程度テストを書くべきか
  • テストの粒度はどのくらいがベストか
  • 良いテストはどのようなものか
  • テストがないプロジェクトにどのようにしてテストを追加すればいいか

など、テストにまつわる様々なトピックについて、理想と現実の狭間で悩んでいる方も多いのではないかと思います。

そこで、ソフトウェテストについての知見を皆で持ち寄って共有しようというのがこのイベントの趣旨になります。

発表内容についてはソフトウェアテストに関係あることであれば特に限定しません。単体テスト、結合テスト、CIでのテスト、良いテストの書き方についてのベストプラクティスについてなど幅広い内容を歓迎します。

特に生成AIが大流行の昨今、

  • GitHub Copilotを使ったテスト生成
  • ChatGPTを使ったテスト生成

といったトピックも歓迎します。

皆様の参加や発表をお待ちしています。

参加資格

特にありません。テストについて興味がある方ならどんな方でも歓迎です。

発表について

通常発表枠(発表15分+質疑応答5分)とLT枠(発表5分)があります。

発表希望者の方は、申込み時に出るアンケートで

  • 現地登壇
  • リモート登壇

のどちらかを選択いただけると助かります。

当日までに各々インターネット上にスライドをアップロードいただいた上でURLを共有していただけると助かります。特に現地登壇の方については弊社PCに資料を集約して発表いただく形になりますので、よろしくお願いします。

提出先は、ml-dev-event{at}nextbeat.net でよろしくお願いします({at}を@に置換してください)。

日時

  • 2024年3月22日(金)19:00~21:00

※~22:00まで懇親会、21:00以降の参加は不可(懇親会のみ参加は不可)

開催方法

ハイブリッド開催になります。

  • オンライン(Google Meet)
  • オフライン(ネクストビート本社 東京都渋谷区恵比寿4-9-10 恵比寿駅より徒歩4分)

※オフライン参加の場合、参加者管理を行うため必ず「オフライン参加(恵比寿)」よりご応募をお願いします。

※オンライン参加用のURLは前日&当日にメッセージ送付させていただきます。

スケジュール

時間 内容 発表タイトル
18:30 受付開始 オフライン参加者のみ
19:00 オープニング by kmizu
19:10 登壇者発表(15分+質疑応答5分) 自動テスト実行結果の目的を整理する(リモート発表) by @t_wada
19:30 登壇者発表(15分+質疑応答5分) 「コンパイル時のユニットテスト」を導入するとユニットテストを書かなくてもいいというのは本当なのか?(リモート発表) by @tomohisa
19:50 登壇者発表(15分+質疑応答5分) BDD(Cucumber)コミュニティが無料提供しているコンテンツの紹介と現在起きている危機 by @nihonbuson
20:10 休憩(20分)
20:30 LT1(5分) 画面の表示ロジックへの自動テストで悩んだ話(リモート発表) by @yuuabsoft
20:35 LT2(5分) 理想のテスト像を業務のコードに適用できずに悩んでいる話 by @verdy_266
20:40 LT3(5分) Tetcontainersが便利だった by @takapi327
20:45 LT4(5分) 複雑なドメインを扱うプロダクトの探索フェーズではいつどのようにテストをするのか by @boykush315
20:50 クロージング
21:00 懇親会 オフライン参加者のみ
22:00 懇親会終了、撤収

発表概要

自動テスト実行結果の目的を整理する by @t_wada

自動テストの実行結果を「意思決定と行動を促す情報」という役割から再整理し、様々な出力の種類と目的を「何を、どこで、いつ、だれが、だれに、何のために、範囲、サイズ、形式、行動」等の観点から包括的にまとめます。

「コンパイル時のユニットテスト」を導入するとユニットテストを書かなくてもいいというのは本当なのか? by @tomohisa

Scott Wlaschin氏は著書である"Domain Modeling Made Functional" (和訳本なし)に関する講演で、関数型言語を用いてドメインモデルを定義すると、テストを書く必要がなく、たくさんのフラグをチェックする必要もないと説明しています。

彼はこの方法を「自己文書化」と「コンパイル時のユニットテスト」と呼んでいます。

この話では、彼の言う「コンパイル時のユニットテスト」が具体的にどのようなものなのか、そしてこの方法を使うことでテストがどれほど効率的になるのかを扱います。ただし、ドメイン駆動開発の定義やC#やF#の詳細な文法については説明しません。

BDD(Cucumber)コミュニティが無料提供しているコンテンツの紹介と現在起きている危機 by @nihonbuson

Gherkin(Given/When/Thenを用いた記法)言語をメンテナンスし、BDDをサポートするツールを開発しているCucumberコミュニティは、BDDに関する様々なコンテンツを無料で提供しています。これらのコンテンツは「BDDとは単にGherkinを使うことではない」というBDDの理解を広めることに役立っています。 ただし、これらのコンテンツはほとんど英語しか提供しておらず、まだ日本では浸透していないのが実情です。 そこで本発表ではコンテンツの一部を日本語で紹介します。 また合わせて、Cucumberコミュニティに現在起きている危機もお伝えします。

LT1: 画面の表示ロジックへの自動テストで悩んだ話 by @yuuabsoft

私が現在担当しているプロダクトはプロダクトの特性上、画面(Webサイト)の表示ロジックの担保が重要な課題の一つです。  そのため表示ロジックの自動テストを導入するべく検討を行ったのですが、ページ内のコンテンツやロジックの分岐が非常に多いというプロダクトの特性も相まって、通常のAPIテストやユーザの操作を元にして実施するテストに比べて非常にコストが大きくなりそうだという課題があります。  今回は、その課題に対してどのように検討したのかについてお話しします。

LT2: 理想のテスト像を業務のコードに適用できずに悩んでいる話 by @verdy_266

社会人になってWeb開発を始めた当時、「書こうと思えばテストを書くことはできるけど、どういうテストを書くべきかがわからない」という思いを長らく抱えていたように思います。そんな中、とあるプログラミング合宿に参加したことで、自分の信じるテスト像が出来上がった話をします。加えて、自分の信じるテスト像ができてしまったがために、普段業務で触っているコードにその理想を適用できずに悩んでいる話をしたいと思います。

LT3: Tetcontainersが便利だった by @takapi327

テストを行うために複数の異なる綺麗な環境を用意するのは大変です。その環境をDockerを使用して用意することはよくあることだと思います。しかし、環境ごとに同じような設定を管理することは大変です。Tetcontainersを使用することでそれぞれ異なる環境を用意することが楽になり、テストを快適に実行することができるようになります。 今回はそんなTetcontainersを使用したテストで具体的にどのようなテストで役立ったのかを話せればと思います。

似たような悩みを抱える人の助けになれば幸いです。

LT4: 複雑なドメインを扱うプロダクトの探索フェーズではいつどのようにテストをするのか by @boykush315

私たちのチームでは、複雑なドメインを扱うプロダクトの探索フェーズにおいて、ドメインモデルやユースケースを実装し、いくつかの方針を探索しては実装し直す。といったことを行ってきました。

仮に方針を決定しプロジェクトを前に進めたとしても、不確実性によって手戻りが発生することもしばしばあります。

元から捨てるかもしれない実装のテストをいつどのように書くべきでしょうか?テストの質や量によってどの程度不確実性に対処できるでしょうか?現実的に直面している日頃の悩みについてお話しします。

注意事項

  • 本イベントの録音・録画は禁止しております。
  • 採用、営業活動を目的としたご参加はできません。
  • オフライン参加の場合、受付時に検温をさせていただきます(37.5度以上の場合、体調が優れない場合は参加不可)
  • 他媒体でも募集しているため、応募状況によっては抽選とさせていただく場合がございます。
  • イベントは止むを得ず中止させて頂く場合がございます。その際は、本サイトからのメッセージよりご連絡させて頂きますのでご確認をお願い致します。

※情報は随時更新します。

🍺Nextbeat Tech Barについて

不定期にネクストビート本社9階で開催しているBar形式のイベントと接続して開催されるテックイベントです。30分~1時間の勉強会+懇親会の形式で、オンライン参加・オフライン参加どちらもOKです!

今回は金曜日での開催となります!

弊社のエンジニアも参加するので、ゆるく交流しましょう✨

<過去開催実績>

会場場所貸し・イベント共同開催等の依頼

ネクストビートでは、技術やテック系コミュニティの発展を支援するために、以下の取り組みを行っています。

  • イベント会場の無償貸出(詳細についてはこちら
  • 勉強会の開催/共同開催
  • 技術イベントへの登壇
  • 技術コミュニティ/イベントへのスポンサード

「弊社のスペースを利用してイベント開催がしたい」「弊社のエンジニアと一緒に勉強会を開催したい」「弊社のエンジニアに登壇してほしい」等のご相談・お問い合わせに関しては、こちらのフォームよりご連絡をお願いいたします。

【過去の実績(例)】

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
情報提供元ページ(connpass)へ

新規会員登録

このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。



※ ソーシャルアカウントで登録するとログインが簡単に行えます。

※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。

関連するイベント