TT Lab
はじめる
学ぶ 学習パス コース

見知らぬシステムの前で

症状を数字で固定する

TT Labで続きを見る

目標

「たまにうまくいきません」という報告を、20分以内に測定値と反証可能な仮説に変えられるようになります。

なぜ重要なのか

顧客はバグレポートをくれません。苦痛のレポートをくれます。それを測定可能な問題に変えるのは、完全にこちら側の仕事で、その最初の道具が再現コマンドです。失敗率を数字で固定した瞬間、2つのことが生まれます。1つ目は、顧客と同じ事実を見られるようになることです。2つ目は、あとで「直した」と言うための物差しができることです。物差しなしで直したものは、直ったかどうかがわかりません。

次が仮説ですが、ここには規則が1つあります。間違っていたときに何が見えるかが決まっていなければ、仮説ではありません。「ネットワークの問題のようだ」は、どんな結果が出ても生き残るので、候補を減らせません。死にうる文だけが調査範囲を絞ります。そして除外したものを書いておかないと、30分後に自分がすでに消した候補を、もう一度確認していることになります。

ステップ

  1. /root/hypothesisディレクトリを作成してください。
  2. /opt/app/flaky.pyを実行して、127.0.0.1:8001で応答するようにしてください。
  3. /quoteを連続20回呼び出し、200以外の応答の数を/root/hypothesis/baseline.txtに書いてください。
  4. その失敗率をパーセントの整数で/root/hypothesis/rate.txtに書いてください。記号なしで、数字だけです。
  5. 失敗した応答の本文の文字列を/root/hypothesis/reason.txtに保存してください。
  6. /root/hypothesis/h1.mdに、가설:、맞다면:、틀리면:の3行が入った仮説を書いてください(それぞれ韓国語で「仮説」「正しければ」「誤りなら」を意味する語です)。
  7. /root/hypothesis/ruled_out.txtに除外したレイヤーを書いてください。各行はnetwork、auth、app、dataのどれかで始まり、根拠を添えます。最低2行です。
  8. /quoteを連続40回呼び出して、失敗の回数を/root/hypothesis/confirm.txtに書いてください。

参考

仮説の作業ディレクトリを作る

/root/hypothesisディレクトリを作成してください。

除外リストと仮説の文書を1か所に集めます。あとでレポートの半分になります。

見積もりAPIを起動する

/opt/app/flaky.pyを実行して、127.0.0.1:8001で応答するようにしてください。

/opt/app/flaky.pyをpython3で実行すると、127.0.0.1:8001で待ち受けます。シェルを占有しないように、後ろに&を付けてください。

20回呼び出して失敗の回数を数える

/quoteを連続20回呼び出し、200以外の応答の数を/root/hypothesis/baseline.txtに書いてください。

curlの-o /dev/null -w '%{http_code}'の組み合わせなら、ステータスコードだけが出ます。seqで20回繰り返し、200以外のものを数えてください。

失敗率をパーセントで書く

その失敗率をパーセントの整数で/root/hypothesis/rate.txtに書いてください。記号なしで、数字だけです。

形容詞を数字に変えるステップです。20回中何回かを、パーセントの整数に直して、記号なしで書いてください。

失敗した応答の本文を確保する

失敗した応答の本文の文字列を/root/hypothesis/reason.txtに保存してください。

ステータスコードだけを見ても、なぜ失敗したのかはわかりません。-o /dev/nullを外して、応答の本文をそのまま受け取ってみてください。

反証可能な仮説を書く

/root/hypothesis/h1.mdに、가설:、맞다면:、틀리면:の3行が入った仮説を書いてください(それぞれ韓国語で「仮説」「正しければ」「誤りなら」を意味する語です)。

仮説、正しければ、誤りならの3行が必要です。3行目が書けないなら、それはまだ仮説ではなく感覚です。

除外したレイヤーを記録する

/root/hypothesis/ruled_out.txtに除外したレイヤーを書いてください。各行はnetwork、auth、app、dataのどれかで始まり、根拠を添えます。最低2行です。

network / auth / app / dataのうち、これまでに確認して消したレイヤーを最低2つ、それぞれなぜ消したかとともに書いてください。

同じ物差しで測り直す

/quoteを連続40回呼び出して、失敗の回数を/root/hypothesis/confirm.txtに書いてください。

ランダムなのか規則的なのかは、標本を増やすと見分けがつきます。40回で測り直して、比率が保たれているかを確認してください。