mizzsugar’s blog

Pythonで学んだことや読書録を書きます。

PyCon mini Shizuokaでオンライン登壇しました。

先日、PyCon mini Shizuokaで「unittest.mockを使ってテストを書こう 〜モックオブジェクトを使ってより単体テストの目的に沿ったテストに〜」という題で30分の発表をさせていただきました。

shizuoka.pycon.jp


この発表をすると決めた経緯

もともと、去年の10月の「みんなのPython勉強会」で登壇オファーをいただいたのが始まりでした。「せっかくのチャンスだから登壇しよう。(当時は自分の中でテスト熱が高かったので)テストについて話したい。けど、それだと広すぎるのであまり発表を聞かないモックについて話そう」というふうに決めました。

いざ、登壇してみると、参加者はプログラミング自体の初学者が多く、「よくわからなかった」という声をちょくちょく耳にしました。

想定していた層は「テストコードを書いたことがあるけれども自分のテストコードに自信がない人」だったので、当然いえば当然かもしれませんが、誰も悪くないとはいえショックでした。


振り返りのブログでは、

もしこのトークでもう1回登壇するならば
とはいえ「モック」の概念の説明が不足していたのでモックの概念をもう少ししっかり説明する

本題に入る前に予めこの発表の対象となる人を伝えておく

「モック」と「スタブ」の概念も扱って、どんな観点で単体テストを書くかをより深く扱う

対話を通してでないと理解が難しいであろう質問は2-3分の質疑応答の時間で理解されなくても落ち込まない。交流会とかで詳しく話そうねというスタンスで挑む。

Chromeで登壇する

で行こうと思います。

と書いていますが

これをやるには少なくとも30分は必要そうです。

mizzsugar.hatenablog.com

30分以上話せるイベントはなかなかなありません。リベンジはそう早くはないかなあと思っていたところ、PyCon mini Shizukokaの存在を知りました。

言葉に厳しい人と惹きつける文章を書くのが得意な人の協力の元CfPを書いた結果、CfP採択していただきました。

CfPの項目のうち、HPに載るトーク概要は最終的にこのようになりました。

shizuoka.pycon.jp

発表の練習は主に、今年の1月のPyhack冬合宿で行いました。

2泊3日の合宿で計3回話しました。

こんな感じでPython猛者の方々にSlackでフィードバック書いてもらうなどしました。

発表の仕方だけでなく、Pythonについて新しい知見を得てスライドをパワーアップさせることができました。


具体的なところでいうと、datetime.datetime型の関数型オブジェクトを引数に渡す方法やresponsesをテストで使うことはこの合宿で教えてもらいました。

datetime.datetime型の関数型オブジェクトを引数に渡す方法のスライド↓

https://speakerdeck.com/mizzsugar/unittest-dot-mockwoshi-tutetesutowoshu-kou-motukuobuziekutowoshi-tuteyoridan-ti-tesutofalsemu-de-niyan-tutatesutoni?slide=47

responsesをテストで使うスライド↓

https://speakerdeck.com/mizzsugar/unittest-dot-mockwoshi-tutetesutowoshu-kou-motukuobuziekutowoshi-tuteyoridan-ti-tesutofalsemu-de-niyan-tutatesutoni?slide=52

オンラインで登壇してみた所感

結論から言うと、オンラインで話すのに慣れていなくて心残りがあるのですが

短い期間で急遽オンラインカンファレンスに切り替え準備をしてくださった運営の方々には感謝してもしきれないです。ありがとうございました。

対面で誰か聞いてくれている人を見つけて安心しようとする方面で練習していたので、オンラインで一人で喋るのは緊張しました。

YoutubeTwitterで発表を聞いてる人のコメントを見れましたが、なかったら動揺しそうだったので見ませんでした笑

接続に時間がかかってしまったため、時間内に収めるために前半がちょっと早足になってしまったのが心残りです。

でも、発表が終わった後に恐る恐るTwitterYoutubeの反応を見るとコメントがあって安心しました。

特に、にしもつさんとnikkieさんがほぼ全てのトークに関してTwitterで随時呟いてくださっていてすごく安心しました。ありがとうございます。

ちなみに、前回の反省点に関しては下記のような結果になりました。

とはいえ「モック」の概念の説明が不足していたのでモックの概念をもう少ししっかり説明する →達成

本題に入る前に予めこの発表の対象となる人を伝えておく →達成

「モック」と「スタブ」の概念も扱って、どんな観点で単体テストを書くかをより深く扱う →「モック」と「スタブ」の概念についてはこのトークだけでは扱いきれないと判断し断念。単体テストの観点に関しては達成。

対話を通してでないと理解が難しいであろう質問は2-3分の質疑応答の時間で理解されなくても落ち込まない。交流会とかで詳しく話そうねというスタンスで挑む。→達成

Chromeで登壇する →達成

次オンラインカンファレンスで登壇するとしたら、一人で喋っても寂しく思わない練習をして挑みたいです。

また、次のPyCon mini Shizuokaが開催されるならば、登壇した次の日にさわやかハンバーグ食べて美味しいコーヒー飲みに行きたいです。