Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlinで始めるBDD

curry-like
September 22, 2021

 Kotlinで始めるBDD

「Server-Side Kotlin Study #2」の登壇資料です。(https://server-sider-kotlin.connpass.com/event/224077/

curry-like

September 22, 2021
Tweet

More Decks by curry-like

Other Decks in Programming

Transcript

  1. 自己紹介 • @westmountain37 • 株式会社ニューズピックス • Kotlin / Java /

    Python / インフラ • 最近の興味はFlutter 西山浩太郎 2
  2. Mission & The 7 Values 経済情報で、世界を変える We guide business people

    to insights that change the world 私たちは、世界中で愛される経済情報インフラをつくります。 あらゆる経済情報を人とテクノロジーの力で整理・分析・創出し、 ビジネスパーソンの生産性を高め、創造性を解放します。 私たちは経済情報を通じて世界中の意思決定を支え、世界を変えます。 Mission 3
  3. 経済情報プラットフォーム 金融機関、事業会社向けに世界中の企業財務データ、業界レポート、市場データ、 M&A情報 など、企業戦略の分析や策定に必要な情報を提供 経済ニュースメディア(日本市場向け) 国内外100メディアのニュースのほか、 NewsPicks編集部のオリジナル記事・動画コンテン ツを配信し、業界人や専門家のコメントと併せて閲覧可能 B2Bマーケティングプラットフォーム ユーザベースグループの企業データベースと顧客の内部データを統合し、データ

    分析に基づいて成約確度の高い企業を特定。 ABM(アカウント・ベースドマーケティング)の実 践を支援 スタートアップ情報プラットフォーム スタートアップの事業概要、資金調達、投資家、提携先、オリジナル記事などをワンストップで提供 コンサルティング事業 法人向けに新規事業開発・次世代 ⼈材育成・組織活性化の推進及びユーザベースグループの SaaSサービスの導入を支援 ベンチャーキャピタル事業 シードからアーリーステージの SaaSとメディア関連のスタートアップに特化して投資 What we do 4
  4. 01 | はじめに 7 BDDとは? BDDの流れ 1. まず新機能の具体的な例を話して、その機能で期待していることの詳細を探り、 合意する 2.

    次に、それらの例を自動化できる方法で文書化し、一致するか確認する。 3. 最後に、文書化された各例で記載されている動作を実装し、コード開発の指針と なる自動テストから始める。 「 Behavior Driven Development」の略。ソフトウェア開発の手法の一つで、開発者 と開発者以外の間のギャップを埋めるためのもの。 似たようなものにATDDやTDDがある。 はじめに
  5. Cucumberとは? 02 | Cucumberについて Gherkin記法 • Feature • Scenario /

    Scenario Outline • Given / When / Then / And / But • Background 12
  6. Cucumberとは? 02 | Cucumberについて Gherkin記法 • Feature • Scenario /

    Scenario Outline • Given / When / Then / And / But • Background 13
  7. Cucumberとは? 02 | Cucumberについて Gherkin記法 • Feature • Scenario /

    Scenario Outline • Given / When / Then / And / But • Background 14
  8. Cucumberとは? 02 | Cucumberについて Gherkin記法 • Feature • Scenario /

    Scenario Outline • Given / When / Then / And / But • Background 15
  9. 04 | まとめ 21 メリット • 大胆なリファクタリングをしても仕様が変わらないことを担保できる • これまでスプレッドシートで管理していたケースが自動化された •

    動作確認する時間が減り、逆に開発スピードが上がった • local環境で簡単にテストデータを用意できるようになった • シナリオがまとまっているので、システムの理解がしやすい デメリット • 慣れるまで多少時間がかかる ◦ テストの書き方 ◦ 併用するツールの使い方(Seleniumなど) まとめ
  10. 04 | まとめ 23 参考資料 • https://cucumber.io/ • Kent Beck

    『テスト駆動開発』. 和田 卓人 まとめ