質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

解決済

7回答

1250閲覧

デバッグの頻度について

a.com

総合スコア907

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

0クリップ

投稿2021/08/02 12:16

プログラムを修正したあとの確認やデバッグをする頻度はどのくらいが望ましいのでしょうか?
ブラウザみたいな巨大なプログラムの場合は
確認する頻度はかなり少ないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/08/02 12:19 編集

いまいち意味不明です あなたの言うデバッグの頻度とはどういうことでしょうか。 また、この質問は何のためにやってるもんなんでしょうか
a.com

2021/08/02 12:21

ソースコードを変更したら正しいか確認しますよね?それの頻度を指しています。 理由は開発スピードを速くしたいからです。
Zuishin

2021/08/02 12:24

普通、自動テストを組みます。
guest

回答7

0

頻度なんてのは「必要だと思ってデバッグした結果」であって、最初から「望ましい頻度」なんてものを設定するもんじゃない。

でファイナルアンサー。

投稿2021/08/02 13:38

gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Python処理系の場合、ソースコードにはテストセットが同梱されていて、

$ make test

を実行することで誰でもテストを実行できます。このテストには数時間かかります。

世界中でPythonをビルドする人は日々それなりの数がいますし、その中にはmakte testを行う人も一定の割合でいます。
世界中で一日ごとにに10回以上だと推定しても決して多すぎはしないでしょう。一日ごとに1000回以上テストされていても不思議ではありません。

オープンソースの場合にはそういうものです。

投稿2021/08/02 12:37

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

いろいろな条件を列挙して、その場合に望む結果になっているかを確認するのが テストです。
そして、望む結果でなかった(バグ) 場合に、それを修正するのがデバッグです。

質問を、どの程度までの条件網羅をするか? と言い直すとよいかもしれません。

例えば
2つの数字のwサリ残プログラムなら、 0 / 1, 1 / 1, .... 一兆 / 一兆 など と無限に条件があります。
普通は 10 / 2 = 5 を試すぐらいですますだけかもしれません

コンピュータの世界では、桁落ちとかオーバーフローなど数値処理にはいろいろ癖があります。
1 / 0、 10 / 3, 100 兆 / 0.000000001
などの場合どうなるかをテストすることが必要なこともあります。

プログラムコードはたくさんの行があります。
テストでは実行されなかった行があり、実際の利用時に初めてその行が実行され、そこで 書式エラーなどが発生することもあります。
すべての行を一度は実行させるといったテストも求められるかもしれません。

https://natgeo.nikkeibp.co.jp/atcl/web/17/121100020/020200005/?P=2
ハイフンの見落としで打ち上げ失敗… NASAの教訓

投稿2021/08/03 22:46

編集2021/08/03 22:47
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

修正したあとの確認やデバッグというのは、プログラミングの仕方によって頻度や方法が異なるので、一概にこのくらいとは言いにくいです。

例えば、テスト駆動開発といった考え方でプログラミングした場合、修正箇所に少しでも関係がありそうなテストプログラムをすべて走らせたりします。

継続的インテグレーションみたいな感覚で言うと、実運用されているプログラムを裏方で少しでも修正したら、実稼働環境がアップロードされる前に全てのテストが走ったりします。

最初の質問にあるような「ブラウザ」という話だと、類推ですが、Chromeの開発現場などでは、当然のようにCIツールや、テストライブラリといったものが利用されていると思います。そのため、1行書き換えただけでも、自動でそれに関係するテストプログラムが実行されでしょう。

そのような環境では、「プログラムを書き換える=ある程度のテストプログラムが走る」になると思います。そのテスト結果によって、NGになったとき、どこが原因でNGなのか?というデバッグ作業を行うことでしょう。

ただ、すべての開発現場で、テストを実行しているのか?というと、昔ながらの「書いては動かしてみるスタイル」のデバッグ=テストと考えているところもあるでしょう。そういったところでは、認識が違うと思います。

「開発スタイルによる。」が結論な気がします。

投稿2021/08/02 17:18

ShortArrow

総合スコア141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もし「頻度」が作業範囲的な意味だとしたら「工程による」かなあ。
バグ内容によっても違ってきますが…
まあ、その影響範囲を局所化するために、みなさん工夫されていると思いますけどね。
それがひいては開発スピードの向上に寄与するのではないでしょうか?
(ただ、実際はそのへんだけが原因でもないでしょうがね)

投稿2021/08/02 12:39

takasima20

総合スコア7464

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

何かソースを修正したら、必ず直ちに動作確認するでしょう。それがすなわちデバッグです。頻度などという概念が介在する余地はありません。修正とデバッグは一体不可分です。

投稿2021/08/02 12:28

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

a.com

2021/08/02 12:40

例えば関数を新しく追加する場合 全部書いてから確認するのか、 途中で確認するのか、そのような頻度を指しています。
guest

0

コードが正しく動くまで、無制限に、無期限に行うもんです。
頻度などというものを設定するもんではありません

投稿2021/08/02 12:23

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問