ブログリレー6日目】こんにちは。クオリティアシュアランス(QA)チームの今井(@tak-imai-m3)です。QAはプロダクトマネージャーやエンジニアなど様々な方々と仕事をしていますが、具体的な業務内容のイメージが湧かないという声を聴くことがあります。自分も同様の質問を先日いただきました。各フェーズにおいてどのような思考で業務をしているのかをご紹介できればと思います。下流工程でのQA業務がイメージされ易いことは承知しておりますが、上流工程におけるQA業務とその重要性についてもご紹介できればと思います。一般的な開発工程として、「V字モデル」や「W字モデル」などがあります。「W字モデル」の一般的な図は下記のようなものですね。このモデルでは、左側のフェーズが主に上流工程、右側のフェーズが下流工程となっております。こちらのモデルを参考にまずは上流工程でのQA業務について解説します。自分が担当しているサービスのチームでは、月に十数本のプロジェクトが企画されています。プロジェクトの概要説明と承認後の開発にどれだけの工数を要するのかを確認する場が設けられます。ここでQAが担っている役割とは?想定されるリスクや懸念点を予想できないか弊社のガイドラインなどに沿った形でプロジェクトが企画されているか。新規のガイドラインを規定する必要があるかプロジェクト開発の規模感を概算し、QA業務に要する工数はどのくらいかリスクや懸念点に関しては、主に下記のようなものを想定しています。法務部門などへ事前に確認しておくべき法的なリスク企画を悪用されることで損害が発生するリスク既に展開中の他プロジェクトに対して与える悪影響ユーザ体験に影響を与える企画の場合、想定されるマイナスの影響リスク「システム仕様」に対する「仕様テスト」プロジェクトが経営会議で承認を貰いますと、次にプロダクトマネージャーさんがシステム仕様を作成されます。ここでQAが担っている役割とは?どのようなパラメータが記載されているか条件や状態によって、どのような期待値が設定されているか仕様に記載されていない行間を読み、考慮不足の条件や状態、パラメータなどがないか「システム設計」に対する「テスト設計」ここまでは、QAとして成果物と呼べるものは発生していません。エンジニアさんがシステム設計のフェーズに入りますと、QAは「テスト設計」として「品質計画書」の作成に着手します。「品質計画書」には主に下記の内容を記載しています。下流工程でのQA業務エンジニアさんたちのコーディング、コードレビューが完了しますと、いわゆる下流工程としてのQA業務が始まります。下流工程では、いかに作りこまれてしまったバグを見つけ出すかが重要になってきます。我々QAが上流工程で作成した「品質計画書」をベースにして作成をしていきます。ここで意識していることは、「テストケースでどれだけ網羅性を高めることができるか」です。裏を返せば「どれだけ事前に想定する範囲を広げられるか」だと考えています。テスト実行とはいえ、QA業務の性質上、開発後半での作業となるため、リリースまでの期日やQA業務に従事するリソースによって、すべてのテストが実施できない事態も想定されます。時には「どれを確認するか」「どのテスト対象を除外したら、プロダクトに影響はないか」などを考えます。不具合報告テスト実行をしてる際に、多種多様な「欠陥」が検出されます。ISTQBでは、「欠陥」は以下の4つに分類され、定義されています。これを報告することを「不具合報告(インシデントレポート)」としています。報告の際には改修されるエンジニアさんに分かりやすく、必要な情報の提供が重要になってきます。自分が意識していることは下記の点です。全てのテスト実行や不具合の改修確認が完了したら、テスト結果を関係者に報告します。我々のチームでは、下記の実施をもってテスト結果報告としています。本番環境にリリース後は、変更箇所を中心に最終確認をします。何か大きな問題が発覚した時には、緊急の対応をすることになります。リリース後から短期間での発覚が重要になってきます。その他アジャイル開発におけるテストエムスリーでは、リリース頻度が比較的高く、短期間での品質確保が要求されます。アジャイルテストと言われるテストケースに沿った形でのテスト実行ではない手法を用いることがあります。「探索的テスト」というテスト手法があります。事前に固定的にテストケースを作成せずに、プロダクトの振る舞いを見ながら柔軟にテストの内容を作成、調整していく方式です。重要な箇所やQA担当者が不審に感じた箇所を集中的にテストすることができるため、欠陥を発見する効率も良いとされています。知識量や経験値に関係なく、欠陥を見つけるセンスに長けているメンバーの方もおり、そういったセンスがある方は羨ましいと思うことがあります。テスト自動化テストケース作成の範囲外となるテストとして、エムスリーではリグレッションテスト(標準テスト)を適切なタイミングで実施しています。手動で実施するのではなく、自動テストを実施しています。エムスリーでは、seleniumやmablなどのツールを駆使して、テスト自動化の実現を目指しています。上流工程で紹介した作業などは、事前に不具合の作り込みを防いだりなどの効果があり、こちらも重要な作業であります。今回ブログの中で紹介した内容を含めて、エムスリーのQAでは様々な活動をしております。結果、まだまだ道半ばではありますが、良い感じの品質保証活動が達成できていると実感しております。hiring!エムスリーでは品質技術に興味のある方、mablに限らず自動テストに興味のある方、不思議と不具合をピンポイントで引いてしまう方、など様々なQAエンジニアを募集しています。QAチームの...2022-03-31スモークテストのテストケースを1から作り直したお話こんにちはエンジニアリンググループの森内です。決勝に参加しますこんにちは。9注目記事はてなブログをはじめよう!m3techさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。