えいのうにっき

a-knowの日記です

個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった

「個人開発してるWebサービス」というのは Pixela のことで、runn とは @k1loW さんが開発しているオペレーション自動化ツール/パッケージです。

pixe.la

github.com

Pixela は、そのユーザーインターフェースとして基本的に Web API のみを提供しているサービスで(サービスを利用するための各種操作は基本的にすべて Web API に対する HTTP リクエストによって行う必要がある)、現在そのローンチから6年目を迎えるサービスです。

blog.a-know.me

ありがたいことに、世界中のユーザー(特に、プログラミング初学者の方によくご利用いただいているようです)に継続的に使っていただけているサービスになっており、登録ユーザー数はもうすぐ7万人に到達しようとしているところです。開発・メンテナンスに係る私の人件費を除けば、黒字運営を続けることもできています。

一方の runn については、以前より何かのきっかけでその存在だけは知っていました。runn の主なユースケースとしては、Zenn で販売されているオンラインブックでの記述を引用させていただくと、概ね以下のようなものとなります。

runnが想定している主なユースケースは次のようなものになります。

1. APIのシナリオテスト(HTTP/gRPC)
2. ローカルやリモートへの任意のコマンドやHTTP/gRPCリクエスト、データベースクエリを実行可能なワークフローエンジン
3. データベース操作等のオペレーションの実行と記録

Runbook Automationとしては2がもっともそれらしいユースケースですが、現在runnの開発メンバーが力を入れているのは1になります。

なので、runnはAPIシナリオテスティングツール・パッケージとも言えるでしょう。

-- runnクックブック https://zenn.dev/k1low/books/runn-cookbook/viewer/about Chapter01 runnとは より

「APIシナリオテスティングツール・パッケージ」。前述のようなサービスである Pixela のテストのために使うのにはまさにぴったりのツールなんじゃないかと思っていて、今回ようやくこれに取り組むための時間を取ることができ、また最低限テストとして意味のある形で組み込むところまでできたので、一区切りとして、その諸々をまとめておきたいと思います。

続きを読む

#コードが動かないので帰れません! を読んだ

拝読しました。お贈りいただき、ありがとうございました!

目次

●第1章 エラーはどうして怖いのか?
1-1 エラーを読んでみよう
1-2 エラーを読まなくなってしまう理由
1-3 エラーに向き合う心構え

●第2章 エラーの上手な読みかた
2-1 エラーの構成要素を知ろう
2-2 エラーの種類を知ろう

●第3章 不具合の原因を効率的に見つけるには?
3-1 デバッグとは?
3-2 プリントデバッグをやってみよう
3-3 二分探索で効率的に探そう
3-4 最小限のコードでデバッグしてみよう
3-5 デバッグをすばやく進めるための考え方

●第4章 ツールを活用してデバッグを楽にしよう
4-1 デバッガは強力なツール
4-2 ブレークポイントを使ってみよう
4-3 いろいろなステップ実行
4-4 条件つきブレークポイント
4-5 変数を監視してみよう

●第5章 どうしても解決できないときは?
5-1 プログラマーのための情報収集テクニック
5-2 エラーが見つからないときは?
5-3 不具合が再現できないときは?
5-4 本番環境のエラー収集方法

●第6章 デバッグしやすいコードを書こう 
6-1 再代入は控えよう
6-2 スコープは可能な限り狭めよう
6-3 単一責任の原則を知ろう
6-4 純粋関数を利用しよう
6-5 型を意識してコードを書こう
6-6 デバッグを助けるテストコード

続きを読む

E2Eテスト自動化のAutify(オーティファイ)に入社しました & ご挨拶も兼ねて OSS を書きました

前職である株式会社はてなの最終出社を2月19日に終え、本日 Autify に入社しました! Autify は、同名のE2Eテスト自動化のSaaSプロダクトを開発・提供しています。

autify.com

さきほど初日としての業務を終えたところです。ありがたいことに、非常に高い期待を掛けてもらっていることをひしひしと感じていて、初日にインプットしてもらえた情報量も半端ないのですが、自分としては慌てず落ち着いてひとつひとつキャッチアップし、できるだけはやめに大きな成果を上げたいなと思っています。

続きを読む