アドベントカレンダーの5日目当番のQAグループ @takashios です。
新プロジェクトは、従来のプロジェクトよりも進化したやり方でテストケースが作成されていますので、簡単に紹介します。
#1. ツールが新しい
元々はQAメンバー全員でTestlinkを使っていたのですが、使いにくいという声もあり廃れてしまいました。
そこで、新プロジェクトの始動を機に、便利そうなツールに変えてみました。
今の新プロジェクトではコレを使っています。
- TestRail(テストケースを書き溜めるところ。テスト実行でも使用する。レポート機能は…使いこなしたい)
- スプレッドシート(主に、テストパターン検討やデシジョンテーブルに使用)
- Redmine(Bugを報告するところ。TestRailと連携させている)
#2. テスト駆動開発
今までの仕様説明は開発チームと同じタイミングで受けてましたが、現在はテスト駆動開発に向けて、先にQAが仕様説明を受けてテストケースを作成しています。その後に開発チームに共有するやり方に挑戦しようとしています。
これにより、以下のメリットがあるのではないかと思っています。
- 仕様の疑問点を解決
- 振る舞いが未確定な動作を明確化(実装を判断するエンジニアが、その場にいたらいいなぁ)
- テスト観点から、必要な影響範囲を再確認する
- 重要なテストの優先度や粒度の調整を行う
- テストケースができているので、テストの自動化にも繋げることができそうな予感
#3. テストの種類を増やした
他プロジェクトではCPM法に近い機能テストのみでしたが、現在のところは以下の3つです。
他に必要なテストの種類があれば、随時検討して追加していきます。
- UATテスト(受入要件を満たしているかどうかをテストする)
- 機能テスト(各機能を詳細にテストする)
- APIテスト(API自体を動作テストする)
#4.テストケース完成までの工程が厚くなっている
従来のやり方
(できる人も弊社に存在してます)
- 仕様説明&確認
- テストケース作成
- テストケースレビュー(レビューする人:QA)
###新しいやり方
- 仕様説明&確認
- テスト分析(観点の洗い出し。CPM法にならないこと。漏らさないこと。)
- 観点レビュー(レビューする人:QA、企画)
- テスト設計(テストパターンの作成や、デシジョンテーブル等の作成)
- テストケース作成
- テストケースレビュー(レビューする人:QA、企画、開発)
#5.救いの手がある
仕様説明を受けた後に工数を見積もりすると、QAの作業は開発の倍以上も時間がかかっていることがわかりました。
具体的な時間のかかる理由は以下の点です。
- 新規プロジェクトの場合は、基本的にテストケースを新しく作っていくので時間がかかる
- 影響範囲のケースも漏れなくピックアップして、修正するので時間がかかる
- テストケースの漏れがないように、自分以外の人にテストケースのレビューをしてもらうので時間がかかる
新プロジェクトのチームは、1機能の開発〜テスト完了まで短いスプリントで終えるのを目標としています。
QAの作業待ちで遅れそうな状況の中でも完了まで漕ぎつけているのは、手の空いた開発のメンバーから「テスト実行やりますよ」という 救いの手 を何度も差し延べて貰えているからです。
個人的には、入社以来初の感動の大事件です。チームワークって凄いですね。
今後は救いの手の為に、更にわかりやすいテストケースを作成しようと思います。 (`・ω・´)キリッ
#6.苦しんでいるところ
それでもまだまだ未熟な部分もあり、色々苦しんでいます。
前向きに取り組んでいきたいと思ってますが、良いアイデアがあったら教えてください。
- 一箇所入力するとあちこちの値が変化するので、どこからどこまでを確認するのかを一瞬で判断をつける
- 最初に書いたテストケースと、最近書いたテストケースの語調が違うこと(酷い時には日によって違うことも。。内容には影響はなくても気になる)
- テストケースの観点が漏れてる気がする→調べてみてやっぱり… をなくし、カンに頼らないようになりたい
- Sectionをうまく使って、テストケース個々のPreconditionsの内容が多すぎることを解決したい
#7. E2Eテストの自動化の状況
まだUIが確定していないため、準備中です。
いつか紹介できるといいなと思います。
以上です。
では、またいつかお会いしましょう。
弊社では、現在QAメンバーの募集をしております。
一緒に取り組んでいただける方は、ご一報くださいませ。
https://www.wantedly.com/companies/www-a-saas/projects