0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Geminiで2〜4週間!JSTQB ALTM対策iOSアプリを個人開発した話

0
Posted at

Geminiで2〜4週間!JSTQB ALTM対策iOSアプリを個人開発した話

はじめに

「JSTQB Advanced Level Test Manager(ALTM)の試験対策アプリがない……」

そう気づいたのが、このアプリを作ったきっかけです。

App Storeを探しても、ALTMに特化したアプリは1つも見当たりませんでした。だったら自分で作ろう、と。Google Geminiをフル活用して、2〜4週間でiOSアプリをリリースするところまで持っていきました。

この記事では、Geminiをどう活用したか詰まったところ実際に使ってみての所感を共有します。同じようにJSTQB対策に悩んでいる方や、AIを使った個人開発に興味がある方の参考になれば嬉しいです。


作ったもの:JSTQB ALTM 合格対策ノート

**「JSTQB ALTM 合格対策ノート」**というiOSアプリです。

機能は大きく「学習 & インプット」と「演習 & アウトプット」の2軸で構成しています。

学習 & インプット系

機能 内容
📖 テキスト学習 シラバス全3章の要点まとめ。第1章〜第3章まで章ごとに選択して学習できる
🃏 単語帳 ALTMの重要用語をカード形式で暗記。スキマ時間に最適
🎧 シラバスを聴く 耳で覚えるリスニング学習。通勤・移動中に使える

演習 & アウトプット系

機能 内容
❓ 練習問題 総合問題・章別問題の2モード。解説付き
✅ 弱点克服 間違えた問題を重点的に反復演習

進捗管理

学習データ分析画面では、章ごとに以下をリアルタイムで確認できます:

  • 単語暗記率(例:27語中何語覚えたか)
  • 演習正解率(例:10問中何問正解したか)
  • 総合達成率(円グラフで可視化)

苦手な章が一目でわかる設計にしました。


なぜGeminiを選んだか

Claude、ChatGPT、Geminiを比較しましたが、Geminiを選んだ理由は主に2つです。

  1. 長いコンテキストウィンドウ:JSTQBのシラバス全文をそのまま渡せる
  2. 無料枠でもパワフル:個人開発のコスト感覚に合っていた

特にシラバスのPDFを丸ごと読み込ませて「この章から問題を作って」と指示できたのは、長文処理能力の高さが効いていました。


Geminiの活用方法

1. 問題文・解説の生成

これが一番の活用です。JSTQBのシラバスは英語版・日本語版ともに公開されていますが、そこから試験に出やすい形式の問題を自動生成させました。

プロンプトはこんな感じです:

# 指示
以下のシラバスの内容をもとに、JSTQB ALTM試験形式の4択問題を5問作成してください。

## 条件
- 正解は1つ
- 誤答の選択肢は「惜しい」ものにする(単純な誤りではなく、混同しやすいもの)
- 各問題に100〜200字の日本語解説を付ける
- テストマネジメントの実務経験者が引っかかりやすい問題にする

## シラバス該当箇所
(ここにシラバスのテキストを貼り付け)

出力品質にはかなり満足しています。特に「惜しい誤答」の生成精度が高く、そのまま使えるものが多かったです。

2. Swiftコードの生成・補助

iOSアプリはSwiftで開発しましたが、Swift歴は深くありません。Geminiには以下のような使い方をしました:

  • 雛形コードの生成:「学習進捗をChapterごとに集計して表示する画面を実装して」
  • バグの原因調査:エラーメッセージをそのまま貼り付けて解説してもらう
  • リファクタリング提案:「このコードをより読みやすくして」
// Geminiが生成したコードを参考に実装した進捗記録の例
struct ChapterProgress {
    let chapterId: Int
    let chapterName: String
    var vocabularyMemorized: Int
    var vocabularyTotal: Int
    var exerciseCorrect: Int
    var exerciseTotal: Int
    
    var totalRate: Double {
        let vocabRate = vocabularyTotal > 0
            ? Double(vocabularyMemorized) / Double(vocabularyTotal) : 0
        let exRate = exerciseTotal > 0
            ? Double(exerciseCorrect) / Double(exerciseTotal) : 0
        return (vocabRate + exRate) / 2.0
    }
}

100%そのまま使えるわけではないですが、ゼロから書くより圧倒的に速いのは確かです。


詰まったところ

問題の正確性チェック

Geminiが生成した問題は、稀にシラバスの解釈がズレているものが含まれていました。機械的に信用せず、シラバス原文と照らし合わせる作業は必須でした。

AIが生成したコンテンツのQAを人間がやる、という皮肉な構図ですが——テスト屋的にはむしろ「品質保証とはそういうものだ」と腑に落ちる経験でした笑。

App Storeの審査

初回申請では指摘を受け、修正して再申請しました。審査対応の文面作成もGeminiに相談しながら進めました。


開発を終えて

2〜4週間でリリースまで持っていけたのは、間違いなくGeminiのおかげです。特に問題・解説というコンテンツ生成をAIに任せられたことで、本来最もコストがかかる部分を大幅に短縮できました。

JSTQB ALTMは受験者数が多くないニッチな試験です。だからこそ対策ツールが少ない。「ちょうど受験を考えている」という方に、少しでも役立てれば嬉しいです。


最後に:ぜひ使ってみてください

App Storeで 「JSTQB ALTM」 と検索、または以下のリンクから直接アクセスできます(現在このアプリが唯一のALTM専用アプリです)。

👉 JSTQB ALTM テストマネージャ問題集・対策ノート

使ってみた感想・改善要望などあれば、App Storeのレビューやこのコメント欄で教えていただけると大変励みになります。問題の追加・機能改善に直接反映させていきます。

ALTM受験を目指している方、一緒に頑張りましょう!


関連リンク


Tags: iOS Swift 個人開発 Gemini 生成AI JSTQB ソフトウェアテスト 資格勉強 AppStore

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?