QAエンジニアのNakamuraTomo386です。 2022年5月に一人目のQAエンジニアとして入社しました。 この記事ではQAチームの立ち上げから現在の課題、今後どのようにしていくか書いています。
スマートショッピングで発足した「QA/SETチーム」 QA(Quality Assurance)は品質保証を意味し、SET(Software Engineering in Test)はコードの品質やテストのカバレッジに注目した職種です。
マニュアルテストは自動化されていない、人の手によって実行されるテストです。機能の迅速なリリースのためにはマニュアルテストは欠かせません。 精度の高いテストを実施するためには適切なテスト設計が必要になります。あたりまえのことですが、仕様が明確に決まっていないとテスト設計をすることができません。 開発の早い時期から参加することで、仕様バグ・設計バグ・曖昧な仕様などに早く気がつくことができ、手戻りを減らすと同時に高品質なテスト設計に着手することができます。
まずはじめに実際にやったことは各プロダクトのミーティングに参加し”質問すること”入社直後は既存仕様の把握にも時間がかかっており、新しく実装されることが既存機能にどれだけ影響があるのか把握するのが課題でした。ちょっとした疑問でもすぐに解消していくことで理解が早まったと思います。 また、新たにわかったことやテスト実施作成や実施時に疑問に思いそうなことは閲覧できる資料としてまとめるようにしました。
機能仕様書に書かれていることをそのまま記載しテスト設計を行うと失敗することがよくあります。実際に取り得る値を考え、特に結果が変わる境界値付近は注意します。
ユーザーがどのような目的で行動するかも考えながらテスト設計しないと確認する機能に抜け漏れが発生します。
感覚的にざっくりしているので、スマートマットクラウドの場合は具体的に何を確認しなければいけないのか今後まとめていきます。
QA活動を継続して行うことで、QAチームにはナレッジが蓄積されていきます。現在はほとんどできていないことですが、このナレッジを活かして機能仕様策定の段階での手戻りをなくし、高品質で高速なプロダクト開発に貢献していきたいと考えています。
開発者が行うテストとQAエンジニアが行うテストは見る視点が異なります。意図した動作をするかはとても大切なことですが、ユーザーが求めていることを実現できているかを考慮しテストを実施します。
スマートマットクラウドのテスト実施で一番苦労した部分はテスト環境を整えることです。
実物のマットを使ってテストを実施する場合もありますが、マットの異常系の試験では実際にマットを壊したり、電池残量を任意の値にすることは難しかったため、マット重量データなどはAPIテストを行いました。他の試験でもAPIテストはよく使っています。
具体的にどのような手順を行えば目的のテストが実施できるか最初は手探りの状態だったので現物のマットに詳しい人、バックエンドエンジニア、それぞれに話を聞きテスト環境を構築していきました。
不具合を修正するためには適切な不具合報告が必要になります。最近あった失敗例 - 1つの不具合を報告したつもりが2つだった - 記載した前提条件などが不明確でやりとりが無駄に多くなった
1つの不具合報告で複数の事柄をまとめて報告してしまうと、修正漏れや確認漏れが非常に起こりやすいのでやめましょう。やりとりをしている途中で複数の不具合に気がついた場合は別の報告として新たに報告する形にしたいと思います。
実際にあったこのような失敗を回避するために、自分の中では不具合報告のルールがありますが、現状共有できていないので不具合報告のテンプレートを作成し、ルールを共有したいと思います。
リグレッションテスト(回帰テスト)としてE2Eテストを実施しています。スマートマットクラウドの基本的な機能はE2Eテストで担保しています。 現状私は、E2Eテストのメンテナンスを十分にできていないので、できるようにしていくことが目標となっています。技術的な課題です。
現状はまだまだ適切なテスト作成や、仕様策定へのフィードバックなど十分にはできていない状態です。なぜ失敗したのか、なぜ抜けや漏れがあったのかをその都度考え改善していきたいと思います。 不具合が発生するケースを学び、テスト工程でどれだけ不具合を防ぐことができるのかが大事になります。