Wantedly(ウォンテッドリー)はたらくを面白くするビジネスSNS
Wantedlyは、運命のチームや仕事に出会えたり、人脈を広げ、ビジネスの情報収集に使えるビジネスSNSです。
https://www.wantedly.com/companies/company_3056942/post_articles/4559822
こんにちは、イチアール株式会社人事担当です。
近年、プログラミングが一般的になってきました。
プログラミングでコードを記述したときに必要になるのがテストです。
本記事では、そんなテストのうちの一つである総合テストについてご紹介していきます。
総合テストは、システムテストとも呼ばれるテストのことです。エンドユーザーが実際に使用することを想定してテストを行います。
一般的には、開発の最終工程で行われ、開発したシステムが想定通りに作動するか、設計書通りの性能や機能を備えているか、予期せぬバグや不具合がないかなどについて検証します。
様々な観点からテストを行うことでバグや不具合だけでなく、改善することでより使いやすくなる点なども見つけることができます。
総合テストで検証する内容は、主にシステム同士の連動やデータの受け渡しや入力、出力が問題なくできているかなどです。細かい要件や精度は、あらかじめクライアントからもらえる要件定義書や仕様書を参考にして決めていきます。
総合テストでは、プログラムやモジュール同士でのデータの受け渡しがうまくできているか、タイミングがずれていないか、記載したコードの記述は問題がないかなどをユーザーの目線になって検証します。
ユーザーが実際に使うときにバグやエラー、不具合が起きないようにユーザー目線になって行います。
システムテストは、単体テストで検証した、プログラミングやモジュールなどの連携が問題なく行われているかやデータの受け渡しのタイミングが意図したタイミングで行われているかなどを検証するテストです。
システムテストと呼ばれることもあり、エンドユーザーが実際に使用することを想定して行われるテストです。エンドユーザーを想定して検証を行うので、開発時には気づきにくかったことや意図していない不具合やバグを見つけやすくなります。
また、クライアントから提示される指示書や要件書を満たす品質にするために、改善できるものがあれば不具合やバグなどと一緒に修正します。
運用テストと総合テストの大きな違いは、テストの内容とタイミングです。
総合テストはプログラミングやモジュールが問題なく機能しているかを検証するテストの後に行われます。対して、運用テストは、すべてのテスト工程の中でも最後に行われます。テストの内容も大きく違います。
総合テストでは、プログラミングやモジュール同士の連動やデータの受け渡しについてテストを行います。運用テストでは、開発者が想定していない操作を行い、システムがどのように動くかを検証します。テストの例として、システムを起動させたまま電源を切る、データを保存せずシステムを終了するなどがあげられます。
結合テストとは、複数のプログラム(コンポーネント・モジュール)が正しく連携するかどうかを検証するテストです。
結合テストは、複数のコンポーネント間の連結を検証する「コンポーネント間統合テスト」とコンポーネントと他のシステムやソフトウェア、ハードウェアとの連携を検証する「システム統合テスト」があります。総合テストとの違いは、テストを行う環境です。結合テストでは、開発をした環境やテスト用の環境で行います。総合テストでは、原則として本番の環境でテストを行います。
アプリケーションのテストだけでなく、ハードウェアやOS、開発言語などの組合せによるバグやエラー、不具合を確認することができます。
総合テストでは、ユーザーが使用することを考えて様々な目線で検証をしないといけません。観点を大きく分けて6つ紹介します。
①可用性
システムやサービスをユーザーが継続的に使用することができるかを検証します。運用や更新、障害が起きた際の復旧などに関してもこの項目で検証します。
②機能性・拡張性
処理速度やデータ量、アクセス数が多い時にどのくらい不可がかかるかを検証します。また、将来的にシステムを拡張や新機能を追加する際に対応がしやすいかどうかも考える必要があります。
③運用性・保守性
システムを運用していく際にバックアップなどにかかる時間や処理速度などを検証します。運用監視やシステム切り替えについても考慮が必要です。
④移行性
システムを新しいものに移行させるときにかかる時間や移行方法、データの管理などについて検討します。その際に、機能を追加したときのことも考慮しましょう。
⑤セキュリティ
セキュリティ診断や利用制限などは、仕様書や要件書通りにできているかを検証します。また、不正使用や不正利用などがあった場合には、ログを取るなどして監視ができるかも検証します。
⑥システム環境・エコロジー
システムを設置している環境の検証です。耐震や免震などの自然災害だけでなく、温度や湿度、スペースなどの設置環境の検証も必要です。電源の電流値や電圧のチェック、停電が起きた際のバックアップなどの考慮も必要です。
新しいソフトウェアを開発する際に必要なテストですが、その種類はたくさんあります。必要な物を取捨選択し、最善な物を選び使うようにしましょう。
イチアールは、未経験から開発エンジニアを一歩を踏み出す人をサポートする会社です。
ぜひ、未経験から一緒にエンジニアを目指しませんか。
ご興味がある方は、ぜひ気軽にお話を聞きに来てください!