アカウント名:
パスワード:
1回動かしたらわかるだろうが
1回めの動作では分からないでしょ。
以前に使用したアドレスまで本文に追加してしまうってバグだから、最低2回は動かさないと。で、本文に無関係な送付先のアドレスが追加されていることをチェックしなきゃいけなかった。だから気づかなくて当然。何十回か動作すれば本文が異常に大きくなっているからそこで気づいたかもしれないが、自分だったら自信ないなあ。そもそも送信先が正しく変更されることしかチェックしないだろうし、何十回も動作確認したりはしない。
このバグは本文に宛先のアドレスを転記する処理で、転記元のバッファを動作毎にクリアすべきなのにしてなかったとか、そのレベルだと思われます。なので動作確認のテストで発見することは期待できないでしょう。決まった本文を送るだけなら本文に影響するような処理は作らない(から今回の問題は起きない)し、宛先に応じて本文を加工するならそのロジックを検証するテストが個別に必要。今回はそれができてなかったという事ではないでしょうか。
1回テストするにも、ツールの性質上複数アドレスは用意してテストするでしょ
事象も誤解して長々書いてるけど、この人色んな意味で大丈夫?
ユニットテストで一括送信部分のテストが抜けていたのなら、1つのアドレスにしか送らないということもありうる。そして今回はそうだったと。こういうセキュリティに関わる部分はテストすることを明確にすべきですね。全体のカバレッジを見るのではなくて。
ユニットテストはプログラムの作りに依存するので、一括送信時の動作という観点でのテストは(ユニットテストでは)実施出来ない可能性もあります。
その場合でも複数アドレスの入力受け取り、分割して返すメソッドなど別の個所でNGになるはずですが、処理をきっちり分割出来ていなかったりとユニットテストに向かないコーディングをしてれば、いくらでもすり抜ける可能性はありますね。その場合、ユニットテスト自体の意味がほとんどなくなりますが、元々ユニットテストはある程度のプログラミングスキルが無いとまともなテストは出来ないものです。(どちらかと言えば、テストとは言うもののプログラミングの一部)
その場合でもちゃんとテストしてれば、他のテストフェーズで今回のケースは検出出来たはず。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
Let's debug (スコア:0)
1回動かしたらわかるだろうが
Re: (スコア:0)
1回めの動作では分からないでしょ。
以前に使用したアドレスまで本文に追加してしまうってバグだから、最低2回は動かさないと。
で、本文に無関係な送付先のアドレスが追加されていることをチェックしなきゃいけなかった。だから気づかなくて当然。
何十回か動作すれば本文が異常に大きくなっているからそこで気づいたかもしれないが、自分だったら自信ないなあ。
そもそも送信先が正しく変更されることしかチェックしないだろうし、何十回も動作確認したりはしない。
このバグは本文に宛先のアドレスを転記する処理で、転記元のバッファを動作毎にクリアすべきなのにしてなかったとか、そのレベルだと思われます。なので動作確認のテストで発見することは期待できないでしょう。
決まった本文を送るだけなら本文に影響するような処理は作らない(から今回の問題は起きない)し、宛先に応じて本文を加工するならそのロジックを検証するテストが個別に必要。今回はそれができてなかったという事ではないでしょうか。
Re: (スコア:0)
1回テストするにも、ツールの性質上複数アドレスは用意してテストするでしょ
事象も誤解して長々書いてるけど、この人色んな意味で大丈夫?
Re:Let's debug (スコア:0)
ユニットテストで一括送信部分のテストが抜けていたのなら、1つのアドレスにしか送らないということもありうる。そして今回はそうだったと。
こういうセキュリティに関わる部分はテストすることを明確にすべきですね。全体のカバレッジを見るのではなくて。
Re: (スコア:0)
ユニットテストはプログラムの作りに依存するので、
一括送信時の動作という観点でのテストは(ユニットテストでは)実施出来ない可能性もあります。
その場合でも複数アドレスの入力受け取り、分割して返すメソッドなど別の個所でNGになるはずですが、
処理をきっちり分割出来ていなかったりとユニットテストに向かないコーディングをしてれば、
いくらでもすり抜ける可能性はありますね。
その場合、ユニットテスト自体の意味がほとんどなくなりますが、
元々ユニットテストはある程度のプログラミングスキルが無いとまともなテストは出来ないものです。
(どちらかと言えば、テストとは言うもののプログラミングの一部)
その場合でもちゃんとテストしてれば、
他のテストフェーズで今回のケースは検出出来たはず。