こんにちは!
タスク管理アプリもある程度開発が進んだので、テスト方法について調べていきます!
上記を見ていきましょう!
アプリ開発においてテストを行う理由
アプリのリリース前にテストを行う理由は次の2点です。
エラーを無くすため
アプリ開発をしている方は理解ができると思いますが、とんでもなくエラーが出ます。
そのため、テストをして発生する可能性のあるトラブルを事前に確認し、エラーを避けることができるのが、テストです。
エラーが存在したままリリースをしてしまうとクレーム対応や修正作業に追加費用と労力がかかってしまうので、個人単位でなく企業単位で考えるととんでもない損失になりかねないので、ダメージを最小限に抑えるためにも必要な工程です。
品質の向上
適切なテストを実施することでアプリの品質を向上させることができます!
品質が低い製品を市場に出すと、顧客満足度が低下し、それが広範囲にわたる普及の妨げにもなります。
したがって、品質の向上は業績に直接影響する重要な要素!
しかも入れたアプリが使いにくかったり、エラーばっかり出るアプリだと、すぐアンインストールして再ダウンロードしないと思うので、最初もかなり重要
テストの重要度がわかったと思うので、テストの種類を見ていこう!
アプリ開発におけるテストの種類
アプリ開発のテストには大きく分けて「単体テスト」「結合テスト」「システムテスト」の3つがあります。それぞれのテスト内容について簡単に解説します。
1.単体テスト(ユニットテスト)
単体テスト(ユニットテスト)は、各プログラムの機能が正確に動作するかを確認するテストです。
クラスや関数で設計通りに機能するか、論理構造が適切かどうかを確認するテストです。
単体テストはモジュール結合をする前段階で行うので、問題点があっても修正がしやすいのが特徴。
開発全体のバグがあとから発覚し、修正するのは大変だけど、単体テストの段階で問題を発見できれば修正コストを大幅に削減できる!!
モジュールとは、ソフトウェアを構成する部品のこと
小分けにされた部品ごとにテストを行うイメージ
2.結合テスト
結合テストは、単体テストで検証した複数のプログラムを同時に稼働させて行うテストです。
結合テストを行うには単体テストがすべて終了していることが前提!
結合テストでは単体でのテスト項目はほとんど行わず、動作を確認し、操作と機能動作の組み合わせが適切か、仕様書通りの仕上がりになっているかどうかを念入りにチェックするテスト!
3.システムテスト(総合テスト)
システムテストは単体テスト、結合テストを終えたあとの最終段階のテストです。
すべてのプログラムとハードウェアを合わせてシステムを全体的にチェックし、開発した通りにシステムが機能するか、仕様書通りの性能要件を満たしているか、本番と同じ使用環境でさまざまな角度から確認するテスト
開発段階では見えなかったバグや、ハードウェアの環境に関連する不具合を見つけることができます!
今回は、大規模システムでないし、案件入っても単体テストが一番行うと思うので、単体テストの方法を学んでいきます!
単体テストの方法
今Javaでアプリ開発をしているので、Javaのテスト方法を調べてみたよ!
今紹介した、フレームワークやライブラリを使用して、テストを行います。
JavaではJUnitが一番主流なので、JUnitを使用しましょう!
下記サイトがJUnitのやり方を細かく紹介しているので、こちらを参考に作成していきましょう!
おおまかに説明すると手順は下記
上記をテストで行い、品質向上をしていきます。
次回の記事は、JUnitを実際に使った記事を作成するので、お楽しみに。