「テストって何をするの?」「QAって何の略?」というところから始めるページです。専門用語はできるだけ使わず、使うときは説明します。最後に、手を動かす練習問題があります。
テストは、作ったものが、決められたとおりに動くかを確かめる作業です。そして、決められたとおりに動かない所(問題)を見つけて、直してもらえるように伝えます。
身近な例で考えてみます。「3,000円以上のお買い物で送料無料(3,000円未満は送料500円)」のネットショップで、1,500円の本をカートに入れたとします。
これが「決められたとおりの動き」です。テストでは、こうした動きを1つずつ確かめます。同じ本を2冊にしたら(ちょうど3,000円で送料無料になる?)、在庫切れの商品を入れようとしたら、数量を0にしたら、といろいろな場合を考えるのがテストの面白いところです。
QAは Quality Assurance(クオリティ・アシュアランス)の略で、日本語では品質保証といいます。
テストとQAは似た言葉として使われがちですが、範囲が違います。
できあがったものを動かして、問題がないか確かめること。
テストを含めて、問題が起きにくい作り方や仕組みを整えること全体。
たとえばQAの仕事には、テスト以外にもこんなものがあります。
現場では、テストを実行する人を「テスター」、品質全体を考える人を「QAエンジニア」と呼ぶことが多いです。ただし会社によって呼び方はまちまちです。
バグは、期待していた動きと、実際の動きが違うことです。現場では「不具合」「欠陥」とも呼びます。
| 期待していた動き | 実際の動き | バグ? |
|---|---|---|
| 1,500円の本を1冊カートに入れると、合計1,500円と表示される | 合計1,500円と表示される | 問題なし |
| 1,500円の本を1冊カートに入れると、合計1,500円と表示される | 合計3,000円と表示される | バグ |
| 合計がちょうど3,000円なら、送料が0円になる | 送料500円が加わる | バグ |
大事なのは、「期待していた動き」が何かを先に知っておくことです。それが書かれているのが仕様書です。仕様書は、作る人とテストする人が「こう動くはず」をそろえるための資料です。
テストは、いきなり触り始めるのではなく、だいたい次の順番で進めます。
初めのうちは、3つ目の「実行」から任されることが多いです。慣れてくると、1つ目・2つ目の「何をどうテストするか考える」部分も任されるようになります。
報告したバグが直ったら、それで終わりではありません。同じ手順でもう一度試して、本当に直ったかを確かめます(確認テスト)。直したことで別の所が壊れていないかも確かめます(リグレッションテスト)。
テストケースは、テストの手順書です。誰が実行しても同じ結果になるように書くのが目標です。最低限、次の3つを書きます。
| 項目 | 書くこと | 例(ネットショップのカート) |
|---|---|---|
| 前提条件 | テストを始める前の状態 | テスト用のアカウントでログインしている。カートは空。「テスト本」(1,500円)の在庫がある |
| 手順 | 何をどの順番で操作するか | ① 「テスト本」の商品ページで「カートに入れる」を押す ② カート画面で数量を「2」に変える ③ 画面に表示される金額を見る |
| 期待結果 | 正しく動いたらどうなるか | 商品の合計3,000円、送料0円、お支払い金額3,000円と表示される |
手順:商品をカートに入れる 期待結果:正しく計算される
手順: ① 「テスト本」(1,500円)をカートに入れる ② 数量を「2」に変える 期待結果:送料0円、お支払い金額3,000円と表示される
「正しく計算される」では、何を見て合否を決めればよいかわかりません。目で見て確かめられることを書くのがコツです。
バグを見つけたら、直す人(開発者)に伝えます。直す人がそのバグを自分でも起こせる(再現できる)ように書くのが一番大事です。
| 項目 | 書くこと |
|---|---|
| タイトル | 何が起きたかを一行で |
| 再現手順 | バグが起きるまでの操作を、番号つきで |
| 期待結果 | 本当はどうなるはずだったか |
| 実際の結果 | 実際にどうなったか |
| 環境 | 使った端末、ブラウザなど |
| 再現率 | 何回試して何回起きたか(毎回/5回中2回など) |
| 添付 | 画面のスクリーンショットや動画 |
送料がおかしいです。
タイトル:商品の合計がちょうど3,000円のとき、送料無料にならない 再現手順: 1. 「テスト本」(1,500円)をカートに入れる 2. カート画面で数量を「2」に変える 期待結果:送料0円、お支払い金額3,000円と表示される 実際の結果:送料500円が加わり、お支払い金額3,500円と表示される (数量を3にすると送料0円になる) 環境:Windows 11 / Chrome、テスト環境 再現率:毎回(3回試して3回とも発生) 添付:カート画面のスクリーンショット
回答を書いて「回答をチェックする」を押すと、できているところと見直すとよいところが表示されます。そのあとで「答えの例を見る」を開いて、自分の回答と比べてみてください。答えは1つではありません。
チェックはこのページの中だけで行います。入力した内容はどこにも送信されず、このブラウザにだけ保存されます。
問題1:次のパスワード入力欄で、どんなことを確かめますか?3つ以上考えてみましょう。
「8文字と7文字」「16文字と17文字」のように、ちょうど境目を試すのがテストのコツです。間違いは境目で起きやすいからです。これは「境界値分析」というテスト技法で、経験者向けのページで詳しく練習できます。
問題2:次のテストケースの、足りないところはどこでしょう?
問題3:次のバグ報告を、伝わる形に書き直してみましょう。
タイトル:検索語に「ー」(長音)が入っていると、検索結果が0件になる 再現手順: 1. トップ画面の検索欄に「コーヒー」と入力する 2. 検索ボタンを押す 期待結果:「コーヒー」を含む商品が表示される 実際の結果:「該当する商品はありません」と表示される (「珈琲」で検索すると表示される) 環境:Windows 11 / Chrome 再現率:毎回
「動かない」だけだと、直す人は何を試せばよいかわかりません。何を入れたら、どうなったかまで書くと、すぐに調べ始められます。
ここまで読めたら、テストの基本はひととおり押さえています。実際の現場では、まずテストケースどおりに実行し、結果を正しく記録・報告する経験を積むのが近道です。
次のSTEP 2では、現場で使われる形の仕様書とテストケースを読み、実際にテストを実行してみます。