アカウント名:
パスワード:
アプリのコードは問題ないように見えるのに意図した通りに動かないのは、OSやライブラリ(ときにはプロセッサ)のバグに起因していた、なんてのもよくある話。
炎上してるのは、「それでもちゃんとテストしてれば、はじけたはずだろ」ってことと、「ユーザーからバグ報告が上がってるのに放置すんなよ」ってことやね。
だれかやつらに「テスト駆動開発」について教えてやってくれ。
普通の事と断言するほどに発生頻度が高く普通の事と断言するほど予防できず見逃しも多い、と。。
こんなのテストしても原因わからんよ。
テストに幻想抱きすぎだよな仕事は段取りってよく言うように実装用の設計時に品質はだいたい決まる
うむ、この手の奴はテストではまず見つけられんな。(本番障害が出て初めてわかる。)見つけるには、実装するとき関数のドキュメントをちゃんと読んで実装すること。この手の動作はたいてい注意書きが書いてあるから、それを読まずに他のライブラリと同じだろとか思って使うとバグったりする。
# まあフレームワーク自体のバグであったなら、ドキュメント読んでも解決しないが。
今回の問題を聞いて、PerlによるCGIが大流行していた古の時代に、「適切にロックできていなくて、同時アクセスでファイルが壊れるアクセスカウンタ」が世にはびこっていたのを思い出しました。
ユーザーコードなら、目に入れば「これ怪しい」って気づくこともできるだろうけど、フレームワーク自体にこんな問題があるとは思いもしないよなぁ…
普通にテストで分かるだろう。ファイル更新の前後でアプリ落として、再起動するだけの簡単なテストなんだから。ファイル障害や通信障害のテストとかやった事無いのか?
ファイル削除からリネームの間にかかる時間って通常ならミリ秒とかだろうテストで見つけるのは難しいと思うな
こんなのはフレームワーク側で処理すべきたとえば、設定ファイル無し正常なtmpありなら軽い警告出してリネームすればいいだけ
要するにフレームワークの設定ファイル読み込み部のポカだ
//これをコメントアウトしておかないとなぜか動かない
原因なんてどうでもいい。動けばいいんだよ。
テストが足りてなかったのはXamarinの開発者だよ。元記事読んでないの?
このストーリで扱ってるのは「Android版で接触通知が行われない」不具合ではなく、「iPhoneにも使用日数が数日毎にリセットされる」不具合なので話がかみ合ってないようだな。
そういう単語を持ち出すのは、その手法や技術の限界や弱点などもある程度理解してからにして欲しいな。
私はガラケーやスマホの開発したことないけどTDDはユニットテストやらリグレッションテスト(自分のコードの)との親和性高くて一方実機テスト(他人のコードの)との親和性低いんじゃないのかなあ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
エンバグするというのは、ソフト開発では普通の事 (スコア:0)
アプリのコードは問題ないように見えるのに意図した通りに動かないのは、
OSやライブラリ(ときにはプロセッサ)のバグに起因していた、なんてのもよくある話。
炎上してるのは、
「それでもちゃんとテストしてれば、はじけたはずだろ」ってことと、
「ユーザーからバグ報告が上がってるのに放置すんなよ」ってことやね。
だれかやつらに「テスト駆動開発」について教えてやってくれ。
Re: (スコア:0)
普通の事と断言するほどに発生頻度が高く
普通の事と断言するほど予防できず見逃しも多い、と。。
Re: (スコア:0)
こんなのテストしても原因わからんよ。
Re: (スコア:0)
テストに幻想抱きすぎだよな
仕事は段取りってよく言うように実装用の設計時に品質はだいたい決まる
Re: (スコア:0)
うむ、この手の奴はテストではまず見つけられんな。
(本番障害が出て初めてわかる。)
見つけるには、実装するとき関数のドキュメントをちゃんと読んで実装すること。
この手の動作はたいてい注意書きが書いてあるから、それを読まずに他のライブラリと同じだろとか思って使うとバグったりする。
# まあフレームワーク自体のバグであったなら、ドキュメント読んでも解決しないが。
Re:エンバグするというのは、ソフト開発では普通の事 (スコア:1)
今回の問題を聞いて、PerlによるCGIが大流行していた古の時代に、
「適切にロックできていなくて、同時アクセスでファイルが壊れるアクセスカウンタ」
が世にはびこっていたのを思い出しました。
ユーザーコードなら、目に入れば「これ怪しい」って気づくこともできるだろうけど、
フレームワーク自体にこんな問題があるとは思いもしないよなぁ…
Re: (スコア:0)
普通にテストで分かるだろう。
ファイル更新の前後でアプリ落として、再起動するだけの簡単なテストなんだから。
ファイル障害や通信障害のテストとかやった事無いのか?
Re: (スコア:0)
ファイル削除からリネームの間にかかる時間って通常ならミリ秒とかだろう
テストで見つけるのは難しいと思うな
こんなのはフレームワーク側で処理すべき
たとえば、設定ファイル無し正常なtmpありなら軽い警告出してリネームすればいいだけ
要するにフレームワークの設定ファイル読み込み部のポカだ
Re: (スコア:0)
//これをコメントアウトしておかないとなぜか動かない
原因なんてどうでもいい。動けばいいんだよ。
Re: (スコア:0)
テストが足りてなかったのはXamarinの開発者だよ。元記事読んでないの?
Re: (スコア:0)
このストーリで扱ってるのは「Android版で接触通知が行われない」不具合ではなく、「iPhoneにも使用日数が数日毎にリセットされる」不具合なので話がかみ合ってないようだな。
Re: (スコア:0)
そういう単語を持ち出すのは、その手法や技術の限界や弱点などもある程度理解してからにして欲しいな。
Re: (スコア:0)
私はガラケーやスマホの開発したことないけど
TDDはユニットテストやらリグレッションテスト(自分のコードの)との親和性高くて
一方実機テスト(他人のコードの)との親和性低いんじゃないのかなあ