回と科目を入れ替える

今回のアップデートでは、新たに「登録販売者試験」への対応を行いました。


このアプリは設計上、「10回分の試験 × 各20科目」を収容できる仕組みになっています。よく「過去20年分対応!」と謳うアプリも見かけますが、個人的には10年分程度がベストだと考えています。


理由は「法令改正」です。私は各試験の専門家ではないため、法改正に合わせてすべての問題や解答を常にアップデートし続けることは現実的に困難です。そのため、「試験実施当時の法令に準じた出題・解答です」という注意書きを入れさせていただいています。


また、一問一答(○×形式)で手軽に解くアプリは多いですが、私のアプリは「本番と同じ形式で受験し、採点までできること」も売りの1つではないかと思っています。


登録販売者試験は、全国が8つのブロック(実質7ブロック)に分かれており、毎年各ブロックで試験が行われます。科目は「章」と呼ばれ、全部で5つあります。


当初、通常の設計通りにデータを入れようとすると、以下のようになります。


令和7年度(7ブロック分) + 令和6年度(3ブロック分) = 計10回分


10回 × 5章 = 50スロットを使用


「これでは少しボリュームが少ないかな…」と考えた私は、思い切って「回」と「科目」を入れ替えることにしました。


5つの章(科目扱い) × 20回分 = 100スロット分の収容が可能


これにより、対応できる問題数が2倍に跳ね上がります。実際には、令和6年度と7年度の全ブロック(7ブロック × 2年 = 14回分)をすべて網羅させることができました。

また「本番と同じ形式で受験し、採点までできること」については「過去問」をシャッフルして配信している「模擬試験」で対応することにしました。


「回と科目を入れ替えるだけ」と書くと簡単そうに聞こえますが、実際に手をつけてみると、内部システムで予期せぬバグが次々と噴出しました。


「これで完成だ!」と思って触っていると、「ここも対応できていない」「あっちも表示がおかしい」といった状況が続き、まさにモグラ叩きのような修正作業でした。


なんとか修正を終え、ようやく申請までこぎつけましたが、今でも「どこかに予期せぬバグが潜んでいないか」と気が気ではありません。