TomoProgの技術書

底辺プログラマーが達人プログラマーになるまで

ソフトウェアテスト技法を学んでみた Part1 【そもそもソフトウェアテストって何だろう?】

皆さん
こんにちは、こんばんは
TomoProgです。

こちらをメインに書くとか言っておきながら、ほぼ書いていませんでした。

というのも、こちらをメインに書くと言ったすぐにQiitaの会社アカウントが出来たので、結局書くときはQiitaに書いてたという言い訳をかましておきます。

それはさておき、会社でudemyのソフトウェアテスト技法についての講座を購入したので、今日からソフトウェアテスト技法について学んだことをこのブログに書いていこうかと思います。
講座のリンクは下に貼っておきます。

Part1は「そもそもソフトウェアテストって何だろう?」ということで書いていこうと思います。

それでは頑張っていきましょう。

ソフトウェアテストって何だろう?

テスト工程は結構経験しているのですが、改めて言われると難しいですね。

私はひねり出してこれくらいの言葉しか出てきませんでした。
「ソフトウェアをテストして、正しく動いているのかどうかを確認すること。」
すごく抽象的な気がします・・・。

今回受講した講座ではソフトウェアテストを次のように定義しています。
ある特定の条件下においてソフトウェアの振る舞いを記録し、その記録を期待される結果と比較・検証するプロセスである

中々難しいですね。もう少し簡単に次のようにも言ってくれています。
開発者の意図したとおりにプログラムが動くのかをいくつかの具体的なテストケースを用いて検証し、期待通りに動かない箇所(バグ)をへらすプロセスである

こう聞くと、私達プログラマーが日頃やっているテスト工程だと思えてきました。

ソフトウェアテストはなぜ行うのだろうか

これもまた難しい質問です。

何年も経験してくるとそもそも何なのかとかなぜやっているのかという最も重要なことを考えなくなってきて、機械的にやってしまいがちですが、一度考えて見ようと思います。

  • ソフトウェアが正しく動いていることを保証したい。
  • リリースされたソフトウェアにバグがあれば、ユーザーが減ってしまう。
  • バグがあると顧客から会社への信頼がなくなる。

とりあえず思いついたことを上げてみたらこんなくらいしか出てきませんでした・・・。

今回受けた講座では、
ソフトウェアテストはソフトウェアの品質を上げるために行うもの
だと言っています。

どうやって品質を上げていくのか

基本的にはテストケースが多ければ多いほど安心できるため、複数のテストケースを用意することで品質を上げていきます。
しかし、考えられるすべての組み合わせをテストすることは現実的に不可能なので、少しでも多くのバグを見つけられるようにテストケースを用意していく必要があります。

まとめ

ソフトウェアテストについて講義資料を見ながら改めて考えてみました。
当たり前にやっていることをそもそも何なの?と考えると意外と答えられないものです。

次は具体的な技法について学んで書ければと思います。

それではまた。

TomoProg

TomoProg (TomoProg) · GitHub

TomoProg (@tomoprog_xxx) | Twitter

  • はじめてのソフトウェアテスト技法【全てのエンジニアが知るべき最重要テスト技法を、丁寧な解説と演習問題で身につけよう】

https://www.udemy.com/course/software-test-design/