ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
数あるソフトウェアテストの種類の中でも、開発側が最後に行うのがシステムテスト(総合テスト)です。システムテストによって、ソフトウェアに求められる要件を満たしているか検証される必要があります。
このテストが無事に完了すれば、ソフトウェアのリリースや顧客への引き渡しが行われることから、重要な役割を担っていると言えるでしょう。この記事ではシステムテストとはどんなものかや、どのような種類があるかを解説しています。
システムテストとはソフトウェア開発の最終段階で実施される、ソフトウェア全体に対する総合的なテストのことです。個々のモジュールをテストする「単体テスト」、複数モジュールの組み合わせをテストする「結合テスト」に続いて行われます。
システムテストの目的は、求められる要件をソフトウェアが満たしているか検証することです。システムテストによって、実際にユーザーがソフトウェアを利用したときに、要件通り動作することが確認されなくてはなりません。そのためシステムテストは本番とできるだけ同じ環境で、ユーザーの実際の利用を想定しながら多角的に行うことが必要です。
システムテストにより、これまでの開発環境でのテストでは発見できなかったバグが検出されることもあります。本番で実際に利用されるハードウェア環境に関わる不具合が発見されることも少なくありません。
まずテストベースとは、テストを実際にどのように行うかをまとめた「テストケース」作成時に、その情報源となるもののことです。たとえば仕様書を参考にテストケースを作成した場合、仕様書がテストベースとなります。
システムテストにおいては、様々なものがテストベースとして採用されます。その主な例としてあげられるのが以下の通りです。
一口にシステムテストと言っても複数の種類(テストタイプ)があります。ここでは、その中でも覚えておきたい機能テストと非機能テストについて解説します。
機能テストは文字通りソフトウェアの各機能に関するテストですが、単純に動作をチェックするだけでは足りません。テスト対象となる個々の機能が、仕様書等で定義された役割をきちんと果たせているかを検証する必要があります。言い換えると、テスト対象の機能が要件を本当に満たしているかを確かめるテストということです。
非機能テストとは、ソフトウェアの「機能以外」をチェックするテスト全般を指します。何をもって「機能以外」とするかの定義は非常に広くなりますが、代表的な種類(テストタイプ)としては以下があげられます。
ユーザビリティテスト | ソフトウェアの使いやすさ(理解しやすさ/ユーザビリティ)を検証するテスト |
---|---|
セキュリティテスト | 仕様書にセキュリティに関する項目がある場合に、各機能がそのセキュリティレベルを満たしているか検証するテスト |
障害許容性テスト | 障害発生時に、各機能が求められる役割を果たせているか検証するテスト |
性能テスト | ソフトウェアの各性能(処理能力・稼働率等)が、要件を満たしているか確認するためのテスト |
負荷テスト | テスト対象の各機能が、過負荷の状態でも求められる役割を果たせているか検証するためのテスト |
※ソフトウェアテストに求められる内容によっては、ここにあげた以外の「非機能」が検証される場合もあります。
システムテストはソフトウェアが組みあがった状態で、ソフトウェア全体に対して行われます。そのため検証すべき機能は多岐にわたりますが、上位の機能からテストすると、バグ発見時に原因の切り分けが難しくなります。様々な下位機能が関連すると考えられることから、疑うべき箇所が多くなってしまうためです。
そのためソフトウェアの基本的な機能(最低限必要となる機能)から、テストを開始することが推奨されます。その方がバク発見時にチェックすべき項目が少なくなり、原因の切り分けが簡単です。
また基本的な機能にバグがないことが検証された状態で、より上位の機能を検証すれば、原因を疑う対象から基本機能を外せます。バグが発見された際には、原因を特定しやすくなるのです。
システムテスト(総合テスト)によって、開発したソフトウェアが求められる要件を満たしているか検証します。そのため本番と同じ環境で、実際にユーザーが利用するシーンを想定して実施することが必要です。
システムテストによって、これまでの単体テストや結合テストで発見されなかったバグが検出されること少なくありません。ソフトウェアテストの種類のなかでも、重要な役割を担うテストといえるでしょう。
ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【5.テストマネジメント編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【4.テスト分析と設計編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【3.静的テスト編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【2.ソフトウェア開発ライフサイクル編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【1.テストの基礎編】JSTQB Foundation Levelシラバスの最新バージョンが公開!具体的な変更点まとめ
ソフトウェアテスト
【0.イントロダクション編】JSTQB Foundation Levelシラバスの最新バージョンが公開!具体的な変更点まとめ
ソフトウェアテスト
JSTQB FLの最新版シラバスが公開!ChatGPTに聞いた変更点の概要とは?
ソフトウェアテスト
ソフトウェアテストにおけるレビューとは?進め方についても解説
ソフトウェアテスト
【2024年最新】ソフトウェアテストにかかわる人必見!JSTQB認定テスト技術者資格とは?
ソフトウェアテスト
テスト技法一覧と選び方、おすすめのツールについて解説
ソフトウェアテスト
テスト管理ツールとは?概要とメリット、よく使われる種類まとめ