Web APIテスト技法
2024年7月8日Web APIテスト技法を読んだ。 API設計のテストで5w1hを使って問いを考える話があったが、具体例が分かりやすく、示唆に富んでいた 現場のテスタビリティについて理解するフレームワークとして挙げられていた10個のPモデルが良かった。テスト戦略や計画を考える前提の整理に役立ちそう テスト計画の整備と文書化について書かれているテスト計画のフォーマット例も考えやすいシンプルなもので良かった。戦略と...
Web APIテスト技法を読んだ。 API設計のテストで5w1hを使って問いを考える話があったが、具体例が分かりやすく、示唆に富んでいた 現場のテスタビリティについて理解するフレームワークとして挙げられていた10個のPモデルが良かった。テスト戦略や計画を考える前提の整理に役立ちそう テスト計画の整備と文書化について書かれているテスト計画のフォーマット例も考えやすいシンプルなもので良かった。戦略と...
以前、GoReleaserを使ってのGoのアプリケーションを配布するというタイトルの記事でGoReleaserを使ったバイナリ配布の方法について書いたが、Dockerhubへのイメージプッシュもやってみたのでまとめておく。 ソースコードの全体像はbmf-san/gondolaを参照。 .goreleaser.yamlを設定 ockers: - image_templates: - ...
単体テストの考え方/使い方を読んだ。 質の高いテスト設計の為に必要な考え方やアプローチがまとめられている。テスト手法に留まらないテスト設計の本であり、テスト関連の本の中でもあまり類を見ないものだと思われる。 良いテストは、リグレッションへの保護、リファクタリング耐性、フィードバックの迅速さ、保守性を備えているが、これらを全て満たすのは難しいため費用対効果を考える必要がある。本書はその考え方を示す実...
概要 RubyのModuleについてかく。 Moduleとは クラスや他のモジュールに共通のメソッドや定数を提供するための仕組み。 # モジュール定義 module Hi def say_hi puts "Hi!" end end Moduleはクラスと異なり、インスタンス化できない。また継承もできない。 モジュールにはクラスメソッドやインスタンスメソッドを定...
概要 Rubyの特異クラスと特異メソッドについてかく。 特異クラス 特異クラスとは、特定のオブジェクトに対してのみ有効なクラスのことを指す。 class Greet def say_hi puts 'Hi' end end greet = Greet.new # 特異クラス class << greet # シングルトンメソッド def ...
概要 RubyのProcとlamdaについてかく。 Procとは ブロックをオブジェクト化したもの。ブロックはオブジェクトではない。 このオブジェクトは手続きオブジェクトと呼ばれ、Procクラスのインスタンスとして表現される。 Proc.newまたはprocによって手続きオブジェクトを生成できる。 # Proc.new proc_object = Proc.new { |x| puts x } ...
概要 Rubyのブロック構文についてかく。 ブロック構文とは 他メソッドにコード断片を渡すことで、そのメソッド内で処理を実行させることができる構文。 do..endまたは{}を使って定義する。ブロックは引数を受け取ることができる。 # do..end [1...3].each do |number| puts number end # {} [1...3].each { |number| p...
概要 Rubyのシンボルについて書く。 シンボルとは 任意の文字列と対に対応するオブジェクト。 内部実装では、整数として管理されている。 :symbol :'symbol' %s!symbol! シンボルはSymbolクラスのオブジェクトであり、文字列はStringクラスのオブジェクトである。そのためメモリ効率が良い。 文字列と違い、シンボルは同一のオブジェクトである。 # ...
マスタリングTCP/IP―入門編―(第6版)を読んだ。 例えが分かりやすくて読みやすい。 TCP/IPの基本からネットワークについての理解を進める入門書として良い教科書だと感じた。 ネットワークはつい苦手意識を持ってしまっておざなりになっているが、この本は読みやすくて良かった。 ...