はじめに
JSTQB Foundation Level試験について、名前は聞いたことあるけど開発エンジニアには関係なさそうと思い、はじめは特に資格取得に向けて勉強することは考えていませんでした。
しかし実際に業務でテストチームと協働し、バグレポートの読み方・テスト設計の考え方を理解してからは、設計や実装時の意識が変わりました。JSTQBは「テスト専門職のための資格」ではなく、開発者がプロダクト品質を語るための共通言語です。
この記事では、開発エンジニアという視点から、JSTQB Foundation Level(FL)の試験範囲・効果的な学習法・試験当日のコツまでをまとめます。
JSTQBとは? 3分でわかる概要
JSTQB(Japan Software Testing Qualifications Board) は、国際的なソフトウェアテスト資格「ISTQB」の日本版です。
| 項目 | 内容 |
|---|---|
| 試験レベル | Foundation Level(FL)/ Advanced Level |
| 出題形式 | 4択・40問・60分 |
| 合格基準 | 65%以上(26問正解) |
| 受験料 | 約22,000円(税込) |
| 試験方式 | CBT(テストセンター受験) |
| 最新バージョン | シラバス v4.0(2023年改訂) |
Foundation Levelは通年実施されており、独学でも十分に合格を狙える難易度です。
開発エンジニアがJSTQBを取るメリット
1. テスト設計の引き出しが増える
自動テストを書くとき、ついつい「正常系だけ」になっていませんか? JSTQBで学ぶ同値分割・境界値分析を知ると、テストケースの抜け漏れが格段に減ります。
# 例:年齢入力バリデーション(有効範囲 18〜65歳)
# 境界値分析を意識すると...
it { expect(user).to be_valid if age == 18 } # 有効境界値(最小)
it { expect(user).to be_valid if age == 65 } # 有効境界値(最大)
it { expect(user).not_to be_valid if age == 17 } # 無効境界値
it { expect(user).not_to be_valid if age == 66 } # 無効境界値
2. QAチームとの会話が変わる
「このバグはリグレッションでは?」「スモークテストは通ってますか?」——こうした会話についていけると、チーム内での信頼度が上がります。
3. 転職・昇進で差がつく
QA・SET(Software Engineer in Test)領域へのキャリアシフトを考えるなら、JSTQBは最初の一歩として有効です。
シラバス v4.0 の全体マップ
最新のv4.0は6章構成で、旧版(v3.1)からアジャイル・テスト分析に関する記述が大幅に強化されています。
Chapter 1: テストの基礎
├─ 1.1 テストとは何か?
├─ 1.2 なぜテストが必要か
├─ 1.3 テストの原則
├─ 1.4 テスト活動、テストウェア、そして役割
└─ 1.5 テストに必要不可欠なスキルとよい実践例
Chapter 2: ソフトウェア開発ライフサイクル全体を通してのテスト
├─ 2.1 コンテキストに応じたソフトウェア開発ライフサイクルでのテスト
├─ 2.2 テストレベルとテストタイプ
└─ 2.3 メンテナンス(保守)テスト
Chapter 3: 静的テスト
├─ 3.1 静的テストの基本
└─ 3.2 フィードバックとレビュープロセス
Chapter 4: テスト分析と設計 ← 最重要
├─ 4.1 テスト技法の概要
├─ 4.2 ブラックボックステスト技法(同値分割・境界値・決定表など)
├─ 4.3 ホワイトボックステスト技法(命令・分岐カバレッジ)
├─ 4.4 経験ベースのテスト技法(探索的テストなど)
└─ 4.5 コラボレーションベースのテストアプローチ
Chapter 5: テスト活動のマネジメント
├─ 5.1 テスト計画
├─ 5.2 リスクマネジメント
└─ 5.3 テストモニタリング、テストコントロールとテスト完了
Chapter 6: テストツール(約15%)
├─ 6.1 テストのためのツールによる支援
└─ 6.2 テスト自動化の利点とリスク
エンジニアが刺さる頻出テーマ5選
① テストの7原則(Chapter 1.3)
毎回2〜3問は出ます。必ず全部覚えてください。
- テストは欠陥があることは示せるが、欠陥がないことは示せない
- 全数テストは不可能
- 早期テストで時間とコストを節約(シフトレフト)
- 欠陥の偏在(パレートの法則)
- テストの弱化(同じテストを繰り返すと欠陥を見つけられなくなる)
- テストはコンテキスト次第
- 「欠陥ゼロ」の落とし穴
② V字モデルとアジャイルのテスト(Chapter 2.1)
| テストレベル | 対応する開発フェーズ(V字) |
|---|---|
| 単体テスト(コンポーネントテスト) | 詳細設計 |
| 統合テスト | 基本設計 |
| システムテスト | システム設計 |
| 受け入れテスト | 要件定義 |
単体テストが「詳細設計」に対応するというマッピングは、どの言語・フレームワークでも共通です。日頃書いているユニットテストがどのレベルに相当するか意識するだけで、理解が一気に深まります。
③ 同値分割と境界値分析(Chapter 4.2)
最も出題頻度が高いテスト設計技法。境界の内側・外側・境界値そのものを意識することが核心です。「開発エンジニアがJSTQBを取るメリット」の部分でも載せたコード例を参考にしてください。
④ ステートメントカバレッジとブランチカバレッジ(Chapter 4.3)
def discount(age)
if age < 18 # 分岐1
return 0.5
elsif age > 65 # 分岐2
return 0.3
else
return 1.0
end
end
- ステートメントカバレッジ100%:全行を少なくとも1回通過させる
- ブランチカバレッジ100%:全分岐(true/false両方)を通過させる → より強力
⑤ 探索的テスト(Chapter 4.4)
「事前にテストケースを作らず、テストの設計・実行・学習を同時に行う」アプローチ。アジャイル開発との相性が良く、v4.0で重要度が上がっています。
合格への3ステップ学習ロードマップ
Step 1:シラバスを読む(1週間)
公式シラバスv4.0はJSTQBのWebサイトから無料でダウンロードできます。まず全体を流し読みして、章の構成と専門用語に慣れましょう。
参考書としては以下がおすすめです。
- 『ソフトウェアテスト教科書 JSTQB Foundation』(翔泳社):シラバス完全対応で解説が丁寧
Step 2:章別ドリルで弱点を潰す(2〜3週間)
シラバスを読んだら、すぐにアウトプットに移ります。読んでいるだけでは問題形式に慣れず、本番で点が取れません。
💡 ご紹介
私が作った QAドリル というサービスでは、シラバスv4.0に準拠したオリジナル問題を無料で解くことができます。
- 章(1.1, 1.2...)単位で絞り込んで弱点集中攻略
- ランダム出題で記憶定着を強化
- 正答率を章別に可視化
市販の問題集では少ない「長文シナリオ問題」や「応用寄りの設問」も収録しているので、ぜひ活用してみてください。
Step 3:模擬試験で時間感覚を掴む(1週間)
40問・60分は意外と余裕があります。ただし慣れていないと見直しの時間が取れないため、本番前に時間を計って模擬試験を解く練習が必須です。
QAドリルの模擬試験機能では、問題数(10〜50問)・種別(完全ランダム/間違えた問題のみ/特定章)を自由に設定できます。
試験当日のTips
- 「テストは欠陥ゼロを保証しない」系の設問は、原則として「できない・不可能」な選択肢が正解
- **「〜でないものはどれか」**という否定形の問題は読み飛ばしやすいので注意
- 2択に絞ったら消去法で確認。JSTQBは素直な出題が多いので、引っかけ選択肢はそれほど難解ではない
- 60分で40問 = 1問1.5分。見直し含め10分残るペースで進む
まとめ
| フェーズ | 期間 | アクション |
|---|---|---|
| インプット | 1週間 | シラバスv4.0 + 参考書を通読 |
| アウトプット | 2〜3週間 | 章別ドリルで弱点を繰り返し解く |
| 仕上げ | 1週間 | 模擬試験×3回以上、見直し |
合計4〜5週間あれば、開発エンジニアでも十分に合格圏内に入れます。
テスト設計の知識はコードを書く上でも直結して役立つので、勉強が無駄になることはありません。ぜひ挑戦してみてください!