Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

[PyCon2019レポート] Pythonを使ったAPIサーバー開発を始める際に整備したCIとテスト機構

More than 1 year has passed since last update.

Session: https://pycon.jp/2019/schedule?sessionId=119

参加して来ました。

自分がピンと来た部分だけをピックアップして紹介します。詳細は公開されている資料をご覧ください。

資料

主旨

発表者: Higashiguchi Kazuki さん / @hgsgtk

筆者がPythonを業務で使い始めたときに、やっててよかったと思える準備について語る。学習サイクルを促進できるCI導入・自動テストの考え方を述べる

どのような観点でテスト/チェックするのか

CIを入れて、指摘結果から学ぶ。

  • コード検査
    • コーディング規約 (PEP8, PEP257など)
    • テスト - 「テスタビリティの声」を聞く
    • テストを書けば、自分のコードがどの程度「テストしやすいのか」の感覚が得られる
    • 「テストしやすさ」の感覚は、「関心」の分離がなされた疎結合なコード設計を促す
    • docstring
    • コードは、書く時間よりも、読まれている時間の方が多い という考え方に従う
    • 型検査
  • 自動テスト
    • テストスコープを、アプリの内部に留めたい(外部環境に依存するテストは不安定である)
    • 外部への依存を分離して、簡単に差し替え可能な設計になっているか?
    • テストを実行する「前準備」のコストから、設計に対するフィードバックが得られる
    • 疎結合なコード設計に目を向けるきっかけになる

感想

ポジティブにCI/テストする、というテンションが非常に良かったです。

テクニカルというよりはメンタル的な、啓発的な色が強いセッションという印象でした。だがそれが良い。

「慣れない人からしたら、テストは やったほうがいい、でも面倒 というイメージが強いと思う。でも、CIやテストを自分のコード設計に対するフィードバックとして積極的に取り入れたらもっとハッピーになれるよ」

といったようなことを終わり際に話されていました(一言一句は覚えていませんが)。私自身も、多少ながらテストを意識してコードを書くようになってきたのでこの言葉は至言だなと思いました。とても良いセッションでした。

hassaku_63
AWSのパートナー企業のSIer中の人です。所謂社内SE のロールです 自社の運用サービス(MSP) で内製してる基盤システムの保守開発やってます。あと、他部署の業務改善。要件ヒアリングしたり、運用中の SaaS を業務要件に合うように運用方法考えたり、必要なら内製開発したりそれの保守したり。 Note: https://note.mu/8saku
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away