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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ユニットテスト

ユニットテストは、システムのテスト手法の一つで、個々のモジュールを対象としたテストの事を指します。対象のモジュールが要求や性能を満たしているか確認する為に実行します。

Q&A

解決済

2回答

1112閲覧

単体テスト・デバッグ・結合テストの違いについてがわかりません。

Mr.JJJ

総合スコア10

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ユニットテスト

ユニットテストは、システムのテスト手法の一つで、個々のモジュールを対象としたテストの事を指します。対象のモジュールが要求や性能を満たしているか確認する為に実行します。

0グッド

0クリップ

投稿2022/11/12 06:05

単体テストとデバッグの違いについて

単体テストとデバッグの違いが判りません。
現在、ウェブエンジニアとして仕事をしております。(1年目)

先日、新規画面作成を任され、作成が完了したのですが、
単体テストの粒度がわからず、困っております。

単体テストについてGoogleで調べてみると、新規作成した関数だったりが
機能していることを単体テストとしているような旨が記載されておりました。
ただ、それはデバッグ作業に該当するものだと思っております。

完成後に仕様書通りの機能が動いているかのテストは、
単体テストではなく「結合テスト」に該当するのでしょうか?

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

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

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

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

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

Zuishin

2022/11/12 07:09

会社の誰も知らないので代表して聞いているんですか?
guest

回答2

0

ベストアンサー

一般的には単体テストは、プログラミングのUnit単位のテストですので、関数やクラスなどを動かして、動作確認することを指します。
場合によっては、テストフレームワークを使ったり、単体テストのテストケースを紙に書いたりして、プロジェクト内で管理されます。
テストの手法(テストフレームワークを使うとか紙に書くなど)や、粒度は、プロジェクトごとに策定され、テスト計画書に記載されます。

一方で、デバッグはDe-bugであり、バグを取り除く作業の事を指します。
または、IDEなどのデバッグ機能(ステップ実行など)を指す場合もあると思います。

ですので、単体テストとデバッグは別の作業ということになります。

テストの粒度で困っているということですが、一般的には、単体テストは完全なテストすることを目標にするべきだと思います。
ただ、プロジェクトの品質管理やテスト方針がテスト計画で決められているなら、そちらに従う必要がありますので、テスト計画書を確認してみて、もしも計画がなければ、PMやプログラムリーダーに、テストの粒度について相談すると良いかも知れません。

また、テストについて本格的に勉強してみたいということであれば、数は少ないですが、ソフトウェアテストについての書籍などがありますので、こういうのを読んでみると良いかもしれません。

https://www.amazon.co.jp/dp/B093Q13V96/

投稿2022/11/15 00:39

編集2022/11/15 00:43
take88

総合スコア1373

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

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

Mr.JJJ

2022/11/27 08:19

非常にわかりやすいご回答ありがとうございました。 大変参考になりました。
guest

0

回答

会社や現場によってテスト粒度や成果物の定義は異なるので、上長(や場合によっては取引先)に確認する以外に正解にたどり着く方法は存在しません。
上長に相談しましょう。
(相談しても回答してくれないなら、残念なことに正解にたどり着く方法は存在しません。)

一般論

単体テストについてGoogleで調べてみると、新規作成した関数だったりが
機能していることを単体テストとしているような旨が記載されておりました。
ただ、それはデバッグ作業に該当するものだと思っております。

システムエンジニアリングにおける「テスト」は、
「後から他者が確認、再検証可能な形で実施され、後工程に対して前工程として要求される要件をクリアしたことを保証するもの(=品質保証テスト)」くらいの意味合いを持つことが多いです。

一方でデバッグは、開発において機能を満たしているかを確認、修正する一連の作業です。

デバッグが完璧であればテストもクリアするという点ではやっていることが重なる部分も多いのですが、
両者は目的が違うので、別工程として個別に実施されるのが望ましいです。

実施内容も完全には重なりません。
例えば、テストには修正は含まれませんし、
デバッグは他者が再検証出来るようなエビデンスを残す必要はありません。

完成後に仕様書通りの機能が動いているかのテストは、
単体テストではなく「結合テスト」に該当するのでしょうか?

これは完全にその開発現場/チームによって変わるので、一般論ですら回答が出来ません。

投稿2022/11/14 05:12

tanat

総合スコア18713

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問